@@ -39,18 +39,18 @@ implicit def millModuleBasePath: define.BasePath =
39
39
40
40
object cli extends Cli
41
41
42
- object `cli-options` extends CliOptions
43
- object `build-macros` extends BuildMacros
44
- object config extends Cross [Config ](Scala .all: _* )
45
- object options extends Options
46
- object scalaparse extends ScalaParse
47
- object directives extends Directives
48
- object core extends Core
49
- object `build-module` extends Build
50
- object runner extends Cross [Runner ](Scala .runnerScalaVersions: _* )
51
- object `test-runner` extends Cross [TestRunner ](Scala .runnerScalaVersions: _* )
52
- object `bloop-rifle` extends Cross [BloopRifle ](Scala .all: _* )
53
- object `tasty-lib` extends Cross [TastyLib ](Scala .all: _* )
42
+ object `specification-level` extends SpecificationLevel
43
+ object `build-macros` extends BuildMacros
44
+ object config extends Cross [Config ](Scala .all: _* )
45
+ object options extends Options
46
+ object scalaparse extends ScalaParse
47
+ object directives extends Directives
48
+ object core extends Core
49
+ object `build-module` extends Build
50
+ object runner extends Cross [Runner ](Scala .runnerScalaVersions: _* )
51
+ object `test-runner` extends Cross [TestRunner ](Scala .runnerScalaVersions: _* )
52
+ object `bloop-rifle` extends Cross [BloopRifle ](Scala .all: _* )
53
+ object `tasty-lib` extends Cross [TastyLib ](Scala .all: _* )
54
54
// Runtime classes used within native image on Scala 3 replacing runtime from Scala
55
55
object `scala3-runtime` extends Scala3Runtime
56
56
// Logic to process classes that is shared between build and the scala-cli itself
@@ -416,7 +416,7 @@ trait Directives extends ScalaCliSbtModule with ScalaCliPublishModule with HasTe
416
416
options,
417
417
core,
418
418
`build-macros`,
419
- `cli-options `
419
+ `specification-level `
420
420
)
421
421
def scalacOptions = T {
422
422
super .scalacOptions() ++ asyncScalacOptions(scalaVersion())
@@ -639,7 +639,7 @@ trait Build extends ScalaCliSbtModule with ScalaCliPublishModule with HasTests
639
639
}
640
640
}
641
641
642
- trait CliOptions extends SbtModule with ScalaCliPublishModule {
642
+ trait SpecificationLevel extends SbtModule with ScalaCliPublishModule {
643
643
def scalacOptions = T {
644
644
val sv = scalaVersion()
645
645
val isScala213 = sv.startsWith(" 2.13." )
@@ -648,65 +648,53 @@ trait CliOptions extends SbtModule with ScalaCliPublishModule {
648
648
else Nil
649
649
super .scalacOptions() ++ extraOptions
650
650
}
651
- def ivyDeps = super .ivyDeps() ++ Agg (
652
- Deps .caseApp,
653
- Deps .jsoniterCore213,
654
- Deps .osLib,
655
- Deps .signingCli.exclude((organization, " config_2.13" ))
656
- )
657
- def compileIvyDeps = super .compileIvyDeps() ++ Seq (
658
- Deps .jsoniterMacros
659
- )
660
651
def scalaVersion = Scala .defaultInternal
661
- def repositories = super .repositories ++ customRepositories
652
+ }
653
+
654
+ trait Cli extends SbtModule with ProtoBuildModule with CliLaunchers
655
+ with HasMacroAnnotations with FormatNativeImageConf {
662
656
663
657
def constantsFile = T .persistent {
664
658
val dir = T .dest / " constants"
665
659
val dest = dir / " Constants.scala"
666
660
val code =
667
- s """ package scala.cli.commands
661
+ s """ package scala.cli.internal
668
662
|
669
663
|/** Build-time constants. Generated by mill. */
670
664
|object Constants {
671
- | def defaultScalaVersion = " ${Scala .defaultUser}"
672
- | def scalaJsVersion = " ${Scala .scalaJs}"
673
- | def scalaJsCliVersion = " ${InternalDeps .Versions .scalaJsCli}"
674
- | def scalaNativeVersion = " ${Deps .nativeTools.dep.version}"
675
- | def ammoniteVersion = " ${Deps .ammonite.dep.version}"
676
- | def defaultScalafmtVersion = " ${Deps .scalafmtCli.dep.version}"
677
- | def defaultGraalVMJavaVersion = " ${deps.graalVmJavaVersion}"
678
- | def defaultGraalVMVersion = " ${deps.graalVmVersion}"
679
- | def scalaPyVersion = " ${Deps .scalaPy.dep.version}"
665
+ | def launcherTypeResourcePath = " ${launcherTypeResourcePath.toString}"
666
+ | def defaultFilesResourcePath = " $defaultFilesResourcePath"
667
+ | def maxAmmoniteScala3Version = " ${Scala .maxAmmoniteScala3Version}"
680
668
|}
681
669
| """ .stripMargin
682
670
if (! os.isFile(dest) || os.read(dest) != code)
683
671
os.write.over(dest, code, createFolders = true )
684
672
PathRef (dir)
685
673
}
686
- def generatedSources = super .generatedSources() ++ Seq (constantsFile())
687
- }
688
-
689
- trait Cli extends SbtModule with ProtoBuildModule with CliLaunchers
690
- with HasMacroAnnotations with FormatNativeImageConf {
691
-
692
- def constantsFile = T .persistent {
674
+ def optionsConstantsFile = T .persistent {
693
675
val dir = T .dest / " constants"
694
676
val dest = dir / " Constants.scala"
695
677
val code =
696
- s """ package scala.cli.internal
678
+ s """ package scala.cli.commands
697
679
|
698
680
|/** Build-time constants. Generated by mill. */
699
681
|object Constants {
700
- | def launcherTypeResourcePath = " ${launcherTypeResourcePath.toString}"
701
- | def defaultFilesResourcePath = " $defaultFilesResourcePath"
702
- | def maxAmmoniteScala3Version = " ${Scala .maxAmmoniteScala3Version}"
682
+ | def defaultScalaVersion = " ${Scala .defaultUser}"
683
+ | def scalaJsVersion = " ${Scala .scalaJs}"
684
+ | def scalaJsCliVersion = " ${InternalDeps .Versions .scalaJsCli}"
685
+ | def scalaNativeVersion = " ${Deps .nativeTools.dep.version}"
686
+ | def ammoniteVersion = " ${Deps .ammonite.dep.version}"
687
+ | def defaultScalafmtVersion = " ${Deps .scalafmtCli.dep.version}"
688
+ | def defaultGraalVMJavaVersion = " ${deps.graalVmJavaVersion}"
689
+ | def defaultGraalVMVersion = " ${deps.graalVmVersion}"
690
+ | def scalaPyVersion = " ${Deps .scalaPy.dep.version}"
703
691
|}
704
692
| """ .stripMargin
705
693
if (! os.isFile(dest) || os.read(dest) != code)
706
694
os.write.over(dest, code, createFolders = true )
707
695
PathRef (dir)
708
696
}
709
- def generatedSources = super .generatedSources() ++ Seq (constantsFile())
697
+ def generatedSources = super .generatedSources() ++ Seq (constantsFile(), optionsConstantsFile() )
710
698
711
699
def defaultFilesResources = T .persistent {
712
700
val dir = T .dest / " resources"
@@ -752,7 +740,8 @@ trait Cli extends SbtModule with ProtoBuildModule with CliLaunchers
752
740
def moduleDeps = Seq (
753
741
`build-module`,
754
742
config(Scala .scala3),
755
- `scala3-graal`(Scala .scala3)
743
+ `scala3-graal`(Scala .scala3),
744
+ `specification-level`
756
745
)
757
746
758
747
def repositories = super .repositories ++ customRepositories
0 commit comments