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
@@ -1,23 +1,23 @@
package scala.cli.commands

import caseapp._
import caseapp.*

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

// format: off
@HelpMessage("Print details about this application")
final case class AboutOptions(
@Recurse
verbosity: VerbosityOptions = VerbosityOptions(),
logging: LoggingOptions = LoggingOptions(),
@Hidden
@HelpMessage(HelpMessages.passwordOption)
ghToken: Option[PasswordOption] = None
)
) extends HasLoggingOptions
// format: on


object AboutOptions {
implicit lazy val parser: Parser[AboutOptions] = Parser.derive
implicit lazy val help: Help[AboutOptions] = Help.derive
implicit lazy val help: Help[AboutOptions] = Help.derive
}
Original file line number Diff line number Diff line change
@@ -1,19 +1,16 @@
package scala.cli.commands

import caseapp._
import caseapp.*

import scala.cli.commands.common.HasLoggingOptions

// format: off
final case class AddPathOptions(
@Recurse
verbosityOptions: VerbosityOptions = VerbosityOptions(),
@Group("Logging")
@Name("q")
quiet: Boolean = false,
logging: LoggingOptions = LoggingOptions(),
title: String = ""
) {
// format: on
lazy val verbosity = verbosityOptions.verbosity - (if (quiet) 1 else 0)
}
) extends HasLoggingOptions
// format: on

object AddPathOptions {
implicit lazy val parser: Parser[AddPathOptions] = Parser.derive
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package scala.cli.commands

import caseapp._
import caseapp.*

// format: off
final case class BenchmarkingOptions(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package scala.cli.commands

import caseapp._
import caseapp.*

import scala.cli.commands.common.HasLoggingOptions


// format: off
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
@@ -1,6 +1,8 @@
package scala.cli.commands

import caseapp._
import caseapp.*

import scala.cli.commands.common.HasLoggingOptions

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

object BloopStartOptions {

implicit lazy val parser: Parser[BloopStartOptions] = Parser.derive
implicit lazy val help: Help[BloopStartOptions] = Help.derive
}
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
package scala.cli.commands

import caseapp._
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
@@ -1,6 +1,8 @@
package scala.cli.commands

import caseapp._
import caseapp.*

import scala.cli.commands.common.HasLoggingOptions

// format: off
@HelpMessage("Clean the workspace")
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
@@ -1,8 +1,10 @@
package scala.cli.commands

import caseapp._
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
@@ -1,8 +1,8 @@
package scala.cli.commands

import caseapp._
import com.github.plokhotnyuk.jsoniter_scala.core._
import com.github.plokhotnyuk.jsoniter_scala.macros._
import caseapp.*
import com.github.plokhotnyuk.jsoniter_scala.core.*
import com.github.plokhotnyuk.jsoniter_scala.macros.*

// format: off
final case class CoursierOptions(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package scala.cli.commands

import caseapp._
import caseapp.*

// format: off
final case class CrossOptions(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package scala.cli.commands

import caseapp._
import caseapp.*

import scala.cli.commands.common.HasSharedOptions

// format: off
case class DefaultOptions(
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
@@ -1,8 +1,10 @@
package scala.cli.commands

import caseapp._
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
@@ -1,15 +1,17 @@
package scala.cli.commands

import caseapp._
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
verbosity: VerbosityOptions = VerbosityOptions()
)
logging: LoggingOptions = LoggingOptions()
) extends HasLoggingOptions
// format: on

object DirectoriesOptions {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package scala.cli.commands

import caseapp._
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
@@ -1,19 +1,20 @@
package scala.cli.commands

import caseapp._
import caseapp.*

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

// format: off
@HelpMessage("Print details about this application")
final case class DoctorOptions(
@Recurse
verbosity: VerbosityOptions = VerbosityOptions(),
logging: LoggingOptions = LoggingOptions(),
@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
@@ -1,6 +1,8 @@
package scala.cli.commands

import caseapp._
import caseapp.*

import scala.cli.commands.common.HasSharedOptions

// format: off
@HelpMessage("Export current project to sbt or Mill")
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
@@ -1,6 +1,8 @@
package scala.cli.commands

import caseapp._
import caseapp.*

import scala.cli.commands.common.HasSharedOptions

// format: off
@HelpMessage("Format Scala code")
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
@@ -1,9 +1,9 @@
package scala.cli.commands

import caseapp._
import caseapp.*
import caseapp.core.help.{Help, HelpFormat}
import com.github.plokhotnyuk.jsoniter_scala.core._
import com.github.plokhotnyuk.jsoniter_scala.macros._
import com.github.plokhotnyuk.jsoniter_scala.core.*
import com.github.plokhotnyuk.jsoniter_scala.macros.*

@HelpMessage("Print help message")
case class HelpGroupOptions(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
package scala.cli.commands

import caseapp._
import caseapp.*

import scala.cli.commands.common.HasLoggingOptions

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

object HelpOptions {
implicit lazy val parser: Parser[HelpOptions] = Parser.derive
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package scala.cli.commands

import caseapp._
import caseapp.*

import scala.cli.commands.common.HasLoggingOptions

// format: off
@HelpMessage("Installs completions into your shell")
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
Loading