Command-line options
This is a summary of options that are available for each subcommand of the scala-cli
command.
Scalac options forwarding
All options that start with:
-g
-language
-opt
-P
-target
-V
-W
-X
-Y
are assumed to be Scala compiler options and will be propagated to Scala Compiler. This applies to all commands that uses compiler directly or indirectly.
Scalac options that are directly supported in scala CLI (so can be provided as is, without any prefixes etc.):
-encoding
-release
-color
-nowarn
-feature
-deprecation
-indent
-no-indent
-unchecked
-rewrite
-old-syntax
-new-syntax
Benchmarking options
Available in commands:
bsp
, compile
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, publish
, publish local
, repl
, console
, run
, setup-ide
, shebang
, test
--jmh
Run JMH benchmarks
--jmh-version
Set JMH version (default: 1.37)
Compilation server options
Available in commands:
bloop
, bloop exit
, bloop output
, bloop start
, bsp
, compile
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, publish
, publish local
, repl
, console
, run
, setup-ide
, shebang
, test
, uninstall
--bloop-bsp-protocol
[Internal] Protocol to use to open a BSP connection with Bloop
--bloop-bsp-socket
[Internal] Socket file to use to open a BSP connection with Bloop
--bloop-host
[Internal] Host the compilation server should bind to
--bloop-port
[Internal]
Port the compilation server should bind to (pass -1
to pick a random port)
--bloop-daemon-dir
[Internal] Daemon directory of the Bloop daemon (directory with lock, pid, and socket files)
--bloop-version
[Internal] If Bloop isn't already running, the version we should start
--bloop-bsp-timeout
[Internal] Maximum duration to wait for the BSP connection to be opened
--bloop-bsp-check-period
[Internal] Duration between checks of the BSP connection state
--bloop-startup-timeout
[Internal] Maximum duration to wait for the compilation server to start up
--bloop-default-java-opts
[Internal] Include default JVM options for Bloop
--bloop-java-opt
[Internal] Pass java options to use by Bloop server
--bloop-global-options-file
[Internal] Bloop global options file
--bloop-jvm
[Internal] JVM to use to start Bloop (e.g. 'system|17', 'temurin:21', …)
--bloop-working-dir
[Internal] Working directory for Bloop, if it needs to be started
--server
Enable / disable usage of Bloop compilation server. Bloop is used by default so use --server=false
to disable it. Disabling compilation server allows to test compilation in more controlled mannter (no caching or incremental compiler) but has a detrimental effect of performance.
Compile options
Available in commands:
--print-class-path
Aliases: -p
, --print-classpath
Print the resulting class path
Config options
Available in commands:
--dump
[Internal] Dump config DB as JSON
--create-pgp-key
Create PGP keychain in config
--pgp-password
Aliases: --passphrase
A password used to encode the private PGP keychain
--email
Email used to create the PGP keychains in config
--password-value
When accessing config's content print the password value rather than how to get the password When saving an entry in config save the password value rather than how to get the password e.g. print/save the value of environment variable ENV_VAR rather than "env:ENV_VAR"
--unset
Aliases: --remove
Remove an entry from config
--https-only
For repository.credentials and publish.credentials, whether these credentials should be HTTPS only (default: true)
--match-host
For repository.credentials, whether to use these credentials automatically based on the host
--optional
For repository.credentials, whether to use these credentials are optional
--pass-on-redirect
For repository.credentials, whether to use these credentials should be passed upon redirection
--force
Aliases: -f
Force overwriting values for key
Coursier options
Available in commands:
bloop
, bloop exit
, bloop start
, bsp
, compile
, config
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, pgp push
, publish
, publish local
, publish setup
, repl
, console
, run
, github secret create
, gh secret create
, setup-ide
, shebang
, test
, uninstall
--ttl
[Internal] Specify a TTL for changing dependencies, such as snapshots
--cache
[Internal] Set the coursier cache location
--coursier-validate-checksums
[Internal] Enable checksum validation of artifacts downloaded by coursier
--offline
Disable using the network to download artifacts, use the local cache only
Cross options
Available in commands:
compile
, package
, publish
, publish local
, repl
, console
, run
, shebang
, test
--cross
Run given command against all provided Scala versions and/or platforms
Debug options
Available in commands:
bloop
, bloop start
, bsp
, compile
, config
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, pgp push
, publish
, publish local
, publish setup
, repl
, console
, run
, setup-ide
, shebang
, test
--debug
Turn debugging on
--debug-port
Debug port (5005 by default)
--debug-mode
Debug mode (attach by default)
Dependency options
Available in commands:
bsp
, compile
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, publish
, publish local
, repl
, console
, run
, setup-ide
, shebang
, test
--dependency
Aliases: --dep
Add dependencies
--compile-only-dependency
Aliases: --compile-dep
, --compile-lib
Add compile-only dependencies
--repository
Aliases: -r
, --repo
Add repositories for dependency resolution.
Accepts predefined repositories supported by Coursier (like sonatype:snapshots
or m2Local
) or a URL of the root of Maven repository
--compiler-plugin
Aliases: -P
, --plugin
Add compiler plugin dependencies
Dependency update options
Available in commands:
--all
Update all dependencies if a newer version was released
Doc options
Available in commands:
--output
Aliases: -o
Set the destination path
--force
Aliases: -f
Overwrite the destination directory, if it exists
--default-scaladoc-options
Aliases: --default-scaladoc-opts
Control if Scala CLI should use default options for scaladoc, true by default. Use --default-scaladoc-opts:false
to not include default options.
Export options
Available in commands:
--sbt
Sets the export format to SBT
--maven
Aliases: --mvn
Sets the export format to Maven
--mill
Sets the export format to Mill
--json
Sets the export format to Json
--sbt-setting
Aliases: --setting
--project
Aliases: -p
Project name to be used on Mill build file
--sbt-version
Version of SBT to be used for the export
--mvn-version
Version of Maven Compiler Plugin to be used for the export
--mvn-scala-version
Version of Maven Scala Plugin to be used for the export
--mvn-exec-plugin-version
Version of Maven Exec Plugin to be used for the export
--mvn-app-artifact-id
ArtifactId to be used for the maven export
--mvn-app-group-id
GroupId to be used for the maven export
--mvn-app-version
Version to be used for the maven export
--output
Aliases: -o
Fmt options
Available in commands:
--check
Check if sources are well formatted
--respect-project-filters
Use project filters defined in the configuration. Turned on by default, use --respect-project-filters:false
to disable it.
--save-scalafmt-conf
Saves .scalafmt.conf file if it was created or overwritten
--os-arch-suffix
[Internal]
--scalafmt-tag
[Internal]
--scalafmt-github-org-name
[Internal]
--scalafmt-extension
[Internal]
--scalafmt-launcher
[Internal]
--scalafmt-arg
Aliases: -F
Pass an argument to scalafmt.
--scalafmt-conf
Aliases: --scalafmt-config
Custom path to the scalafmt configuration file.
--scalafmt-conf-str
Aliases: --scalafmt-conf-snippet
, --scalafmt-config-str
Pass configuration as a string.
--scalafmt-dialect
Aliases: --dialect
Pass a global dialect for scalafmt. This overrides whatever value is configured in the .scalafmt.conf file or inferred based on Scala version used.
--scalafmt-version
Aliases: --fmt-version
Pass scalafmt version before running it (3.8.3 by default). If passed, this overrides whatever value is configured in the .scalafmt.conf file.
Global suppress warning options
Available in commands:
add-path
, bloop
, bloop exit
, bloop output
, bloop start
, bsp
, clean
, compile
, config
, default-file
, dependency-update
, directories
, doc
, export
, fix
, fmt
, format
, scalafmt
, help
, install completions
, install-completions
, install-home
, new
, package
, pgp pull
, pgp push
, publish
, publish local
, publish setup
, repl
, console
, run
, github secret create
, gh secret create
, github secret list
, gh secret list
, setup-ide
, shebang
, test
, uninstall
, uninstall completions
, uninstall-completions
, update
, version
--suppress-experimental-feature-warning
Aliases: --suppress-experimental-warning
Suppress warnings about using experimental features
Help options
Available in commands:
add-path
, bloop
, bloop exit
, bloop output
, bloop start
, bsp
, clean
, compile
, config
, default-file
, dependency-update
, directories
, doc
, export
, fix
, fmt
, format
, scalafmt
, help
, install completions
, install-completions
, install-home
, new
, package
, pgp create
, pgp key-id
, pgp pull
, pgp push
, pgp sign
, pgp verify
, publish
, publish local
, publish setup
, repl
, console
, run
, github secret create
, gh secret create
, github secret list
, gh secret list
, setup-ide
, shebang
, test
, uninstall
, uninstall completions
, uninstall-completions
, update
, version
--usage
Print usage and exit
--help
Aliases: -h
, -help
Print help message and exit
--help-full
Aliases: --full-help
, -full-help
, -help-full
Print help message, including hidden options, and exit
Help group options
Available in commands:
bsp
, compile
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, publish
, publish local
, repl
, console
, run
, setup-ide
, shebang
, test
--help-envs
Aliases: --env-help
, --envs-help
, --help-env
Show environment variable help
--help-js
Show options for ScalaJS
--help-native
Show options for ScalaNative
--help-scaladoc
Aliases: --doc-help
, --help-doc
, --scaladoc-help
Show options for Scaladoc
--help-repl
Aliases: --repl-help
Show options for Scala REPL
--help-scalafmt
Aliases: --fmt-help
, --help-fmt
, --scalafmt-help
Show options for Scalafmt
Install completions options
Available in commands:
install completions
, install-completions
--format
Aliases: --shell
Name of the shell, either zsh or bash
--rc-file
Path to *rc
file, defaults to .bashrc
or .zshrc
depending on shell
--output
Aliases: -o
Completions output directory
--banner
[Internal] Custom banner in comment placed in rc file
--name
[Internal] Custom completions name
--env
Print completions to stdout
Java options
Available in commands:
package
, repl
, console
, run
, shebang
, test
--java-opt
Aliases: -J
Set Java options, such as -Xmx1g
Java prop options
Available in commands:
package
, repl
, console
, run
, shebang
, test
--java-prop-option
Aliases: --java-prop
Add java properties. Note that options equal -Dproperty=value
are assumed to be java properties and don't require to be passed after --java-prop
.
Jvm options
Available in commands:
bloop
, bloop start
, bsp
, compile
, config
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, pgp push
, publish
, publish local
, publish setup
, repl
, console
, run
, setup-ide
, shebang
, test
--java-home
Set the Java home directory
--jvm
Aliases: -j
Use a specific JVM, such as 14
, adopt:11
, or graalvm:21
, or system
. scala-cli uses coursier to fetch JVMs, so you can use cs java --available
to list the available JVMs.
--jvm-index
[Internal] JVM index URL
--jvm-index-os
[Internal] Operating system to use when looking up in the JVM index
--jvm-index-arch
[Internal] CPU architecture to use when looking up in the JVM index
--javac-plugin
[Internal] Javac plugin dependencies or files
--javac-option
Aliases: --javac-opt
[Internal] Javac options
--bsp-debug-port
[Internal] Port for BSP debugging
Logging options
Available in commands:
add-path
, bloop
, bloop exit
, bloop output
, bloop start
, bsp
, clean
, compile
, config
, default-file
, dependency-update
, directories
, doc
, export
, fix
, fmt
, format
, scalafmt
, help
, install completions
, install-completions
, install-home
, new
, package
, pgp pull
, pgp push
, publish
, publish local
, publish setup
, repl
, console
, run
, github secret create
, gh secret create
, github secret list
, gh secret list
, setup-ide
, shebang
, test
, uninstall
, uninstall completions
, uninstall-completions
, update
, version
--quiet
Aliases: -q
Decrease logging verbosity
--progress
Use progress bars
Main class options
Available in commands:
export
, package
, publish
, publish local
, run
, shebang
--main-class
Aliases: -M
Specify which main class to run
--main-class-ls
Aliases: --list-main-class
, --list-main-classes
, --main-class-list
List main classes available in the current context
Markdown options
Available in commands:
bsp
, compile
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, publish
, publish local
, repl
, console
, run
, setup-ide
, shebang
, test
--enable-markdown
Aliases: --markdown
, --md
Enable markdown support.
Package options
Available in commands:
--output
Aliases: -o
Set the destination path
--force
Aliases: -f
Overwrite the destination file, if it exists
--library
Generate a library JAR rather than an executable JAR
--source
Aliases: --sources
, --src
Generate a source JAR rather than an executable JAR
--doc
Aliases: --javadoc
, --scaladoc
Generate a scaladoc JAR rather than an executable JAR
--assembly
Generate an assembly JAR
--preamble
For assembly JAR, whether to add a bash / bat preamble
--main-class-in-manifest
[Internal] For assembly JAR, whether to specify a main class in the JAR manifest
--spark
[Internal] Generate an assembly JAR for Spark (assembly that doesn't contain Spark, nor any of its dependencies)
--standalone
Package standalone JARs
--deb
Build Debian package, available only on Linux
--dmg
Build dmg package, available only on macOS
--rpm
Build rpm package, available only on Linux
--msi
Build msi package, available only on Windows
--pkg
Build pkg package, available only on macOS
--docker
Build Docker image
--provided
[Internal] Exclude modules and their transitive dependencies from the JAR to be packaged
--default-scaladoc-options
Aliases: --default-scaladoc-opts
Use default scaladoc options
--native-image
Aliases: --graal
Build GraalVM native image
Packager options
Available in commands:
--version
Set the version of the generated package
--logo-path
Path to application logo in PNG format, it will be used to generate icon and banner/dialog in msi installer
--launcher-app
Set launcher app name, which will be linked to the PATH
--description
--maintainer
Aliases: -m
This should contain names and email addresses of co-maintainers of the package
--debian-conflicts
The list of Debian package that this package is not compatible with
--debian-dependencies
The list of Debian packages that this package depends on
--deb-architecture
Architectures that are supported by the repository (default: all)
--priority
This field represents how important it is that the user have the package installed
--section
This field specifies an application area into which the package has been classified
--identifier
CF Bundle Identifier
--license
Licenses that are supported by the repository (list of licenses: https://spdx.org/licenses/)
--release
The number of times this version of the software was released (default: 1)
--rpm-architecture
Architectures that are supported by the repository (default: noarch)
--license-path
Path to the license file
--product-name
Name of product (default: Scala packager)
--exit-dialog
Text that will be displayed on the exit dialog
--suppress-validation
Suppress Wix ICE validation (required for users that are neither interactive, not local administrators)
--extra-config
Path to extra WIX configuration content
--is64-bits
Aliases: --64
Whether a 64-bit executable is being packaged
--installer-version
WIX installer version
--wix-upgrade-code-guid
The GUID to identify that the windows package can be upgraded.
--docker-from
Building the container from base image
--docker-image-registry
The image registry; if empty, it will use the default registry
--docker-image-repository
The image repository
--docker-image-tag
The image tag; the default tag is latest
--docker-cmd
Allows to override the executable used to run the application in docker, otherwise it defaults to sh for the JVM platform and node for the JS platform
--graalvm-java-version
GraalVM Java major version to use to build GraalVM native images (17 by default)
--graalvm-version
GraalVM version to use to build GraalVM native images (22.3.1 by default)
--graalvm-jvm-id
JVM id of GraalVM distribution to build GraalVM native images (like "graalvm-java17:22.0.0")
--graalvm-args
Pass args to GraalVM
Pgp push pull options
Available in commands:
pgp pull
, pgp push
, publish setup
--key-server
Key server to push / pull keys from
Power options
Available in commands:
add-path
, bloop
, bloop exit
, bloop output
, bloop start
, bsp
, clean
, compile
, config
, default-file
, dependency-update
, directories
, doc
, export
, fix
, fmt
, format
, scalafmt
, help
, install completions
, install-completions
, install-home
, new
, package
, pgp pull
, pgp push
, publish
, publish local
, publish setup
, repl
, console
, run
, github secret create
, gh secret create
, github secret list
, gh secret list
, setup-ide
, shebang
, test
, uninstall
, uninstall completions
, uninstall-completions
, update
, version
--power
Allows to use restricted & experimental features
Publish options
Available in commands:
--working-dir
[Internal] Directory where temporary files for publishing should be written
--scala-version-suffix
[Internal] Scala version suffix to append to the module name, like "_2.13" or "_3"
--scala-platform-suffix
[Internal] Scala platform suffix to append to the module name, like "_sjs1" or "_native0.4"
--sources
Whether to build and publish source JARs
--doc
Aliases: --javadoc
, --scaladoc
Whether to build and publish doc JARs
--gpg-key
Aliases: -K
ID of the GPG key to use to sign artifacts
--signer
Method to use to sign artifacts
--gpg-option
Aliases: -G
, --gpg-opt
gpg command-line options
--ivy2-home
Set Ivy 2 home directory
--checksum
[Internal]
--dummy
Proceed as if publishing, but do not upload / write artifacts to the remote repository
--ivy2-local-like
[Internal]
--parallel-upload
[Internal]
Publish params options
Available in commands:
publish
, publish local
, publish setup
--organization
Organization to publish artifacts under
--name
Name to publish artifacts as
--module-name
Final name to publish artifacts as, including Scala version and platform suffixes if any
--url
URL to put in publishing metadata
--license
License to put in publishing metadata
--vcs
VCS information to put in publishing metadata
--description
Description to put in publishing metadata
--developer
Developer(s) to add in publishing metadata, like "alex|Alex|https://alex.info" or "alex|Alex|https://alex.info|[email protected]"
--secret-key
Secret key to use to sign artifacts with Bouncy Castle
--secret-key-password
Aliases: --secret-key-pass
Password of secret key to use to sign artifacts with Bouncy Castle
--ci
Use or setup publish parameters meant to be used on continuous integration
Publish repository options
Available in commands:
--publish-repository
Aliases: -R
, --publish-repo
Repository to publish to
--user
User to use with publishing repository
--password
Password to use with publishing repository
--realm
Realm to use when passing credentials to publishing repository
Publish setup options
Available in commands:
--public-key
Public key to use to verify artifacts (to be uploaded to a key server)
--check
Check if some options for publishing are missing, and exit with non-zero return code if that's the case
--token
GitHub token to use to upload secrets to GitHub - password encoded
--random-secret-key
Generate a random key pair for publishing, with a secret key protected by a random password
--random-secret-key-mail
When generating a random key pair, the mail to associate to it
--checks
The option groups to check - can be "all", or a comma-separated list of "core", "signing", "repo", "extra"
--check-workflow
Whether to check if a GitHub workflow already exists (one for publishing is written if none is found)
--check-gitignore
Whether to check if a .gitignore file already exists (one is written if none is found)
--dummy
Dummy mode - don't upload any secret to GitHub
Python options
Available in commands:
bsp
, compile
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, publish
, publish local
, repl
, console
, run
, setup-ide
, shebang
, test
--python-setup
Set Java options so that Python can be loaded
--python
Aliases: --py
Enable Python support via ScalaPy
--scala-py-version
Aliases: --scalapy-version
Set ScalaPy version (0.5.3 by default)
Repl options
Available in commands:
--ammonite
Aliases: -A
, --amm
Use Ammonite (instead of the default Scala REPL)
--ammonite-version
Aliases: --ammonite-ver
Set the Ammonite version (3.0.0-2-6342755f by default)
--ammonite-arg
Aliases: -a
[Internal] Provide arguments for ammonite repl
--repl-dry-run
[Internal] Don't actually run the REPL, just fetch it
Run options
Available in commands:
--spark-submit
Aliases: --spark
[Internal] Run as a Spark job, using the spark-submit command
--submit-argument
Aliases: --submit-arg
[Internal] Spark-submit arguments
--standalone-spark
Aliases: --spark-standalone
Run as a Spark job, using a vanilla Spark distribution downloaded by Scala CLI
--hadoop-jar
Aliases: --hadoop
Run as a Hadoop job, using the "hadoop jar" command
--command
Print the command that would have been run (one argument per line), rather than running it
--scratch-dir
Temporary / working directory where to write generated launchers
--use-manifest
[Internal] Run Java commands using a manifest-based class path (shortens command length)
Scala.js options
Available in commands:
bsp
, compile
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, publish
, publish local
, repl
, console
, run
, setup-ide
, shebang
, test
--js
Enable Scala.js. To show more options for Scala.js pass --help-js
--js-version
The Scala.js version (1.17.0 by default).
--js-mode
The Scala.js mode, for fastLinkJS
use one of [dev
, fastLinkJS
or fast
], for fullLinkJS
use one of [release
, fullLinkJS
, full
]
--js-no-opt
[Internal]
Disable optimalisation for Scala.js, overrides --js-mode
--js-module-kind
The Scala.js module kind: commonjs/common, esmodule/es, nomodule/none
--js-check-ir
--js-emit-source-maps
Emit source maps
--js-source-maps-path
Set the destination path of source maps
--js-es-module-import-map
A file relative to the root directory containing import maps for ES module imports
--js-dom
Enable jsdom
--js-header
A header that will be added at the top of generated .js files
--js-allow-big-ints-for-longs
Primitive Longs may be compiled as primitive JavaScript bigints
--js-avoid-classes
Avoid class'es when using functions and prototypes has the same observable semantics.
--js-avoid-lets-and-consts
Avoid lets and consts when using vars has the same observable semantics.
--js-module-split-style
The Scala.js module split style: fewestmodules, smallestmodules, smallmodulesfor
--js-small-module-for-package
Create as many small modules as possible for the classes in the passed packages and their subpackages.
--js-es-version
The Scala.js ECMA Script version: es5_1, es2015, es2016, es2017, es2018, es2019, es2020, es2021
--js-linker-path
[Internal] Path to the Scala.js linker
--js-cli-version
[Internal] Scala.js CLI version to use for linking (1.17.0 by default).
--js-cli-java-arg
[Internal] Scala.js CLI Java options
--js-cli-on-jvm
[Internal] Whether to run the Scala.js CLI on the JVM or using a native executable
Scala Native options
Available in commands:
bsp
, compile
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, publish
, publish local
, repl
, console
, run
, setup-ide
, shebang
, test
--native
Enable Scala Native. To show more options for Scala Native pass --help-native
--native-version
Set the Scala Native version (0.5.5 by default).
--native-mode
Set Scala Native compilation mode
--native-lto
Link-time optimisation mode
--native-gc
Set the Scala Native garbage collector
--native-clang
Path to the Clang command
--native-clangpp
Path to the Clang++ command
--native-linking
Extra options passed to clang
verbatim during linking
--native-linking-defaults
[Internal] Use default linking settings
--native-compile
List of compile options
--native-compile-defaults
[Internal] Use default compile options
--native-target
Build target type
--embed-resources
Embed resources into the Scala Native binary (can be read with the Java resources API)
--native-multithreading
Enable/disable Scala Native multithreading support
Scalac options
Available in commands:
bsp
, compile
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, publish
, publish local
, repl
, console
, run
, setup-ide
, shebang
, test
--args-file
File with scalac options.
--scalac-option
Aliases: -O
, --scala-opt
, --scala-option
Add a scalac
option. Note that options starting with -g
, -language
, -opt
, -P
, -target
, -V
, -W
, -X
, and -Y
are assumed to be Scala compiler options and don't require to be passed after -O
or --scalac-option
.
Scalac extra options
Available in commands:
bsp
, compile
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, publish
, publish local
, repl
, console
, run
, setup-ide
, shebang
, test
--scalac-help
Aliases: --help-scalac
Show help for scalac. This is an alias for --scalac-option -help
--scalac-verbose
Aliases: --verbose-scalac
Turn verbosity on for scalac. This is an alias for --scalac-option -verbose
Scope options
Available in commands:
--test
Aliases: --test-scope
, --with-test
, --with-test-scope
Include test scope
Secret options
Available in commands:
github secret create
, gh secret create
, github secret list
, gh secret list
--token
--repository
Aliases: --repo
Secret create options
Available in commands:
github secret create
, gh secret create
--public-key
Aliases: --pub-key
--dummy
Aliases: -n
--print-request
[Internal]
Shared options
Available in commands:
bsp
, compile
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, publish
, publish local
, repl
, console
, run
, setup-ide
, shebang
, test
--scala-version
Aliases: -S
, --scala
Set the Scala version (3.5.1 by default)
--scala-binary-version
Aliases: -B
, --scala-bin
, --scala-binary
[Internal] Set the Scala binary version
--extra-jars
Aliases: --class
, --class-path
, --classes
, -classpath
, --classpath
, -cp
, --extra-class
, --extra-class-path
, --extra-classes
, --extra-jar
, --jar
, --jars
Add extra JARs and compiled classes to the class path
--extra-compile-only-jars
Aliases: --compile-only-jar
, --compile-only-jars
, --extra-compile-only-jar
Add extra JARs in the compilaion class path. Mainly using to run code in managed environments like Spark not to include certain depenencies on runtime ClassPath.
--extra-source-jars
Aliases: --extra-source-jar
, --source-jar
, --source-jars
Add extra source JARs
--resource-dirs
Aliases: --resource-dir
Add a resource directory
--as-jar
[Internal] Put project in class paths as a JAR rather than as a byte code directory
--platform
Specify platform
--scala-library
[Internal]
--with-compiler
Aliases: -with-compiler
, --with-scala-compiler
Allows to include the Scala compiler artifacts on the classpath.
--java
[Internal] Do not add dependency to Scala Standard library. This is useful, when Scala CLI works with pure Java projects.
--runner
[Internal] Should include Scala CLI runner on the runtime ClassPath. Runner is added by default for application running on JVM using standard Scala versions. Runner is used to make stack traces more readable in case of application failure.
--strict-bloop-json-check
[Internal]
--compilation-output
Aliases: --compile-out
, --compile-output
, -d
, --destination
, --output-directory
Copy compilation results to output directory using either relative or absolute path
--with-toolkit
Aliases: --toolkit
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.5.0, 'default' version for typelevel toolkit: 0.1.27
--exclude
Exclude sources
--object-wrapper
Force object wrapper for scripts
Snippet options
Available in commands:
bsp
, compile
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, publish
, publish local
, repl
, console
, run
, setup-ide
, shebang
, test
--script-snippet
Allows to execute a passed string as a Scala script
--execute-script
Aliases: -e
, --execute-sc
, --execute-scala-script
[Internal]
A synonym to --script-snippet, which defaults the sub-command to run
when no sub-command is passed explicitly
--scala-snippet
Allows to execute a passed string as Scala code
--execute-scala
[Internal]
A synonym to --scala-snippet, which defaults the sub-command to run
when no sub-command is passed explicitly
--java-snippet
Allows to execute a passed string as Java code
--execute-java
A synonym to --scala-snippet, which defaults the sub-command to run
when no sub-command is passed explicitly
--markdown-snippet
Aliases: --md-snippet
Allows to execute a passed string as Markdown code
--execute-markdown
Aliases: --execute-md
[Internal]
A synonym to --markdown-snippet, which defaults the sub-command to run
when no sub-command is passed explicitly
Source generator options
Available in commands:
bsp
, compile
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, publish
, publish local
, repl
, console
, run
, setup-ide
, shebang
, test
--use-build-info
Aliases: --build-info
Generate BuildInfo for project
Suppress warning options
Available in commands:
bsp
, compile
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, publish
, publish local
, repl
, console
, run
, setup-ide
, shebang
, test
--suppress-directives-in-multiple-files-warning
Aliases: --suppress-warning-directives-in-multiple-files
Suppress warnings about using directives in multiple files
--suppress-outdated-dependency-warning
Suppress warnings about outdated dependencies in project
Test options
Available in commands:
--test-framework
Name of the test framework's runner class to use while running tests
--require-tests
Fail if no test suites were run
--test-only
Specify a glob pattern to filter the tests suite to be run.
Uninstall options
Available in commands:
--force
Aliases: -f
Force scala-cli uninstall
--skip-cache
[Internal] Don't clear Scala CLI cache
--binary-name
[Internal] Binary name
--bin-dir
[Internal] Binary directory
Uninstall completions options
Available in commands:
uninstall
, uninstall completions
, uninstall-completions
--rc-file
Path to *rc
file, defaults to .bashrc
or .zshrc
depending on shell
--banner
[Internal] Custom banner in comment placed in rc file
--name
[Internal] Custom completions name
Update options
Available in commands:
--binary-name
[Internal] Binary name
--bin-dir
[Internal] Binary directory
--force
Aliases: -f
Force update Scala CLI if it is outdated
--is-internal-run
[Internal]
--gh-token
[Internal] A github token used to access GitHub. Not needed in most cases.
Verbosity options
Available in commands:
add-path
, bloop
, bloop exit
, bloop output
, bloop start
, bsp
, clean
, compile
, config
, default-file
, dependency-update
, directories
, doc
, export
, fix
, fmt
, format
, scalafmt
, help
, install completions
, install-completions
, install-home
, new
, package
, pgp pull
, pgp push
, publish
, publish local
, publish setup
, repl
, console
, run
, github secret create
, gh secret create
, github secret list
, gh secret list
, setup-ide
, shebang
, test
, uninstall
, uninstall completions
, uninstall-completions
, update
, version
--verbose
Aliases: -v
, -verbose
Increase verbosity (can be specified multiple times)
--interactive
Aliases: -i
Interactive mode
--actions
Enable actionable diagnostics
Version options
Available in commands:
bsp
, compile
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, publish
, publish local
, publish setup
, repl
, console
, run
, setup-ide
, shebang
, test
, version
--compute-version
Method used to compute the project version
--project-version
Set the project version
--cli-version
Aliases: --cli
Show plain Scala CLI version only
--scala-version
Aliases: --scala
Show plain Scala version only
--gh-token
[Internal] A github token used to access GitHub. Not needed in most cases.
--offline
Don't check for the newest available Scala CLI version upstream
Watch options
Available in commands:
compile
, package
, publish
, publish local
, repl
, console
, run
, shebang
, test
--watch
Aliases: -w
Run the application in the background, automatically wake the thread and re-run if sources have been changed
--restart
Aliases: --revolver
Run the application in the background, automatically kill the process and restart if sources have been changed
Internal options
Add path options
Available in commands:
--title
[Internal]
Bloop options
Available in commands:
--working-directory
Aliases: --dir
, --working-dir
[Internal]
Bloop start options
Available in commands:
--force
Aliases: -f
[Internal]
Bsp options
Available in commands:
--json-options
[Internal] Command-line options JSON file
--json-launcher-options
[Internal] Command-line launcher options JSON file
--envs
Aliases: --envs-file
[Internal] Command-line options environment variables file
Bsp file options
Available in commands:
--bsp-directory
Aliases: --bsp-dir
[Internal] Custom BSP configuration location
--bsp-name
Aliases: --name
[Internal] Name of BSP
Default file options
Available in commands:
--write
[Internal] Write result to files rather than to stdout
--list
[Internal] List available default files
--list-ids
[Internal] List available default file ids
--force
Aliases: -f
[Internal] Force overwriting destination files
Input options
Available in commands:
bsp
, compile
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, publish
, publish local
, publish setup
, repl
, console
, run
, setup-ide
, shebang
, test
--default-forbidden-directories
[Internal]
--forbid
[Internal]
Install home options
Available in commands:
--scala-cli-binary-path
[Internal]
--force
Aliases: -f
[Internal] Overwrite if it exists
--binary-name
[Internal] Binary name
--env
[Internal]
Print the update to env
variable
--bin-dir
[Internal] Binary directory
Pgp create options
Available in commands:
--email
[Internal]
--password
[Internal]
--dest
[Internal]
--pub-dest
[Internal]
--secret-dest
[Internal]
--verbose
[Internal]
--quiet
[Internal]
Pgp key id options
Available in commands:
--fingerprint
[Internal]
--verbose
Aliases: -v
[Internal]
Pgp pull options
Available in commands:
--allow-empty
[Internal] Whether to exit with code 0 if no key is passed
Pgp push options
Available in commands:
--force
Aliases: -f
[Internal] Try to push the key even if Scala CLI thinks it's not a public key
--allow-empty
[Internal] Whether to exit with code 0 if no key is passed
Pgp scala signing options
Available in commands:
config
, pgp push
, publish
, publish local
, publish setup
--signing-cli-version
[Internal] scala-cli-signing version when running externally (0.2.4 by default)
--signing-cli-java-arg
[Internal] Pass arguments to the Java command when running scala-cli-singing externally on JVM
--force-signing-externally
[Internal] When running Scala CLI on the JVM, force running scala-cli-singing externally
--force-jvm-signing-cli
[Internal] When running Scala CLI on the JVM, force running scala-cli-singing using a native launcher or a JVM launcher
Pgp sign options
Available in commands:
--password
[Internal]
--secret-key
[Internal]
--force
Aliases: -f
[Internal]
--stdout
[Internal]
Pgp verify options
Available in commands:
--key
[Internal]
Publish connection options
Available in commands:
--connection-timeout-seconds
[Internal] Connection timeout, in seconds.
--connection-timeout-retries
[Internal] How many times to retry establishing the connection on timeout.
--response-timeout-seconds
[Internal] Waiting for response timeout, in seconds.
--staging-repo-retries
[Internal] How many times to retry the staging repository operations on failure.
--staging-repo-wait-time-milis
[Internal] Time to wait between staging repository operation retries, in milliseconds.
Semantic db options
Available in commands:
bsp
, compile
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, publish
, publish local
, repl
, console
, run
, setup-ide
, shebang
, test
--semantic-db
Aliases: --semanticdb
[Internal] Generate SemanticDBs
--semantic-db-target-root
Aliases: --semanticdb-target-root
, --semanticdb-targetroot
[Internal] SemanticDB target root (default to the compiled classes destination directory)
--semantic-db-source-root
Aliases: --semanticdb-source-root
, --semanticdb-sourceroot
[Internal] SemanticDB source root (default to the project root directory)
Setup IDE options
Available in commands:
--charset
[Internal]
Workspace options
Available in commands:
bsp
, clean
, compile
, dependency-update
, doc
, export
, fix
, fmt
, format
, scalafmt
, package
, publish
, publish local
, publish setup
, repl
, console
, run
, setup-ide
, shebang
, test
--workspace
[Internal] Directory where .scala-build is written