Skip to content

Commit 5983709

Browse files
committed
Remove options compile deps in cli-options module
1 parent dbd98d8 commit 5983709

File tree

11 files changed

+62
-36
lines changed

11 files changed

+62
-36
lines changed

build.sc

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -595,9 +595,6 @@ trait CliOptions extends SbtModule with ScalaCliPublishModule with ScalaCliCompi
595595
Deps.jsoniterMacros
596596
)
597597
private def scalaVer = Scala.scala213
598-
def compileModuleDeps = Seq(
599-
options
600-
)
601598
def scalaVersion = scalaVer
602599
def repositories = super.repositories ++ customRepositories
603600
}

modules/options/src/main/scala/scala/build/options/publish/MaybeConfigPasswordOption.scala renamed to modules/cli-options/src/main/scala/scala/cli/commands/publish/MaybeConfigPasswordOption.scala

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package scala.build.options.publish
1+
package scala.cli.commands.publish
22

33
import scala.cli.signing.shared.PasswordOption
44

@@ -7,11 +7,7 @@ sealed abstract class MaybeConfigPasswordOption extends Product with Serializabl
77

88
object MaybeConfigPasswordOption {
99
final case class ActualOption(option: PasswordOption) extends MaybeConfigPasswordOption
10-
final case class ConfigOption(fullName: String) extends MaybeConfigPasswordOption {
11-
private lazy val split = fullName.split('.')
12-
def prefix: Seq[String] = split.dropRight(1).toSeq
13-
def name: String = split.last
14-
}
10+
final case class ConfigOption(fullName: String) extends MaybeConfigPasswordOption
1511

1612
def parse(input: String): Either[String, MaybeConfigPasswordOption] =
1713
if (input.startsWith("config:"))

modules/cli-options/src/main/scala/scala/cli/commands/publish/PublishParamsOptions.scala

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

33
import caseapp._
4-
5-
import scala.build.options.publish.MaybeConfigPasswordOption
64
import scala.cli.signing.shared.PasswordOption
75
import scala.cli.signing.util.ArgParsers._
86
import scala.cli.util.ArgParsers._

modules/cli-options/src/main/scala/scala/cli/util/ArgParsers.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ package scala.cli.util
22

33
import caseapp.core.argparser.ArgParser
44
import caseapp.core.argparser.SimpleArgParser
5-
6-
import scala.build.options.publish.MaybeConfigPasswordOption
5+
import scala.cli.commands.publish.MaybeConfigPasswordOption
76
import scala.cli.signing.shared.PasswordOption
87

98
abstract class LowPriorityArgParsers {

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ import scala.cli.commands.util.CommonOps.SharedDirectoriesOptionsOps
3838
import scala.cli.commands.util.MainClassOptionsUtil._
3939
import scala.cli.commands.util.ScalaCliSttpBackend
4040
import scala.cli.commands.util.SharedOptionsUtil._
41+
import scala.cli.commands.util.PublishUtils._
4142
import scala.cli.commands.{
4243
MainClassOptions,
4344
Package => PackageCmd,
@@ -54,7 +55,7 @@ import scala.cli.errors.{
5455
}
5556
import scala.cli.packaging.Library
5657
import scala.cli.publish.BouncycastleSignerMaker
57-
import scala.cli.util.MaybeConfigPasswordOptionHelpers._
58+
import scala.cli.util.ConfigPasswordOptionHelpers._
5859

5960
object Publish extends ScalaCommand[PublishOptions] {
6061

@@ -79,8 +80,8 @@ object Publish extends ScalaCommand[PublishOptions] {
7980
docJar = sharedPublish.doc,
8081
gpgSignatureId = sharedPublish.gpgKey.map(_.trim).filter(_.nonEmpty),
8182
gpgOptions = sharedPublish.gpgOption,
82-
secretKey = publishParams.secretKey,
83-
secretKeyPassword = publishParams.secretKeyPassword,
83+
secretKey = publishParams.secretKey.map(_.configPasswordOptions()),
84+
secretKeyPassword = publishParams.secretKeyPassword.map(_.configPasswordOptions()),
8485
repoUser = publishRepo.user,
8586
repoPassword = publishRepo.password,
8687
repoRealm = publishRepo.realm,

modules/cli/src/main/scala/scala/cli/commands/publish/checks/PgpSecretKeyCheck.scala

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ import scala.cli.commands.util.JvmUtils
1919
import scala.cli.config.{ConfigDb, Keys}
2020
import scala.cli.errors.MissingPublishOptionError
2121
import scala.cli.signing.shared.PasswordOption
22-
import scala.cli.util.MaybeConfigPasswordOptionHelpers._
22+
import scala.cli.util.ConfigPasswordOptionHelpers._
23+
import scala.cli.commands.util.PublishUtils._
2324

2425
final case class PgpSecretKeyCheck(
2526
options: PublishSetupOptions,
@@ -64,7 +65,7 @@ final case class PgpSecretKeyCheck(
6465
case Some(secretKey) =>
6566
val pubKeyOpt = options.publicKey.map(_.get())
6667
val passwordOpt =
67-
value(options.publishParams.secretKeyPassword.map(_.get(configDb())).sequence)
68+
value(options.publishParams.secretKeyPassword.map(_.configPasswordOptions()).map(_.get(configDb())).sequence)
6869
(pubKeyOpt, Left(secretKey), passwordOpt)
6970
case None =>
7071
value(configDb().get(Keys.pgpSecretKey)) match {
@@ -83,6 +84,7 @@ final case class PgpSecretKeyCheck(
8384
val res = value {
8485
options.publishParams
8586
.secretKeyPassword
87+
.map(_.configPasswordOptions())
8688
.map(_.get(configDb()))
8789
.sequence
8890
}
@@ -221,7 +223,7 @@ final case class PgpSecretKeyCheck(
221223
Seq(SetSecret(
222224
"PUBLISH_SECRET_KEY",
223225
secretKey match {
224-
case Left(p) => value(p.get(configDb())).getBytes().map(maybeEncodeBase64)
226+
case Left(p) => value(p.configPasswordOptions().get(configDb())).getBytes().map(maybeEncodeBase64)
225227
case Right(p) => p.getBytes().map(maybeEncodeBase64)
226228
},
227229
force = true
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package scala.cli.commands.util
2+
3+
import java.io.File
4+
import scala.build.options.publish.ConfigPasswordOption
5+
import scala.build.{Os, Position, Positioned}
6+
import scala.cli.commands.SharedOptions
7+
import scala.cli.commands.publish.MaybeConfigPasswordOption
8+
import scala.cli.commands.publish.MaybeConfigPasswordOption.*
9+
import scala.util.Properties
10+
11+
object PublishUtils {
12+
13+
implicit class SharedOptionsOps(v: MaybeConfigPasswordOption) {
14+
def configPasswordOptions() = {
15+
v match {
16+
case ActualOption(option) => ConfigPasswordOption.ActualOption(option)
17+
case ConfigOption(fullName) => ConfigPasswordOption.ConfigOption(fullName)
18+
}
19+
}
20+
}
21+
}

modules/cli/src/main/scala/scala/cli/util/MaybeConfigPasswordOptionHelpers.scala renamed to modules/cli/src/main/scala/scala/cli/util/ConfigPasswordOptionHelpers.scala

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
package scala.cli.util
22

33
import scala.build.errors.BuildException
4-
import scala.build.options.publish.MaybeConfigPasswordOption
4+
import scala.cli.commands.publish.MaybeConfigPasswordOption
5+
import scala.build.options.publish.ConfigPasswordOption
56
import scala.cli.config.{ConfigDb, Key}
67
import scala.cli.errors.MissingConfigEntryError
78
import scala.cli.signing.shared.PasswordOption
89

9-
object MaybeConfigPasswordOptionHelpers {
10+
object ConfigPasswordOptionHelpers {
1011

11-
implicit class MaybeConfigPasswordOptionOps(private val opt: MaybeConfigPasswordOption)
12+
implicit class ConfigPasswordOptionOps(private val opt: ConfigPasswordOption)
1213
extends AnyVal {
1314
def get(configDb: => ConfigDb): Either[BuildException, PasswordOption] =
1415
opt match {
15-
case a: MaybeConfigPasswordOption.ActualOption =>
16+
case a: ConfigPasswordOption.ActualOption =>
1617
Right(a.option)
17-
case c: MaybeConfigPasswordOption.ConfigOption =>
18+
case c: ConfigPasswordOption.ConfigOption =>
1819
val key = new Key.PasswordEntry(c.prefix, c.name)
1920
configDb.get(key).flatMap {
2021
case None => Left(new MissingConfigEntryError(c.fullName))

modules/directives/src/main/scala/scala/build/preprocessing/directives/UsingPublishContextualDirectiveHandler.scala

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,9 @@ package scala.build.preprocessing.directives
33
import scala.build.EitherCps.{either, value}
44
import scala.build.Logger
55
import scala.build.errors.{BuildException, MalformedInputError, UnexpectedDirectiveError}
6-
import scala.build.options.publish.{ComputeVersion, MaybeConfigPasswordOption}
7-
import scala.build.options.{
8-
BuildOptions,
9-
PostBuildOptions,
10-
PublishContextualOptions,
11-
PublishOptions
12-
}
6+
import scala.build.options.publish.ComputeVersion
7+
import scala.build.options.publish.ConfigPasswordOption
8+
import scala.build.options.{BuildOptions, PostBuildOptions, PublishContextualOptions, PublishOptions}
139
import scala.cli.signing.shared.PasswordOption
1410

1511
case object UsingPublishContextualDirectiveHandler extends UsingDirectiveHandler {
@@ -101,13 +97,13 @@ case object UsingPublishContextualDirectiveHandler extends UsingDirectiveHandler
10197
case "secretKey" =>
10298
PublishContextualOptions(secretKey =
10399
Some(
104-
MaybeConfigPasswordOption.ActualOption(value(parsePasswordOption(singleValue.value)))
100+
ConfigPasswordOption.ActualOption(value(parsePasswordOption(singleValue.value)))
105101
)
106102
)
107103
case "secretKeyPassword" =>
108104
PublishContextualOptions(
109105
secretKeyPassword = Some(
110-
MaybeConfigPasswordOption.ActualOption(value(parsePasswordOption(singleValue.value)))
106+
ConfigPasswordOption.ActualOption(value(parsePasswordOption(singleValue.value)))
111107
)
112108
)
113109
case "user" =>

modules/options/src/main/scala/scala/build/options/PublishContextualOptions.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package scala.build.options
22

3-
import scala.build.options.publish.{ComputeVersion, MaybeConfigPasswordOption, Signer}
3+
import scala.build.options.publish.{ComputeVersion, Signer, ConfigPasswordOption}
44
import scala.cli.signing.shared.PasswordOption
55

66
/** Publishing-related options, that can have different values locally and on CIs */
@@ -12,8 +12,8 @@ final case class PublishContextualOptions(
1212
gpgSignatureId: Option[String] = None,
1313
gpgOptions: List[String] = Nil,
1414
signer: Option[Signer] = None,
15-
secretKey: Option[MaybeConfigPasswordOption] = None,
16-
secretKeyPassword: Option[MaybeConfigPasswordOption] = None,
15+
secretKey: Option[ConfigPasswordOption] = None,
16+
secretKeyPassword: Option[ConfigPasswordOption] = None,
1717
repoUser: Option[PasswordOption] = None,
1818
repoPassword: Option[PasswordOption] = None,
1919
repoRealm: Option[String] = None,

0 commit comments

Comments
 (0)