Skip to content

Commit bd1167d

Browse files
Handle python-related options via SharedOptions
Rather than having each and every command handle them.
1 parent 10fa7d5 commit bd1167d

File tree

14 files changed

+28
-43
lines changed

14 files changed

+28
-43
lines changed

modules/cli/src/main/scala/scala/cli/commands/publish/Publish.scala

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ object Publish extends ScalaCommand[PublishOptions] with BuildCommandHelpers {
7070
publishParams: PublishParamsOptions,
7171
sharedPublish: SharedPublishOptions,
7272
publishRepo: PublishRepositoryOptions,
73-
sharedPython: SharedPythonOptions,
7473
scalaSigning: PgpScalaSigningOptions,
7574
mainClass: MainClassOptions,
7675
ivy2LocalLike: Option[Boolean]
@@ -156,10 +155,7 @@ object Publish extends ScalaCommand[PublishOptions] with BuildCommandHelpers {
156155
useJvm = scalaSigning.forceJvmSigningCli,
157156
javaArgs = scalaSigning.signingCliJavaArg
158157
)
159-
),
160-
python = sharedPython.python,
161-
pythonSetup = sharedPython.pythonSetup,
162-
scalaPyVersion = sharedPython.scalaPyVersion
158+
)
163159
)
164160
)
165161
}
@@ -191,7 +187,6 @@ object Publish extends ScalaCommand[PublishOptions] with BuildCommandHelpers {
191187
options.publishParams,
192188
options.sharedPublish,
193189
options.publishRepo,
194-
options.sharedPython,
195190
options.signingCli,
196191
options.mainClass,
197192
options.ivy2LocalLike

modules/cli/src/main/scala/scala/cli/commands/publish/PublishLocal.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ object PublishLocal extends ScalaCommand[PublishLocalOptions] {
3737
options.publishParams,
3838
options.sharedPublish,
3939
PublishRepositoryOptions(),
40-
options.sharedPython,
4140
options.scalaSigning,
4241
options.mainClass,
4342
None

modules/cli/src/main/scala/scala/cli/commands/publish/PublishLocalOptions.scala

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ final case class PublishLocalOptions(
2626
publishParams: PublishParamsOptions = PublishParamsOptions(),
2727
@Recurse
2828
sharedPublish: SharedPublishOptions = SharedPublishOptions(),
29-
@Recurse
30-
sharedPython: SharedPythonOptions = SharedPythonOptions(),
3129
@Recurse
3230
scalaSigning: PgpScalaSigningOptions = PgpScalaSigningOptions(),
3331
) extends HasSharedOptions

modules/cli/src/main/scala/scala/cli/commands/publish/PublishOptions.scala

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ final case class PublishOptions(
2121
publishRepo: PublishRepositoryOptions = PublishRepositoryOptions(),
2222
@Recurse
2323
sharedPublish: SharedPublishOptions = SharedPublishOptions(),
24-
@Recurse
25-
sharedPython: SharedPythonOptions = SharedPythonOptions(),
2624
@Recurse
2725
signingCli: PgpScalaSigningOptions = PgpScalaSigningOptions(),
2826

modules/cli/src/main/scala/scala/cli/commands/repl/Repl.scala

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,6 @@ object Repl extends ScalaCommand[ReplOptions] {
7878
ammoniteVersionOpt = ammoniteVersion.map(_.trim).filter(_.nonEmpty),
7979
ammoniteArgs = ammoniteArg
8080
),
81-
python = sharedPython.python,
82-
pythonSetup = sharedPython.pythonSetup,
83-
scalaPyVersion = sharedPython.scalaPyVersion,
8481
addRunnerDependencyOpt = baseOptions.notForBloopOptions.addRunnerDependencyOpt
8582
.orElse(Some(false))
8683
)

modules/cli/src/main/scala/scala/cli/commands/repl/SharedReplOptions.scala

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ final case class SharedReplOptions(
1919
watch: SharedWatchOptions = SharedWatchOptions(),
2020
@Recurse
2121
compileCross: CrossOptions = CrossOptions(),
22-
@Recurse
23-
sharedPython: SharedPythonOptions = SharedPythonOptions(),
2422

2523
@Group("Repl")
2624
@Tag(tags.restricted)

modules/cli/src/main/scala/scala/cli/commands/run/Run.scala

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,6 @@ object Run extends ScalaCommand[RunOptions] with BuildCommandHelpers {
8989
),
9090
notForBloopOptions = baseOptions.notForBloopOptions.copy(
9191
runWithManifest = options.sharedRun.useManifest,
92-
python = options.sharedRun.sharedPython.python,
93-
pythonSetup = options.sharedRun.sharedPython.pythonSetup,
94-
scalaPyVersion = options.sharedRun.sharedPython.scalaPyVersion,
9592
addRunnerDependencyOpt = baseOptions.notForBloopOptions.addRunnerDependencyOpt.orElse {
9693
runMode(options) match {
9794
case _: RunMode.Spark | RunMode.HadoopJar =>

modules/cli/src/main/scala/scala/cli/commands/run/SharedRunOptions.scala

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ final case class SharedRunOptions(
2525
compileCross: CrossOptions = CrossOptions(),
2626
@Recurse
2727
mainClass: MainClassOptions = MainClassOptions(),
28-
@Recurse
29-
sharedPython: SharedPythonOptions = SharedPythonOptions(),
3028
@Group("Run")
3129
@Hidden
3230
@Tag(tags.experimental)

modules/cli/src/main/scala/scala/cli/commands/shared/SharedOptions.scala

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ final case class SharedOptions(
6363
coursier: CoursierOptions = CoursierOptions(),
6464
@Recurse
6565
workspace: SharedWorkspaceOptions = SharedWorkspaceOptions(),
66+
@Recurse
67+
sharedPython: SharedPythonOptions = SharedPythonOptions(),
6668

6769
@Group("Scala")
6870
@HelpMessage(s"Set the Scala version (${Constants.defaultScalaVersion} by default)")
@@ -321,7 +323,10 @@ final case class SharedOptions(
321323
),
322324
notForBloopOptions = bo.PostBuildOptions(
323325
scalaJsLinkerOptions = linkerOptions(js),
324-
addRunnerDependencyOpt = runner
326+
addRunnerDependencyOpt = runner,
327+
python = sharedPython.python,
328+
pythonSetup = sharedPython.pythonSetup,
329+
scalaPyVersion = sharedPython.scalaPyVersion
325330
)
326331
)
327332
}

modules/cli/src/test/scala/cli/commands/tests/ReplOptionsTests.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@ package scala.cli.commands.tests
33
import com.eed3si9n.expecty.Expecty.{assert => expect}
44

55
import scala.cli.commands.repl.{Repl, ReplOptions, SharedReplOptions}
6-
import scala.cli.commands.shared.SharedPythonOptions
6+
import scala.cli.commands.shared.{SharedOptions, SharedPythonOptions}
77

88
class ReplOptionsTests extends munit.FunSuite {
99

1010
test("ScalaPy version") {
1111
val ver = "X.Y.Z"
1212
val replOptions = ReplOptions(
13-
sharedRepl = SharedReplOptions(
13+
shared = SharedOptions(
1414
sharedPython = SharedPythonOptions(
1515
scalaPyVersion = Some(ver)
1616
)

0 commit comments

Comments
 (0)