Skip to content

Commit e18c76d

Browse files
Move cli options to cli module
1 parent 2547453 commit e18c76d

File tree

138 files changed

+327
-286
lines changed

Some content is hidden

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

138 files changed

+327
-286
lines changed

build.sc

Lines changed: 20 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ implicit def millModuleBasePath: define.BasePath =
4040
object cli extends Cli
4141

4242
object `specification-level` extends SpecificationLevel
43-
object `cli-options` extends CliOptions
4443
object `build-macros` extends BuildMacros
4544
object config extends Cross[Config](Scala.all: _*)
4645
object options extends Options
@@ -652,77 +651,50 @@ trait SpecificationLevel extends SbtModule with ScalaCliPublishModule {
652651
def scalaVersion = Scala.defaultInternal
653652
}
654653

655-
trait CliOptions extends SbtModule with ScalaCliPublishModule {
656-
def scalacOptions = T {
657-
val sv = scalaVersion()
658-
val isScala213 = sv.startsWith("2.13.")
659-
val extraOptions =
660-
if (isScala213) Seq("-Xsource:3")
661-
else Nil
662-
super.scalacOptions() ++ extraOptions
663-
}
664-
def moduleDeps = Seq(
665-
`specification-level`
666-
)
667-
def ivyDeps = super.ivyDeps() ++ Agg(
668-
Deps.caseApp,
669-
Deps.jsoniterCore213,
670-
Deps.osLib,
671-
Deps.signingCli.exclude((organization, "config_2.13"))
672-
)
673-
def compileIvyDeps = super.compileIvyDeps() ++ Seq(
674-
Deps.jsoniterMacros
675-
)
676-
def scalaVersion = Scala.defaultInternal
677-
def repositories = super.repositories ++ customRepositories
654+
trait Cli extends SbtModule with ProtoBuildModule with CliLaunchers
655+
with HasMacroAnnotations with FormatNativeImageConf {
678656

679657
def constantsFile = T.persistent {
680658
val dir = T.dest / "constants"
681659
val dest = dir / "Constants.scala"
682660
val code =
683-
s"""package scala.cli.commands
661+
s"""package scala.cli.internal
684662
|
685663
|/** Build-time constants. Generated by mill. */
686664
|object Constants {
687-
| def defaultScalaVersion = "${Scala.defaultUser}"
688-
| def scalaJsVersion = "${Scala.scalaJs}"
689-
| def scalaJsCliVersion = "${InternalDeps.Versions.scalaJsCli}"
690-
| def scalaNativeVersion = "${Deps.nativeTools.dep.version}"
691-
| def ammoniteVersion = "${Deps.ammonite.dep.version}"
692-
| def defaultScalafmtVersion = "${Deps.scalafmtCli.dep.version}"
693-
| def defaultGraalVMJavaVersion = "${deps.graalVmJavaVersion}"
694-
| def defaultGraalVMVersion = "${deps.graalVmVersion}"
695-
| def scalaPyVersion = "${Deps.scalaPy.dep.version}"
665+
| def launcherTypeResourcePath = "${launcherTypeResourcePath.toString}"
666+
| def defaultFilesResourcePath = "$defaultFilesResourcePath"
667+
| def maxAmmoniteScala3Version = "${Scala.maxAmmoniteScala3Version}"
696668
|}
697669
|""".stripMargin
698670
if (!os.isFile(dest) || os.read(dest) != code)
699671
os.write.over(dest, code, createFolders = true)
700672
PathRef(dir)
701673
}
702-
def generatedSources = super.generatedSources() ++ Seq(constantsFile())
703-
}
704-
705-
trait Cli extends SbtModule with ProtoBuildModule with CliLaunchers
706-
with HasMacroAnnotations with FormatNativeImageConf {
707-
708-
def constantsFile = T.persistent {
674+
def optionsConstantsFile = T.persistent {
709675
val dir = T.dest / "constants"
710676
val dest = dir / "Constants.scala"
711677
val code =
712-
s"""package scala.cli.internal
678+
s"""package scala.cli.commands
713679
|
714680
|/** Build-time constants. Generated by mill. */
715681
|object Constants {
716-
| def launcherTypeResourcePath = "${launcherTypeResourcePath.toString}"
717-
| def defaultFilesResourcePath = "$defaultFilesResourcePath"
718-
| 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}"
719691
|}
720692
|""".stripMargin
721693
if (!os.isFile(dest) || os.read(dest) != code)
722694
os.write.over(dest, code, createFolders = true)
723695
PathRef(dir)
724696
}
725-
def generatedSources = super.generatedSources() ++ Seq(constantsFile())
697+
def generatedSources = super.generatedSources() ++ Seq(constantsFile(), optionsConstantsFile())
726698

727699
def defaultFilesResources = T.persistent {
728700
val dir = T.dest / "resources"
@@ -767,9 +739,9 @@ trait Cli extends SbtModule with ProtoBuildModule with CliLaunchers
767739
}
768740
def moduleDeps = Seq(
769741
`build-module`,
770-
`cli-options`,
771742
config(Scala.scala3),
772-
`scala3-graal`(Scala.scala3)
743+
`scala3-graal`(Scala.scala3),
744+
`specification-level`
773745
)
774746

775747
def repositories = super.repositories ++ customRepositories

modules/cli-options/src/main/scala/scala/cli/commands/common/HasLoggingOptions.scala

Lines changed: 0 additions & 7 deletions
This file was deleted.

modules/cli/src/main/scala/scala/cli/ScalaCliCommands.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import caseapp.core.help.{Help, RuntimeCommandsHelp}
66
import java.nio.file.InvalidPathException
77

88
import scala.cli.commands._
9+
import scala.cli.commands.shared.ScalaCliHelp
910

1011
class ScalaCliCommands(
1112
val progName: String,

modules/cli/src/main/scala/scala/cli/commands/HelpCmd.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import caseapp.*
44
import caseapp.core.help.RuntimeCommandsHelp
55

66
import scala.build.Logger
7-
import scala.cli.ScalaCliHelp
7+
import scala.cli.commands.shared.{HelpOptions, ScalaCliHelp}
88

99
class HelpCmd(actualHelp: => RuntimeCommandsHelp) extends ScalaCommand[HelpOptions] {
1010
override def names = List(List("help"))

modules/cli/src/main/scala/scala/cli/commands/ScalaCommand.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import scala.build.errors.BuildException
1616
import scala.build.internal.{Constants, Runner}
1717
import scala.build.options.{BuildOptions, Scope}
1818
import scala.build.{Artifacts, Logger, Positioned, ReplArtifacts}
19-
import scala.cli.commands.common.HasLoggingOptions
19+
import scala.cli.commands.shared.{HasLoggingOptions, ScalacOptions, SharedOptions}
2020
import scala.cli.commands.util.CommonOps.*
2121
import scala.cli.commands.util.ScalacOptionsUtil.*
2222
import scala.cli.commands.util.SharedOptionsUtil.*

modules/cli/src/main/scala/scala/cli/commands/about/About.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import scala.cli.CurrentParams
88
import scala.cli.commands.update.Update
99
import scala.cli.commands.util.CommonOps.*
1010
import scala.cli.commands.version.Version
11-
import scala.cli.commands.{AboutOptions, CommandUtils, ScalaCommand}
11+
import scala.cli.commands.{CommandUtils, ScalaCommand}
1212

1313
object About extends ScalaCommand[AboutOptions] {
1414

modules/cli-options/src/main/scala/scala/cli/commands/AboutOptions.scala renamed to modules/cli/src/main/scala/scala/cli/commands/about/AboutOptions.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
package scala.cli.commands
1+
package scala.cli.commands.about
22

33
import caseapp.*
44

5-
import scala.cli.commands.common.HasLoggingOptions
5+
import scala.cli.commands.shared.{HasLoggingOptions, HelpMessages, LoggingOptions}
6+
import scala.cli.commands.tags
67
import scala.cli.signing.shared.PasswordOption
78
import scala.cli.signing.util.ArgParsers.*
89

modules/cli/src/main/scala/scala/cli/commands/addpath/AddPath.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import java.io.File
88
import scala.build.Logger
99
import scala.cli.CurrentParams
1010
import scala.cli.commands.util.CommonOps.*
11-
import scala.cli.commands.{AddPathOptions, CustomWindowsEnvVarUpdater, ScalaCommand}
11+
import scala.cli.commands.{CustomWindowsEnvVarUpdater, ScalaCommand}
1212
import scala.util.Properties
1313

1414
object AddPath extends ScalaCommand[AddPathOptions] {

modules/cli-options/src/main/scala/scala/cli/commands/AddPathOptions.scala renamed to modules/cli/src/main/scala/scala/cli/commands/addpath/AddPathOptions.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
package scala.cli.commands
1+
package scala.cli.commands.addpath
22

33
import caseapp.*
44

5-
import scala.cli.commands.common.HasLoggingOptions
5+
import scala.cli.commands.shared.{HasLoggingOptions, LoggingOptions}
66

77
// format: off
88
final case class AddPathOptions(

modules/cli/src/main/scala/scala/cli/commands/bloop/Bloop.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@ import scala.build.blooprifle.internal.{Constants, Operations}
88
import scala.build.blooprifle.{BloopRifle, BloopRifleConfig}
99
import scala.build.internal.OsLibc
1010
import scala.cli.CurrentParams
11+
import scala.cli.commands.ScalaCommand
12+
import scala.cli.commands.shared.{LoggingOptions, SharedOptions}
1113
import scala.cli.commands.util.CommonOps.*
1214
import scala.cli.commands.util.SharedCompilationServerOptionsUtil.*
1315
import scala.cli.commands.util.SharedOptionsUtil.*
14-
import scala.cli.commands.{LoggingOptions, ScalaCommand, SharedOptions}
1516
import scala.concurrent.Await
1617
import scala.concurrent.duration.Duration
1718

0 commit comments

Comments
 (0)