Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enforce logging options for all scala commands #1499

Merged
merged 12 commits into from
Oct 27, 2022
Merged
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package scala.cli.commands

import caseapp._

import scala.cli.commands.common.HasLoggingOptions
import scala.cli.signing.shared.PasswordOption
import scala.cli.signing.util.ArgParsers._

Expand All @@ -13,7 +14,7 @@ final case class AboutOptions(
@Hidden
@HelpMessage(HelpMessages.passwordOption)
ghToken: Option[PasswordOption] = None
)
) extends HasLoggingOptions
// format: on


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@ package scala.cli.commands

import caseapp._

import scala.cli.commands.common.HasLoggingOptions

// format: off
final case class AddPathOptions(
@Recurse
logging: LoggingOptions = LoggingOptions(),
title: String = ""
)
) extends HasLoggingOptions
// format: on

object AddPathOptions {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package scala.cli.commands

import caseapp._

import scala.cli.commands.common.HasLoggingOptions


// format: off
final case class BloopExitOptions(
Expand All @@ -13,7 +15,7 @@ final case class BloopExitOptions(
directories: SharedDirectoriesOptions = SharedDirectoriesOptions(),
@Recurse
coursier: CoursierOptions = CoursierOptions()
)
) extends HasLoggingOptions
// format: on

object BloopExitOptions {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package scala.cli.commands

import caseapp._

import scala.cli.commands.common.HasLoggingOptions

// format: off
final case class BloopStartOptions(
@Recurse
Expand All @@ -16,7 +18,7 @@ final case class BloopStartOptions(
coursier: CoursierOptions = CoursierOptions(),
@Name("f")
force: Boolean = false
)
) extends HasLoggingOptions
// format: on

object BloopStartOptions {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,20 @@ package scala.cli.commands

import caseapp._

import scala.cli.commands.common.HasSharedOptions

// format: off
@HelpMessage("Start BSP server")
final case class BspOptions(
// FIXME There might be too many options in SharedOptions for the bsp command…
@Recurse
shared: SharedOptions = SharedOptions(),

@HelpMessage("Command-line options JSON file")
@ValueDescription("path")
@Hidden
jsonOptions: Option[String] = None
) {
) extends HasSharedOptions {
// format: on
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package scala.cli.commands

import caseapp._

import scala.cli.commands.common.HasLoggingOptions

// format: off
@HelpMessage("Clean the workspace")
final case class CleanOptions(
Expand All @@ -13,7 +15,7 @@ final case class CleanOptions(
bspFile: SharedBspFileOptions = SharedBspFileOptions(),
@Recurse
workspace: SharedWorkspaceOptions = SharedWorkspaceOptions()
)
) extends HasLoggingOptions
// format: on

object CleanOptions {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ package scala.cli.commands
import caseapp._
import caseapp.core.help.Help

import scala.cli.commands.common.HasSharedOptions

// format: off
@HelpMessage("Compile Scala code")
final case class CompileOptions(
Expand All @@ -20,7 +22,7 @@ final case class CompileOptions(

@HelpMessage("Compile test scope")
test: Boolean = false
)
) extends HasSharedOptions
// format: on

object CompileOptions {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package scala.cli.commands

import caseapp._

import scala.cli.commands.common.HasSharedOptions

// format: off
case class DefaultOptions(
@Recurse
Expand All @@ -12,7 +14,7 @@ case class DefaultOptions(
sharedRepl: SharedReplOptions = SharedReplOptions(),
@Name("-version")
version: Boolean = false
)
) extends HasSharedOptions
// format: on

object DefaultOptions {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ package scala.cli.commands
import caseapp._
import caseapp.core.help.Help

import scala.cli.commands.common.HasSharedOptions

// format: off
@HelpMessage("Update dependencies in project")
final case class DependencyUpdateOptions(
Expand All @@ -11,7 +13,7 @@ final case class DependencyUpdateOptions(
@Group("DependencyUpdate")
@HelpMessage("Update all dependencies if newer version was released")
all: Boolean = false,
)
) extends HasSharedOptions
// format: on

object DependencyUpdateOptions {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,16 @@ package scala.cli.commands

import caseapp._

import scala.cli.commands.common.HasLoggingOptions

// format: off
@HelpMessage("Prints directories used by `scala-cli`")
final case class DirectoriesOptions(
@Recurse
directories: SharedDirectoriesOptions = SharedDirectoriesOptions(),
@Recurse
logging: LoggingOptions = LoggingOptions()
)
) extends HasLoggingOptions
// format: on

object DirectoriesOptions {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ package scala.cli.commands
import caseapp._
import caseapp.core.help.Help

import scala.cli.commands.common.HasSharedOptions

// format: off
@HelpMessage("Generate Scaladoc documentation", "By default, Scala CLI sets common scaladoc options and this mechanism can be disabled by using `--default-scaladoc-opts:false`.")
final case class DocOptions(
Expand All @@ -20,7 +22,7 @@ final case class DocOptions(
@HelpMessage("Control if scala CLI should use default options for scaladoc, true by default. Use `--default-scaladoc-opts:false` to not include default options.")
@ExtraName("defaultScaladocOpts")
defaultScaladocOptions: Option[Boolean] = None,
)
) extends HasSharedOptions
// format: on

object DocOptions {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package scala.cli.commands

import caseapp._

import scala.cli.commands.common.HasLoggingOptions
import scala.cli.signing.shared.PasswordOption
import scala.cli.signing.util.ArgParsers._

Expand All @@ -13,7 +14,7 @@ final case class DoctorOptions(
@Hidden
@HelpMessage(HelpMessages.passwordOption)
ghToken: Option[PasswordOption] = None
)
) extends HasLoggingOptions
// format: on

object DoctorOptions {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package scala.cli.commands

import caseapp._

import scala.cli.commands.common.HasSharedOptions

// format: off
@HelpMessage("Export current project to sbt or Mill")
final case class ExportOptions(
Expand All @@ -24,7 +26,7 @@ final case class ExportOptions(
@Name("o")
@Group("Build Tool export options")
output: Option[String] = None
)
) extends HasSharedOptions
// format: on
object ExportOptions {
implicit lazy val parser: Parser[ExportOptions] = Parser.derive
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package scala.cli.commands

import caseapp._

import scala.cli.commands.common.HasSharedOptions

// format: off
@HelpMessage("Format Scala code")
final case class FmtOptions(
Expand Down Expand Up @@ -58,7 +60,7 @@ final case class FmtOptions(
@HelpMessage("Pass scalafmt version before running it. This overrides whatever value is configured in the .scalafmt.conf file.")
@Name("fmtVersion")
scalafmtVersion: Option[String] = None
)
) extends HasSharedOptions
// format: on
object FmtOptions {
implicit lazy val parser: Parser[FmtOptions] = Parser.derive
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@ package scala.cli.commands

import caseapp._

import scala.cli.commands.common.HasLoggingOptions

// format: off
@HelpMessage("Print help message")
case class HelpOptions(
@Recurse
logging: LoggingOptions = LoggingOptions()
)
) extends HasLoggingOptions
// format: on

object HelpOptions {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package scala.cli.commands

import caseapp._

import scala.cli.commands.common.HasLoggingOptions

// format: off
@HelpMessage("Installs completions into your shell")
final case class InstallCompletionsOptions(
Expand Down Expand Up @@ -31,7 +33,7 @@ final case class InstallCompletionsOptions(

@HelpMessage("Print completions to stdout")
env: Boolean = false,
)
) extends HasLoggingOptions
// format: on

object InstallCompletionsOptions {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package scala.cli.commands

import caseapp._

import scala.cli.commands.common.HasLoggingOptions

// format: off
@HelpMessage("Install `scala-cli` in a sub-directory of the home directory")
final case class InstallHomeOptions(
Expand All @@ -21,7 +23,7 @@ final case class InstallHomeOptions(
@Hidden
@HelpMessage("Binary directory")
binDir: Option[String] = None
) {
) extends HasLoggingOptions {
// format: on
lazy val binDirPath = binDir.map(os.Path(_, os.pwd))
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package scala.cli.commands

import caseapp._

import scala.cli.commands.common.HasSharedOptions

// format: off
@HelpMessage("Browse Scala code and its dependencies in the browser")
final case class MetabrowseOptions(
Expand Down Expand Up @@ -32,7 +34,7 @@ final case class MetabrowseOptions(
metabrowseLauncher: Option[String] = None,
@Hidden
metabrowseDialect: Option[String] = None
) {
) extends HasSharedOptions {
// format: on
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ package scala.cli.commands
import caseapp._
import caseapp.core.help.Help

import scala.cli.commands.common.HasSharedOptions

// format: off
@HelpMessage("Compile and package Scala code")
final case class PackageOptions(
Expand Down Expand Up @@ -90,7 +92,7 @@ final case class PackageOptions(
@HelpMessage("Build GraalVM native image")
@ExtraName("graal")
nativeImage: Boolean = false
)
) extends HasSharedOptions
// format: on

object PackageOptions {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,16 @@ package scala.cli.commands

import caseapp._

import scala.cli.commands.common.HasSharedOptions

// format: off
@HelpMessage("Fire-up a Scala REPL")
final case class ReplOptions(
@Recurse
shared: SharedOptions = SharedOptions(),
@Recurse
sharedRepl: SharedReplOptions = SharedReplOptions()
)
) extends HasSharedOptions
// format: on

object ReplOptions {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ package scala.cli.commands
import caseapp._
import caseapp.core.help.Help

import scala.cli.commands.common.HasSharedOptions

// format: off
@HelpMessage("""|Compile and run Scala code.
|
Expand All @@ -16,7 +18,7 @@ final case class RunOptions(
shared: SharedOptions = SharedOptions(),
@Recurse
sharedRun: SharedRunOptions = SharedRunOptions()
)
) extends HasSharedOptions
// format: on

object RunOptions {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package scala.cli.commands

import caseapp._

import scala.cli.commands.common.HasSharedOptions

// format: off
@HelpMessage("Generate a BSP file that you can import into your IDE")
final case class SetupIdeOptions(
Expand All @@ -11,7 +13,7 @@ final case class SetupIdeOptions(
bspFile: SharedBspFileOptions = SharedBspFileOptions(),
@Hidden
charset: Option[String] = None
)
) extends HasSharedOptions
// format: on

object SetupIdeOptions {
Expand Down
Loading