-
Notifications
You must be signed in to change notification settings - Fork 128
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1008 from alexarchambault/publish-local
Add "publish local" command
- Loading branch information
Showing
13 changed files
with
850 additions
and
291 deletions.
There are no files selected for viewing
27 changes: 27 additions & 0 deletions
27
modules/cli-options/src/main/scala/scala/cli/commands/publish/PublishLocalOptions.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
package scala.cli.commands.publish | ||
|
||
import caseapp._ | ||
|
||
import scala.cli.commands.{CompileCrossOptions, MainClassOptions, SharedOptions, SharedWatchOptions} | ||
|
||
// format: off | ||
final case class PublishLocalOptions( | ||
@Recurse | ||
shared: SharedOptions = SharedOptions(), | ||
@Recurse | ||
watch: SharedWatchOptions = SharedWatchOptions(), | ||
@Recurse | ||
compileCross: CompileCrossOptions = CompileCrossOptions(), | ||
@Recurse | ||
mainClass: MainClassOptions = MainClassOptions(), | ||
@Recurse | ||
publishParams: PublishParamsOptions = PublishParamsOptions(), | ||
@Recurse | ||
sharedPublish: SharedPublishOptions = SharedPublishOptions() | ||
) | ||
// format: on | ||
|
||
object PublishLocalOptions { | ||
implicit lazy val parser: Parser[PublishLocalOptions] = Parser.derive | ||
implicit lazy val help: Help[PublishLocalOptions] = Help.derive | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
61 changes: 61 additions & 0 deletions
61
modules/cli-options/src/main/scala/scala/cli/commands/publish/PublishParamsOptions.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
package scala.cli.commands.publish | ||
|
||
import caseapp._ | ||
|
||
import scala.cli.signing.shared.PasswordOption | ||
import scala.cli.signing.util.ArgParsers._ | ||
|
||
// format: off | ||
final case class PublishParamsOptions( | ||
|
||
@Group("Publishing") | ||
@HelpMessage("Organization to publish artifacts under") | ||
organization: Option[String] = None, | ||
@Group("Publishing") | ||
@HelpMessage("Name to publish artifacts as") | ||
name: Option[String] = None, | ||
@Group("Publishing") | ||
@HelpMessage("Final name to publish artifacts as, including Scala version and platform suffixes if any") | ||
moduleName: Option[String] = None, | ||
@Group("Publishing") | ||
@HelpMessage("Version to publish artifacts as") | ||
version: Option[String] = None, | ||
@Group("Publishing") | ||
@HelpMessage("How to compute the version to publish artifacts as") | ||
computeVersion: Option[String] = None, | ||
@Group("Publishing") | ||
@HelpMessage("URL to put in publishing metadata") | ||
url: Option[String] = None, | ||
@Group("Publishing") | ||
@HelpMessage("License to put in publishing metadata") | ||
@ValueDescription("name:URL") | ||
license: Option[String] = None, | ||
@Group("Publishing") | ||
@HelpMessage("VCS information to put in publishing metadata") | ||
vcs: Option[String] = None, | ||
@Group("Publishing") | ||
@HelpMessage("Description to put in publishing metadata") | ||
description: Option[String] = None, | ||
@Group("Publishing") | ||
@HelpMessage("Developer(s) to add in publishing metadata, like \"alex|Alex|https://alex.info\" or \"alex|Alex|https://alex.info|alex@alex.me\"") | ||
@ValueDescription("id|name|URL|email") | ||
developer: List[String] = Nil, | ||
|
||
@Group("Publishing") | ||
@HelpMessage("Secret key to use to sign artifacts with BouncyCastle") | ||
secretKey: Option[PasswordOption] = None, | ||
|
||
@Group("Publishing") | ||
@HelpMessage("Password of secret key to use to sign artifacts with BouncyCastle") | ||
@ValueDescription("value:…") | ||
@ExtraName("secretKeyPass") | ||
secretKeyPassword: Option[PasswordOption] = None | ||
|
||
) | ||
// format: on | ||
|
||
object PublishParamsOptions { | ||
lazy val parser: Parser[PublishParamsOptions] = Parser.derive | ||
implicit lazy val parserAux: Parser.Aux[PublishParamsOptions, parser.D] = parser | ||
implicit lazy val help: Help[PublishParamsOptions] = Help.derive | ||
} |
35 changes: 35 additions & 0 deletions
35
modules/cli-options/src/main/scala/scala/cli/commands/publish/PublishRepositoryOptions.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
package scala.cli.commands.publish | ||
|
||
import caseapp._ | ||
|
||
import scala.cli.signing.shared.PasswordOption | ||
import scala.cli.signing.util.ArgParsers._ | ||
|
||
// format: off | ||
final case class PublishRepositoryOptions( | ||
|
||
@Group("Publishing") | ||
@HelpMessage("Repository to publish to") | ||
@ValueDescription("URL or path") | ||
@ExtraName("R") | ||
@ExtraName("publishRepo") | ||
publishRepository: Option[String] = None, | ||
|
||
@Group("Publishing") | ||
@HelpMessage("User to use with publishing repository") | ||
@ValueDescription("user") | ||
user: Option[PasswordOption] = None, | ||
|
||
@Group("Publishing") | ||
@HelpMessage("Password to use with publishing repository") | ||
@ValueDescription("value:…") | ||
password: Option[PasswordOption] = None | ||
|
||
) | ||
// format: on | ||
|
||
object PublishRepositoryOptions { | ||
lazy val parser: Parser[PublishRepositoryOptions] = Parser.derive | ||
implicit lazy val parserAux: Parser.Aux[PublishRepositoryOptions, parser.D] = parser | ||
implicit lazy val help: Help[PublishRepositoryOptions] = Help.derive | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.