1
1
package build .project .deps
2
- import mill ._
3
- import scalalib ._
2
+ import mill .*
3
+ import mill .api .BuildInfo
4
+ import scalalib .*
4
5
5
6
object Cli {
6
7
def runnerLegacyVersion = " 1.7.1" // last runner version to support pre-LTS Scala 3 versions
@@ -99,7 +100,7 @@ object TestDeps {
99
100
100
101
object InternalDeps {
101
102
object Versions {
102
- def mill : String = _root_.mill.main. BuildInfo .millVersion
103
+ def mill : String = BuildInfo .millVersion
103
104
def lefouMillwRef = " 166bcdf5741de8569e0630e18c3b2ef7e252cd96"
104
105
}
105
106
}
@@ -145,101 +146,101 @@ object Deps {
145
146
// DO NOT hardcode a Scala version in this dependency string
146
147
// This dependency is used to ensure that Ammonite is available for Scala versions
147
148
// that Scala CLI supports.
148
- def ammonite = ivy " com.lihaoyi:::ammonite: ${Versions .ammonite}"
149
- def ammoniteForScala3Lts = ivy " com.lihaoyi:::ammonite: ${Versions .ammoniteForScala3Lts}"
149
+ def ammonite = mvn " com.lihaoyi:::ammonite: ${Versions .ammonite}"
150
+ def ammoniteForScala3Lts = mvn " com.lihaoyi:::ammonite: ${Versions .ammoniteForScala3Lts}"
150
151
def argonautShapeless =
151
- ivy " com.github.alexarchambault:argonaut-shapeless_6.3_2.13: ${Versions .argonautShapeless}"
152
- def asm = ivy " org.ow2.asm:asm:9.8 "
152
+ mvn " com.github.alexarchambault:argonaut-shapeless_6.3_2.13: ${Versions .argonautShapeless}"
153
+ def asm = mvn " org.ow2.asm:asm:9.8 "
153
154
// Force using of 2.13 - is there a better way?
154
- def bloopConfig = ivy " ch.epfl.scala:bloop-config_2.13:2.3.2 "
155
+ def bloopConfig = mvn " ch.epfl.scala:bloop-config_2.13:2.3.2 "
155
156
.exclude((" com.github.plokhotnyuk.jsoniter-scala" , " jsoniter-scala-core_2.13" ))
156
- def bloopRifle = ivy " ch.epfl.scala:bloop-rifle_2.13: ${Versions .bloop}"
157
- def bsp4j = ivy " ch.epfl.scala:bsp4j:2.1.1 "
158
- def caseApp = ivy " com.github.alexarchambault::case-app:2.1.0-M30 "
159
- def collectionCompat = ivy " org.scala-lang.modules::scala-collection-compat:2.13.0 "
157
+ def bloopRifle = mvn " ch.epfl.scala:bloop-rifle_2.13: ${Versions .bloop}"
158
+ def bsp4j = mvn " ch.epfl.scala:bsp4j:2.1.1 "
159
+ def caseApp = mvn " com.github.alexarchambault::case-app:2.1.0-M30 "
160
+ def collectionCompat = mvn " org.scala-lang.modules::scala-collection-compat:2.13.0 "
160
161
// Force using of 2.13 - is there a better way?
161
- def coursier = ivy " io.get-coursier:coursier_2.13: ${Versions .coursier}"
162
- def coursierCli = ivy " io.get-coursier:coursier-cli_2.13: ${Versions .coursierCli}"
163
- def coursierJvm = ivy " io.get-coursier:coursier-jvm_2.13: ${Versions .coursier}"
162
+ def coursier = mvn " io.get-coursier:coursier_2.13: ${Versions .coursier}"
163
+ def coursierCli = mvn " io.get-coursier:coursier-cli_2.13: ${Versions .coursierCli}"
164
+ def coursierJvm = mvn " io.get-coursier:coursier-jvm_2.13: ${Versions .coursier}"
164
165
.exclude((" com.github.plokhotnyuk.jsoniter-scala" , " jsoniter-scala-core_2.13" ))
165
166
.exclude(" io.get-coursier" -> " dependency_2.13" )
166
- def coursierLauncher = ivy " io.get-coursier:coursier-launcher_2.13: ${Versions .coursier}"
167
+ def coursierLauncher = mvn " io.get-coursier:coursier-launcher_2.13: ${Versions .coursier}"
167
168
.exclude((" ai.kien" , " python-native-libs_2.13" ))
168
169
.exclude((" org.scala-lang.modules" , " scala-collection-compat_2.13" ))
169
- def coursierProxySetup = ivy " io.get-coursier:coursier-proxy-setup: ${Versions .coursier}"
170
- def coursierPublish = ivy " io.get-coursier.publish::publish: ${Versions .coursierPublish}"
170
+ def coursierProxySetup = mvn " io.get-coursier:coursier-proxy-setup: ${Versions .coursier}"
171
+ def coursierPublish = mvn " io.get-coursier.publish::publish: ${Versions .coursierPublish}"
171
172
.exclude((" org.scala-lang.modules" , " scala-collection-compat_2.13" ))
172
173
.exclude((" com.github.plokhotnyuk.jsoniter-scala" , " jsoniter-scala-core_3" ))
173
- def dependency = ivy " io.get-coursier::dependency:0.3.2 "
174
- def dockerClient = ivy " com.spotify:docker-client:8.16.0 "
175
- def expecty = ivy " com.eed3si9n.expecty::expecty:0.17.0 "
176
- def fansi = ivy " com.lihaoyi::fansi:0.5.0 "
177
- def giter8 = ivy " org.foundweekends.giter8:giter8:0.16.2 "
178
- def guava = ivy " com.google.guava:guava:33.4.8-jre "
174
+ def dependency = mvn " io.get-coursier::dependency:0.3.2 "
175
+ def dockerClient = mvn " com.spotify:docker-client:8.16.0 "
176
+ def expecty = mvn " com.eed3si9n.expecty::expecty:0.17.0 "
177
+ def fansi = mvn " com.lihaoyi::fansi:0.5.0 "
178
+ def giter8 = mvn " org.foundweekends.giter8:giter8:0.16.2 "
179
+ def guava = mvn " com.google.guava:guava:33.4.8-jre "
179
180
def javaClassName =
180
- ivy " org.virtuslab.scala-cli.java-class-name:java-class-name_3: ${Versions .javaClassName}"
181
+ mvn " org.virtuslab.scala-cli.java-class-name:java-class-name_3: ${Versions .javaClassName}"
181
182
.exclude(
182
183
" org.jline" -> " jline-reader" ,
183
184
" org.jline" -> " jline-terminal" ,
184
185
" org.jline" -> " jline-terminal-jna"
185
186
)
186
- def jgit = ivy " org.eclipse.jgit:org.eclipse.jgit:6.8.0.202311291450-r "
187
- def jimfs = ivy " com.google.jimfs:jimfs:1.3.1 "
188
- def jmhGeneratorBytecode = ivy " org.openjdk.jmh:jmh-generator-bytecode: ${Versions .jmh}"
189
- def jmhCore = ivy " org.openjdk.jmh:jmh-core: ${Versions .jmh}"
190
- def jniUtils = ivy " io.get-coursier.jniutils:windows-jni-utils:0.3.3 "
187
+ def jgit = mvn " org.eclipse.jgit:org.eclipse.jgit:6.8.0.202311291450-r "
188
+ def jimfs = mvn " com.google.jimfs:jimfs:1.3.1 "
189
+ def jmhGeneratorBytecode = mvn " org.openjdk.jmh:jmh-generator-bytecode: ${Versions .jmh}"
190
+ def jmhCore = mvn " org.openjdk.jmh:jmh-core: ${Versions .jmh}"
191
+ def jniUtils = mvn " io.get-coursier.jniutils:windows-jni-utils:0.3.3 "
191
192
def jsoniterCore =
192
- ivy " com.github.plokhotnyuk.jsoniter-scala::jsoniter-scala-core: ${Versions .jsoniterScalaJava8}"
193
+ mvn " com.github.plokhotnyuk.jsoniter-scala::jsoniter-scala-core: ${Versions .jsoniterScalaJava8}"
193
194
def jsoniterCoreJava8 =
194
- ivy " com.github.plokhotnyuk.jsoniter-scala::jsoniter-scala-core: ${Versions .jsoniterScalaJava8}"
195
+ mvn " com.github.plokhotnyuk.jsoniter-scala::jsoniter-scala-core: ${Versions .jsoniterScalaJava8}"
195
196
def jsoniterMacros =
196
- ivy " com.github.plokhotnyuk.jsoniter-scala::jsoniter-scala-macros: ${Versions .jsoniterScalaJava8}"
197
+ mvn " com.github.plokhotnyuk.jsoniter-scala::jsoniter-scala-macros: ${Versions .jsoniterScalaJava8}"
197
198
def jsoniterMacrosJava8 =
198
- ivy " com.github.plokhotnyuk.jsoniter-scala::jsoniter-scala-macros: ${Versions .jsoniterScalaJava8}"
199
- def jsoup = ivy " org.jsoup:jsoup: ${Versions .jsoup}"
200
- def libsodiumjni = ivy " org.virtuslab.scala-cli:libsodiumjni:0.0.4 "
199
+ mvn " com.github.plokhotnyuk.jsoniter-scala::jsoniter-scala-macros: ${Versions .jsoniterScalaJava8}"
200
+ def jsoup = mvn " org.jsoup:jsoup: ${Versions .jsoup}"
201
+ def libsodiumjni = mvn " org.virtuslab.scala-cli:libsodiumjni:0.0.4 "
201
202
def metaconfigTypesafe =
202
- ivy " org.scalameta::metaconfig-typesafe-config:0.16.0 "
203
+ mvn " org.scalameta::metaconfig-typesafe-config:0.16.0 "
203
204
.exclude((" org.scala-lang" , " scala-compiler" ))
204
- def munit = ivy " org.scalameta::munit:1.1.1 "
205
- def nativeTestRunner = ivy " org.scala-native::test-runner: ${Versions .scalaNative}"
206
- def nativeTools = ivy " org.scala-native::tools: ${Versions .scalaNative}"
207
- def osLib = ivy " com.lihaoyi::os-lib:0.11.3 "
208
- def pprint = ivy " com.lihaoyi::pprint:0.9.0 "
209
- def pythonInterface = ivy " io.github.alexarchambault.python:interface:0.1.0 "
210
- def pythonNativeLibs = ivy " ai.kien::python-native-libs:0.2.4 "
211
- def scalaAsync = ivy " org.scala-lang.modules::scala-async:1.0.1 " .exclude(" *" -> " *" )
212
- def scalac (sv : String ) = ivy " org.scala-lang:scala-compiler: $sv"
213
- def scalafmtCli = ivy " org.scalameta:scalafmt-cli_2.13: ${Versions .scalafmt}"
205
+ def munit = mvn " org.scalameta::munit:1.1.1 "
206
+ def nativeTestRunner = mvn " org.scala-native::test-runner: ${Versions .scalaNative}"
207
+ def nativeTools = mvn " org.scala-native::tools: ${Versions .scalaNative}"
208
+ def osLib = mvn " com.lihaoyi::os-lib:0.11.3 "
209
+ def pprint = mvn " com.lihaoyi::pprint:0.9.0 "
210
+ def pythonInterface = mvn " io.github.alexarchambault.python:interface:0.1.0 "
211
+ def pythonNativeLibs = mvn " ai.kien::python-native-libs:0.2.4 "
212
+ def scalaAsync = mvn " org.scala-lang.modules::scala-async:1.0.1 " .exclude(" *" -> " *" )
213
+ def scalac (sv : String ) = mvn " org.scala-lang:scala-compiler: $sv"
214
+ def scalafmtCli = mvn " org.scalameta:scalafmt-cli_2.13: ${Versions .scalafmt}"
214
215
// Force using of 2.13 - is there a better way?
215
216
def scalaJsEnvJsdomNodejs =
216
- ivy " org.scala-js:scalajs-env-jsdom-nodejs_2.13:1.1.0 "
217
+ mvn " org.scala-js:scalajs-env-jsdom-nodejs_2.13:1.1.0 "
217
218
// Force using of 2.13 - is there a better way?
218
- def scalaJsEnvNodeJs = ivy " org.scala-js:scalajs-env-nodejs_2.13:1.4.0 "
219
- def scalaJsLogging = ivy " org.scala-js:scalajs-logging_2.13:1.1.1 "
219
+ def scalaJsEnvNodeJs = mvn " org.scala-js:scalajs-env-nodejs_2.13:1.4.0 "
220
+ def scalaJsLogging = mvn " org.scala-js:scalajs-logging_2.13:1.1.1 "
220
221
// Force using of 2.13 - is there a better way?
221
- def scalaJsTestAdapter = ivy " org.scala-js:scalajs-sbt-test-adapter_2.13: ${Scala .scalaJs}"
222
- def scalaPackager = ivy " org.virtuslab:scala-packager_2.13: ${Versions .scalaPackager}"
223
- def scalaPackagerCli = ivy " org.virtuslab:scala-packager-cli_2.13: ${Versions .scalaPackager}"
224
- def scalaPy = ivy " dev.scalapy::scalapy-core::0.5.3 "
225
- def scalaReflect (sv : String ) = ivy " org.scala-lang:scala-reflect: $sv"
226
- def semanticDbJavac = ivy " com.sourcegraph:semanticdb-javac: ${Versions .javaSemanticdb}"
227
- def semanticDbScalac = ivy " org.scalameta:::semanticdb-scalac: ${Versions .scalaMeta}"
222
+ def scalaJsTestAdapter = mvn " org.scala-js:scalajs-sbt-test-adapter_2.13: ${Scala .scalaJs}"
223
+ def scalaPackager = mvn " org.virtuslab:scala-packager_2.13: ${Versions .scalaPackager}"
224
+ def scalaPackagerCli = mvn " org.virtuslab:scala-packager-cli_2.13: ${Versions .scalaPackager}"
225
+ def scalaPy = mvn " dev.scalapy::scalapy-core::0.5.3 "
226
+ def scalaReflect (sv : String ) = mvn " org.scala-lang:scala-reflect: $sv"
227
+ def semanticDbJavac = mvn " com.sourcegraph:semanticdb-javac: ${Versions .javaSemanticdb}"
228
+ def semanticDbScalac = mvn " org.scalameta:::semanticdb-scalac: ${Versions .scalaMeta}"
228
229
def scalametaSemanticDbShared =
229
- ivy " org.scalameta:semanticdb-shared_2.13: ${Versions .scalaMeta}"
230
+ mvn " org.scalameta:semanticdb-shared_2.13: ${Versions .scalaMeta}"
230
231
.exclude(" org.jline" -> " jline" ) // to prevent incompatibilities with GraalVM <23
231
232
.exclude(" com.lihaoyi" -> " sourcecode_2.13" )
232
233
.exclude(" org.scala-lang.modules" -> " scala-collection-compat_2.13" )
233
234
def signingCliShared =
234
- ivy " org.virtuslab.scala-cli-signing::shared: ${Versions .signingCli}"
235
+ mvn " org.virtuslab.scala-cli-signing::shared: ${Versions .signingCli}"
235
236
// to prevent collisions with scala-cli's case-app version
236
237
.exclude((" com.github.alexarchambault" , " case-app_3" ))
237
238
.exclude((" com.github.plokhotnyuk.jsoniter-scala" , " jsoniter-scala-core_3" ))
238
239
.exclude((" com.github.plokhotnyuk.jsoniter-scala" , " jsoniter-scala-macros_3" ))
239
240
.exclude((" com.lihaoyi" , " os-lib_3" ))
240
241
.exclude((" com.lihaoyi" , " os-lib_2.13" ))
241
242
def signingCli =
242
- ivy " org.virtuslab.scala-cli-signing::cli: ${Versions .signingCli}"
243
+ mvn " org.virtuslab.scala-cli-signing::cli: ${Versions .signingCli}"
243
244
// to prevent collisions with scala-cli's case-app version
244
245
.exclude((" com.github.alexarchambault" , " case-app_3" ))
245
246
.exclude((" com.github.plokhotnyuk.jsoniter-scala" , " jsoniter-scala-core_3" ))
@@ -249,25 +250,25 @@ object Deps {
249
250
.exclude((" org.scala-lang.modules" , " scala-collection-compat_2.13" ))
250
251
.exclude((" com.lihaoyi" , " os-lib_3" ))
251
252
.exclude((" com.lihaoyi" , " os-lib_2.13" ))
252
- def slf4jNop = ivy " org.slf4j:slf4j-nop:2.0.17 "
253
- def sttp = ivy " com.softwaremill.sttp.client3::core:3.11.0 "
254
- def svm = ivy " org.graalvm.nativeimage:svm: $graalVmVersion"
255
- def swoval = ivy " com.swoval:file-tree-views:2.1.12 "
256
- def testInterface = ivy " org.scala-sbt:test-interface:1.0 "
253
+ def slf4jNop = mvn " org.slf4j:slf4j-nop:2.0.17 "
254
+ def sttp = mvn " com.softwaremill.sttp.client3::core:3.11.0 "
255
+ def svm = mvn " org.graalvm.nativeimage:svm: $graalVmVersion"
256
+ def swoval = mvn " com.swoval:file-tree-views:2.1.12 "
257
+ def testInterface = mvn " org.scala-sbt:test-interface:1.0 "
257
258
val toolkitVersion = " 0.7.0"
258
259
val toolkitVersionForNative04 = " 0.3.0"
259
260
val toolkitVersionForNative05 = toolkitVersion
260
- def toolkit = ivy " org.scala-lang:toolkit: $toolkitVersion"
261
- def toolkitTest = ivy " org.scala-lang:toolkit-test: $toolkitVersion"
261
+ def toolkit = mvn " org.scala-lang:toolkit: $toolkitVersion"
262
+ def toolkitTest = mvn " org.scala-lang:toolkit-test: $toolkitVersion"
262
263
val typelevelToolkitVersion = " 0.1.29"
263
- def typelevelToolkit = ivy " org.typelevel:toolkit: $typelevelToolkitVersion"
264
- def usingDirectives = ivy " org.virtuslab:using_directives:1.1.4 "
264
+ def typelevelToolkit = mvn " org.typelevel:toolkit: $typelevelToolkitVersion"
265
+ def usingDirectives = mvn " org.virtuslab:using_directives:1.1.4 "
265
266
// Lives at https://github.com/VirtusLab/no-crc32-zip-input-stream, see #865
266
267
// This provides a ZipInputStream that doesn't verify CRC32 checksums, that users
267
268
// can enable by setting SCALA_CLI_VENDORED_ZIS=true in the environment, to workaround
268
269
// some bad GraalVM / zlib issues (see #828 and linked issues for more details).
269
- def zipInputStream = ivy " org.virtuslab.scala-cli.zip-input-stream:zip-input-stream:0.1.3 "
270
- def scalafixInterfaces = ivy " ch.epfl.scala:scalafix-interfaces: ${Versions .scalafix}"
270
+ def zipInputStream = mvn " org.virtuslab.scala-cli.zip-input-stream:zip-input-stream:0.1.3 "
271
+ def scalafixInterfaces = mvn " ch.epfl.scala:scalafix-interfaces: ${Versions .scalafix}"
271
272
}
272
273
273
274
def graalVmVersion = " 22.3.1"
0 commit comments