Skip to content

Commit fd2da87

Browse files
committed
Merge branch 'main' into tr-run-exclusive
2 parents c04ca3d + 5a63c36 commit fd2da87

File tree

804 files changed

+3162
-3120
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

804 files changed

+3162
-3120
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.mill linguist-language=Scala

.github/actions/setup-android/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ runs:
1111
with:
1212
log-accepted-android-sdk-licenses: false
1313
cmdline-tools-version: 11076708
14-
packages: tools cmdline-tools;latest platform-tools emulator system-images;android-35;google_apis_playstore;x86_64
14+
packages: cmdline-tools;latest platform-tools emulator system-images;android-35;google_apis_playstore;x86_64
1515

1616
- name: Enable KVM group perms
1717
run: |

.github/workflows/publish-docs.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ jobs:
2020
env:
2121
REPO_DEPLOY_KEY: ${{ secrets.REPO_DEPLOY_KEY }}
2222
MILL_STABLE_VERSION: 1
23+
# Disable scaladoc annotations when publishing the docsite since they clutter
24+
# up the generated scaladoc
25+
MILL_DISABLE_SCALADOC_ANNOTATION: 1
2326

2427
steps:
2528
- uses: actions/checkout@v4

.github/workflows/run-tests.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ jobs:
139139
install-sbt: true
140140

141141
- java-version: 17
142-
millargs: "'libs.{main,jvmlib,testrunner,vcs,androidlib,graphviz,init,tabcomplete}.__.test'"
142+
millargs: "'libs.{util,javalib,androidlib,graphviz,init,tabcomplete}.__.test'"
143143
install-android-sdk: false
144144
install-sbt: true
145145

@@ -222,7 +222,7 @@ jobs:
222222
install-sbt: false
223223

224224
- java-version: 11
225-
millargs: "'integration.{failure,feature,ide}.__.packaged.daemon'"
225+
millargs: "'integration.{failure,feature,ide}.__.native.daemon'"
226226
install-android-sdk: false
227227
install-sbt: false
228228

@@ -265,7 +265,7 @@ jobs:
265265
# * One job each for local/packaged/native tests
266266
# * At least one job for each of fork/server tests, and example/integration tests
267267
- java-version: 11
268-
millargs: '"libs.{main,jvmlib}.__.test"'
268+
millargs: '"libs.{util,javalib}.__.test"'
269269
install-sbt: false
270270

271271
- java-version: 11
@@ -277,7 +277,7 @@ jobs:
277277
install-sbt: true
278278

279279
- java-version: 17
280-
millargs: "'integration.{feature,failure}.__.packaged.nodaemon'"
280+
millargs: "'integration.{feature,failure}.__.native.nodaemon'"
281281
install-sbt: false
282282

283283
- java-version: 24 # Run this with Mill native launcher as a smoketest
@@ -325,3 +325,11 @@ jobs:
325325
buildcmd: |
326326
set -eux
327327
./mill -i mill.scalalib.scalafmt.ScalafmtModule/scalafmt --check + __.fix --check + mill.javalib.palantirformat.PalantirFormatModule/ --check + mill.kotlinlib.ktlint.KtlintModule/checkFormatAll
328+
mima:
329+
needs: build-linux
330+
uses: ./.github/workflows/post-build-raw.yml
331+
with:
332+
java-version: '17'
333+
buildcmd: |
334+
set -eux
335+
./mill -i __.mimaReportBinaryIssues

.scalafmt.conf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ project {
2727
# don't try to format files that are purposefully malformed / misformatted
2828
"glob:**/example/scalalib/linting/1-scalafmt/src/Foo.scala",
2929
"glob:**/example/**/*-spotless*/**",
30-
"glob:**/jvmlib/test/resources/checkstyle/**",
30+
"glob:**/javalib/test/resources/checkstyle/**",
3131
"glob:**/init/test/resources/giter8/hello.g8/src/main/g8/build.mill",
32-
"glob:**/jvmlib/test/resources/javalib/palantirformat/**",
32+
"glob:**/javalib/test/resources/javalib/palantirformat/**",
3333
"glob:**/integration/failure/parse-error/**",
3434
"glob:**/testkit/test/resources/example-test-example-project/build.mill",
35-
"glob:**/jvmlib/test/resources/scalafmt/**",
36-
"glob:**/jvmlib/test/resources/spotless/**"
35+
"glob:**/scalalib/test/resources/scalafmt/**",
36+
"glob:**/scalalib/test/resources/spotless/**"
3737
]
3838
}
3939

build.mill

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//| mill-version: 1.0.0-RC3
1+
//| mill-version: 1.0.0-RC3-31-eb2d11
22
//| mill-jvm-opts: ["-XX:NonProfiledCodeHeapSize=250m", "-XX:ReservedCodeCacheSize=500m"]
33
//| mill-opts: ["--jobs=0.5C"]
44

@@ -68,9 +68,6 @@ def millLastTag: T[String] = Task {
6868
def millDownloadPrefix = Task {
6969
s"${Settings.mavenRepoUrl}/com/lihaoyi/mill-dist"
7070
}
71-
def millDownloadUrl = Task {
72-
s"${millDownloadPrefix()}/${millLastTag()}"
73-
}
7471

7572
def millDownloadUrlCurrent = Task {
7673
s"${millDownloadPrefix()}/${millVersion()}"

changelog.adoc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2450,7 +2450,7 @@ The API is suspected to change before a 0.10.0 releae.*
24502450

24512451
_Changes since {prev-version}:_
24522452

2453-
* `ScalaModule with PublishModule`: the `scala-library` artifact is now always part of the dependencies in published ``pom.xml``s and `ivy.xml`s
2453+
* `ScalaModule with PublishModule`: the `scala-library` artifact is now always part of the dependencies in published ``pom.xml``s and ``ivy.xml``s
24542454
* New `JavaModule.mandatoryMvnDeps` target to provide essential dependencies like scala-library without forcing the user to call `super.mvnDeps`
24552455
* `ScalaJSModule.scalaLibraryMvnDeps` no longer contains the scala-js-library, but only the scala-library; if you need that, use `ScalaJSModule.mandatoryMvnDeps` instead.
24562456
* `import $ivy` support `$MILL_BIN_PLATFORM` variable and a new sort notations for external plugins
@@ -2890,7 +2890,7 @@ and the {link-compare}/0.5.2\...0.5.3[list of commits]._
28902890
_2019-10-17_
28912891

28922892

2893-
* `TestModule`: new `testCached`target, which only re-runs tests after relevant changes
2893+
* `TestModule`: new `testCached` target, which only re-runs tests after relevant changes
28942894
* `TestModule.test`: fixed issue when stacktraces have no filename info
28952895
* `Dependency/updates`: fixed issue with reading stale dependencies
28962896
* `GenIdea/idea`: no longer shared output directories between mill and IntelliJ IDEA
@@ -3161,7 +3161,7 @@ _2018-05-20_
31613161

31623162
* Add `mill clean` ({link-pr}/315[315]) to easily delete the Mill build caches for specific targets
31633163

3164-
* Improve IntelliJ integration of `MavenModule`s/`SbtModule`s' test folders ({link-pr}/298[298])
3164+
* Improve IntelliJ integration of ``MavenModule``s/``SbtModule``s' test folders ({link-pr}/298[298])
31653165

31663166
* Avoid showing useless stack traces when `foo.test` result-reporting fails or
31673167
`foo.run` fails
@@ -3185,7 +3185,7 @@ _2018-04-10_
31853185

31863186
* Remove need for running `publishAll` using `--interactive` when on OSX and your GPG key has a passphrase
31873187

3188-
* First-class support for `JavaModule`s
3188+
* First-class support for ``JavaModule``s
31893189

31903190
* Properly pass compiler plugins to Scaladoc ({link-issue}/282[#282])
31913191

ci/mill-bootstrap.patch

Lines changed: 243 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,243 @@
1+
diff --git a/build.mill b/build.mill
2+
index c87279ddc31..ab3f79762c0 100644
3+
--- a/build.mill
4+
+++ b/build.mill
5+
@@ -10,12 +10,12 @@ import millbuild.*
6+
//import com.github.lolgab.mill.mima.Mima
7+
import coursier.maven.MavenRepository
8+
import coursier.VersionConstraint
9+
-import mill.vcs.VcsVersion
10+
+import mill.util.VcsVersion
11+
//import com.goyeau.mill.scalafix.ScalafixModule
12+
import mill._
13+
import mill.util.Tasks
14+
import mill.scalalib._
15+
-import mill.jvmlib.api.JvmWorkerUtil
16+
+import mill.javalib.api.JvmWorkerUtil
17+
import mill.scalalib.publish._
18+
import mill.api.SelectMode
19+
import mill.T
20+
diff --git a/contrib/package.mill b/contrib/package.mill
21+
index 82bcca15874..7b019a583a6 100644
22+
--- a/contrib/package.mill
23+
+++ b/contrib/package.mill
24+
@@ -5,7 +5,7 @@ import coursier.maven.MavenRepository
25+
import mill._
26+
import mill.util.Tasks
27+
import mill.scalalib._
28+
-import mill.jvmlib.api.JvmWorkerUtil
29+
+import mill.javalib.api.JvmWorkerUtil
30+
import mill.scalalib.publish._
31+
import mill.util.Jvm
32+
import mill.api.SelectMode
33+
diff --git a/example/package.mill b/example/package.mill
34+
index 78f55ecd24c..34caed3efcb 100644
35+
--- a/example/package.mill
36+
+++ b/example/package.mill
37+
@@ -5,7 +5,7 @@ import coursier.maven.MavenRepository
38+
import mill.*
39+
import mill.util.Tasks
40+
import mill.scalalib.*
41+
-import mill.jvmlib.api.JvmWorkerUtil
42+
+import mill.javalib.api.JvmWorkerUtil
43+
import mill.scalalib.publish.*
44+
import mill.util.Jvm
45+
import mill.api.SelectMode
46+
diff --git a/integration/package.mill b/integration/package.mill
47+
index 7f1e9cd2894..0040ffa3b5f 100644
48+
--- a/integration/package.mill
49+
+++ b/integration/package.mill
50+
@@ -5,14 +5,14 @@ import coursier.maven.MavenRepository
51+
import mill._
52+
import mill.util.Tasks
53+
import mill.scalalib._
54+
-import mill.jvmlib.api.JvmWorkerUtil
55+
+import mill.javalib.api.JvmWorkerUtil
56+
import mill.scalalib.publish._
57+
import mill.util.Jvm
58+
import mill.api.SelectMode
59+
import mill.contrib.buildinfo.BuildInfo
60+
import mill.T
61+
import mill.api.Cross
62+
-import mill.testrunner.TestResult
63+
+import mill.javalib.testrunner.TestResult
64+
import millbuild.*
65+
import upickle.implicits.namedTuples.default.given
66+
import mill.api.BuildCtx
67+
diff --git a/libs/graphviz/src/mill/main/graphviz/GraphvizTools.scala b/libs/graphviz/src/mill/main/graphviz/GraphvizTools.scala
68+
index d8b6b26d356..832c39a3388 100644
69+
--- a/libs/graphviz/src/mill/main/graphviz/GraphvizTools.scala
70+
+++ b/libs/graphviz/src/mill/main/graphviz/GraphvizTools.scala
71+
@@ -1,4 +1,4 @@
72+
-package mill.main.graphviz
73+
+package mill.graphviz
74+
75+
import com.caoccao.javet.annotations.V8Function
76+
import com.caoccao.javet.interception.logging.JavetStandardConsoleInterceptor
77+
diff --git a/libs/javalib/package.mill b/libs/javalib/package.mill
78+
index 7b84504be3d..4b5b37db0f4 100644
79+
--- a/libs/javalib/package.mill
80+
+++ b/libs/javalib/package.mill
81+
@@ -6,7 +6,7 @@ import coursier.maven.MavenRepository
82+
import mill._
83+
import mill.util.Tasks
84+
import mill.scalalib._
85+
-import mill.jvmlib.api.JvmWorkerUtil
86+
+import mill.javalib.api.JvmWorkerUtil
87+
import mill.scalalib.publish._
88+
import mill.util.Jvm
89+
import mill.api.SelectMode
90+
diff --git a/libs/util/package.mill b/libs/util/package.mill
91+
index 15e100dce96..d245b62d774 100644
92+
--- a/libs/util/package.mill
93+
+++ b/libs/util/package.mill
94+
@@ -6,7 +6,7 @@ import mill.scalalib._
95+
import mill.contrib.buildinfo.BuildInfo
96+
import mill.T
97+
import mill.api.Cross
98+
-import mill.jvmlib.api.JvmWorkerUtil
99+
+import mill.javalib.api.JvmWorkerUtil
100+
import millbuild.*
101+
102+
/**
103+
diff --git a/libs/util/src/mill/util/VisualizeModule.scala b/libs/util/src/mill/util/VisualizeModule.scala
104+
index b752a184106..884554784e5 100644
105+
--- a/libs/util/src/mill/util/VisualizeModule.scala
106+
+++ b/libs/util/src/mill/util/VisualizeModule.scala
107+
@@ -155,7 +155,7 @@ object VisualizeModule extends ExternalModule {
108+
g = g.graphAttr().`with`(Rank.dir(RankDir.LEFT_TO_RIGHT))
109+
110+
mill.util.Jvm.callProcess(
111+
- mainClass = "mill.main.graphviz.GraphvizTools",
112+
+ mainClass = "mill.graphviz.GraphvizTools",
113+
classPath = toolsClasspath().map(_.path).toVector,
114+
mainArgs = Seq(s"${os.temp(g.toString)};$dest;txt,dot,json,png,svg"),
115+
stdin = os.Inherit,
116+
diff --git a/mill-build/build.mill b/mill-build/build.mill
117+
index 154569714a3..79609fb5233 100644
118+
--- a/mill-build/build.mill
119+
+++ b/mill-build/build.mill
120+
@@ -10,7 +10,7 @@ object `package` extends MillBuildRootModule {
121+
override def mvnDeps = Seq(
122+
// Hardcode MIMA version so test-mill-bootstrap.sh works with
123+
// the locally-built `SNAPSHOT` version
124+
- mvn"com.github.lolgab::mill-mima_mill1.0.0-RC3:0.2.0-M4",
125+
+// mvn"com.github.lolgab::mill-mima_mill1.0.0-RC3:0.2.0-M4",
126+
mvn"net.sourceforge.htmlcleaner:htmlcleaner:2.29",
127+
// TODO: implement empty version for ivy deps as we do in import parser
128+
mvn"com.lihaoyi::mill-contrib-buildinfo:${mill.api.BuildInfo.millVersion}",
129+
diff --git a/mill-build/src/millbuild/Deps.scala b/mill-build/src/millbuild/Deps.scala
130+
index e636a30d4a1..0516ef73815 100644
131+
--- a/mill-build/src/millbuild/Deps.scala
132+
+++ b/mill-build/src/millbuild/Deps.scala
133+
@@ -1,7 +1,7 @@
134+
package millbuild
135+
136+
import mill.scalalib.*
137+
-import mill.jvmlib.api.*
138+
+import mill.javalib.api.*
139+
140+
object Deps {
141+
142+
diff --git a/mill-build/src/millbuild/MillScalaModule.scala b/mill-build/src/millbuild/MillScalaModule.scala
143+
index ceaeee3fc19..195b8c93d42 100644
144+
--- a/mill-build/src/millbuild/MillScalaModule.scala
145+
+++ b/mill-build/src/millbuild/MillScalaModule.scala
146+
@@ -2,7 +2,7 @@ package millbuild
147+
148+
import mill.*
149+
import mill.scalalib.*
150+
-import mill.jvmlib.api.JvmWorkerUtil
151+
+import mill.javalib.api.JvmWorkerUtil
152+
import mill.api.BuildCtx
153+
// import com.goyeau.mill.scalafix.ScalafixModule
154+
155+
diff --git a/mill-build/src/millbuild/MillStableScalaModule.scala b/mill-build/src/millbuild/MillStableScalaModule.scala
156+
index ef25e2a891f..11e78faf6da 100644
157+
--- a/mill-build/src/millbuild/MillStableScalaModule.scala
158+
+++ b/mill-build/src/millbuild/MillStableScalaModule.scala
159+
@@ -1,15 +1,15 @@
160+
package millbuild
161+
-import com.github.lolgab.mill.mima._
162+
+//import com.github.lolgab.mill.mima._
163+
import mill._, scalalib._
164+
165+
/** Publishable module which contains strictly handled API. */
166+
-trait MillStableScalaModule extends MillPublishScalaModule with Mima {
167+
+trait MillStableScalaModule extends MillPublishScalaModule /*with Mima*/ {
168+
169+
- override def mimaBinaryIssueFilters: T[Seq[ProblemFilter]] = Seq.empty[ProblemFilter]
170+
-
171+
- def mimaPreviousVersions: T[Seq[String]] = Settings.mimaBaseVersions
172+
-
173+
- def mimaPreviousArtifacts: T[Seq[Dep]] = Task {
174+
+// override def mimaBinaryIssueFilters: T[Seq[ProblemFilter]] = Seq.empty[ProblemFilter]
175+
+//
176+
+// def mimaPreviousVersions: T[Seq[String]] = Settings.mimaBaseVersions
177+
+//
178+
+// def mimaPreviousArtifacts: T[Seq[Dep]] = Task {
179+
// Settings.mimaBaseVersions
180+
// .map({ version =>
181+
// val patchedSuffix = {
182+
@@ -27,8 +27,8 @@ trait MillStableScalaModule extends MillPublishScalaModule with Mima {
183+
// val patchedId = artifactName() + patchedSuffix
184+
// mvn"${pomSettings().organization}:${patchedId}:${version}"
185+
// })
186+
- Seq.empty[Dep]
187+
- }
188+
-
189+
- def mimaExcludeAnnotations = Seq("mill.api.internal.internal", "mill.api.experimental")
190+
+// Seq.empty[Dep]
191+
+// }
192+
+//
193+
+// def mimaExcludeAnnotations = Seq("mill.api.internal.internal", "mill.api.experimental")
194+
}
195+
diff --git a/website/package.mill b/website/package.mill
196+
index 9b215a2dfc2..3184bc4112d 100644
197+
--- a/website/package.mill
198+
+++ b/website/package.mill
199+
@@ -105,7 +105,7 @@ object `package` extends mill.Module {
200+
201+
expandDiagramsInDirectoryAdocFile(
202+
Task.dest,
203+
- mill.main.VisualizeModule.toolsClasspath().map(_.path)
204+
+ mill.util.VisualizeModule.toolsClasspath().map(_.path)
205+
)
206+
207+
PathRef(Task.dest)
208+
@@ -171,7 +171,7 @@ object `package` extends mill.Module {
209+
}
210+
211+
mill.util.Jvm.callProcess(
212+
- mainClass = "mill.main.graphviz.GraphvizTools",
213+
+ mainClass = "mill.graphviz.GraphvizTools",
214+
classPath = visualizeClassPath.toSeq,
215+
mainArgs = orderedDiagrams.map { case (p, i, src, dest) =>
216+
Task.log.debug(s"Rendering graphviz: ${p} (${i}) to ${dest}")
217+
@@ -233,7 +233,7 @@ object `package` extends mill.Module {
218+
os.copy(blogFolder0().path, Task.dest, mergeFolders = true)
219+
expandDiagramsInDirectoryAdocFile(
220+
Task.dest,
221+
- mill.main.VisualizeModule.toolsClasspath().map(_.path)
222+
+ mill.util.VisualizeModule.toolsClasspath().map(_.path)
223+
)
224+
PathRef(Task.dest)
225+
}
226+
@@ -304,7 +304,7 @@ object `package` extends mill.Module {
227+
)
228+
229+
def oldDocSources = Task {
230+
- Task.traverse(oldDocs.items.map(_.module))(_.value.oldDocSource)()
231+
+ Task.traverse(oldDocs.items.map(_.module))(_().oldDocSource)()
232+
}
233+
234+
object oldDocs extends Cross[OldDocModule](versionLabels)
235+
@@ -352,7 +352,7 @@ object `package` extends mill.Module {
236+
237+
expandDiagramsInDirectoryAdocFile(
238+
outputFolder,
239+
- mill.main.VisualizeModule.toolsClasspath().map(_.path)
240+
+ mill.util.VisualizeModule.toolsClasspath().map(_.path)
241+
)
242+
243+
val useOldDownloadUrl =

contrib/artifactory/src/mill/contrib/artifactory/ArtifactoryPublishModule.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package mill.contrib.artifactory
22

33
import mill._
44
import mill.api.Result
5-
import scalalib._
5+
import javalib._
66
import mill.contrib.artifactory.ArtifactoryPublishModule.checkArtifactoryCreds
77
import mill.api.{ExternalModule, Task}
88

0 commit comments

Comments
 (0)