scala:script

Full name:

net.alchim31.maven:scala-maven-plugin:4.8.1:script

Description:

Run a scala script.

Attributes:

  • Requires a Maven project to be executed.
  • Requires dependency resolution of artifacts in scope: runtime.
  • The goal is thread-safe and supports parallel builds.
  • Since version: 2.7.

Required Parameters

Name Type Since Description
<displayCmd> boolean - Display the command line called ? (property 'maven.scala.displayCmd' replaced by 'displayCmd')
Default value is: false.
User property is: displayCmd.

Optional Parameters

Name Type Since Description
<addJavacArgs> String - Alternative method for specifying javac arguments (when using incremental compiler). Can be used from command line with -DaddJavacArgs=arg1|arg2|arg3|... rather than in pom.xml.
User property is: addJavacArgs.
<addScalacArgs> String - Additional parameter to use to call the main class. Use this parameter only from command line ("-DaddScalacArgs=arg1|arg2|arg3|..."), not from pom.xml. To define compiler arguments in pom.xml see the "args" parameter.
User property is: addScalacArgs.
<addToClasspath> String - Comma seperated list of directories or jars to add to the classpath
User property is: addToClasspath.
<args> String[] - compiler additional arguments
<checkMultipleScalaVersions> boolean - Check if every dependencies use the same version of scala-library or scala.compat.version.
Default value is: true.
User property is: maven.scala.checkConsistency.
<compilerPlugins> BasicArtifact[] - Compiler plugin dependencies to use when compiling. ex:
<compilerPlugins>
  <compilerPlugin>
    <groupId>my.scala.plugin</groupId>
    <artifactId>amazingPlugin</artifactId>
    <version>1.0-SNAPSHOT</version>
  </compilerPlugin>
</compilerPlugins>

<dependencies> BasicArtifact[] - Additional dependencies/jar to add to classpath to run "scalaClassName" (scope and optional field not supported) ex :
   <dependencies>
     <dependency>
       <groupId>org.scala-tools</groupId>
       <artifactId>scala-compiler-addon</artifactId>
       <version>1.0-SNAPSHOT</version>
     </dependency>
   </dependencies>

<encoding> String - The -encoding argument for the Java compiler. (when using incremental compiler).
Default value is: UTF-8.
User property is: project.build.sourceEncoding.
<excludeScopes> String - Comma separated list of scopes to remove from the classpath. Eg: test,compile
User property is: maven.scala.excludeScopes.
<failOnMultipleScalaVersions> boolean - Determines if a detection of multiple scala versions in the dependencies will cause the build to fail.
Default value is: false.
<forceUseArgFile> boolean - Force the use of an external ArgFile to run any forked process.
Default value is: false.
<fork> boolean - Forks the execution of scalac into a separate process.
Default value is: true.
<includeScopes> String - Comma separated list of scopes to add to the classpath. The possible scopes are : test,compile, system, runtime, plugin. By default embedded script into pom.xml run with 'plugin' scope and script read from scriptFile run with 'compile, test, runtime'
User property is: maven.scala.includeScopes.
<javacArgs> String[] - Arguments for javac (when using incremental compiler).
User property is: javacArgs.
<javacGenerateDebugSymbols> boolean - Whether to instruct javac to generate debug symbols (when using incremental compiler)
See also: ://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#debug
Default value is: true.
User property is: javacGenerateDebugSymbols.
<jvmArgs> String[] - Jvm Arguments.
<keepGeneratedScript> boolean - If set to true the Scala classfile that is generated will not be deleted after the goal completes. This is to allows easier debugging of the script especially since line numbers will be wrong because lines are added to the compiled script (see script examples)
Default value is: false.
User property is: maven.scala.keepGeneratedScript.
<outputDir> File - The build directory of the project
User property is: project.build.directory.
<pluginArtifacts> List<Artifact> - List of artifacts to run plugin
Default value is: ${plugin.artifacts}.
<release> String - The --release argument for the Java compiler (when using incremental compiler), supported since Java9.
User property is: maven.compiler.release.
<removeFromClasspath> String - Comma separated list of directories or jars to remove from the classpath. This is useful for resolving conflicts in the classpath. For example, the script uses Ant 1.7 and the compiler dependencies pull in Ant 1.5 optional which conflicts and causes a crash
User property is: removeFromClasspath.
<scalaClassName> String - override the className (FQN) of the scala tool
User property is: maven.scala.className.
<scalaCompatVersion> String - Scala 's version to use to check binary compatibility (like suffix in artifactId of dependency). If it is defined then it is used to checkMultipleScalaVersions
User property is: scala.compat.version.
<scalaHome> String - Path to Scala installation to use instead of the artifact (define as dependencies).
User property is: scala.home.
<scalaOrganization> String - Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases.
Default value is: org.scala-lang.
User property is: scala.organization.
<scalaVersion> String - Scala 's version to use. (property 'maven.scala.version' replaced by 'scala.version')
User property is: scala.version.
<script> String - The script that will be executed. Either 'scriptFile' or ' script' must be defined.
User property is: script.
<scriptEncoding> String - The encoding of file containing script to be executed.
Default value is: UTF-8.
User property is: scriptEncoding.
<scriptFile> File - The file containing script to be executed. Either 'scriptFile' or 'script' must be defined.
User property is: scriptFile.
<source> String - The -source argument for the Java compiler (when using incremental compiler).
User property is: maven.compiler.source.
<target> String - The -target argument for the Java compiler (when using incremental compiler).
User property is: maven.compiler.target.
<useCanonicalPath> boolean - Should use CanonicalPath to normalize path (true => getCanonicalPath, false => getAbsolutePath)
See also: https://github.com/davidB/scala-maven-plugin/issues/50
Default value is: true.
User property is: maven.scala.useCanonicalPath.

Parameter Details

<addJavacArgs>

Alternative method for specifying javac arguments (when using incremental compiler). Can be used from command line with -DaddJavacArgs=arg1|arg2|arg3|... rather than in pom.xml.
  • Type: java.lang.String
  • Required: No
  • User Property: addJavacArgs

<addScalacArgs>

Additional parameter to use to call the main class. Use this parameter only from command line ("-DaddScalacArgs=arg1|arg2|arg3|..."), not from pom.xml. To define compiler arguments in pom.xml see the "args" parameter.
  • Type: java.lang.String
  • Required: No
  • User Property: addScalacArgs

<addToClasspath>

Comma seperated list of directories or jars to add to the classpath
  • Type: java.lang.String
  • Required: No
  • User Property: addToClasspath

<args>

compiler additional arguments
  • Type: java.lang.String[]
  • Required: No

<checkMultipleScalaVersions>

Check if every dependencies use the same version of scala-library or scala.compat.version.
  • Type: boolean
  • Required: No
  • User Property: maven.scala.checkConsistency
  • Default: true

<compilerPlugins>

Compiler plugin dependencies to use when compiling. ex:
<compilerPlugins>
  <compilerPlugin>
    <groupId>my.scala.plugin</groupId>
    <artifactId>amazingPlugin</artifactId>
    <version>1.0-SNAPSHOT</version>
  </compilerPlugin>
</compilerPlugins>
  • Type: scala_maven.BasicArtifact[]
  • Required: No

<dependencies>

Additional dependencies/jar to add to classpath to run "scalaClassName" (scope and optional field not supported) ex :
   <dependencies>
     <dependency>
       <groupId>org.scala-tools</groupId>
       <artifactId>scala-compiler-addon</artifactId>
       <version>1.0-SNAPSHOT</version>
     </dependency>
   </dependencies>
  • Type: scala_maven.BasicArtifact[]
  • Required: No

<displayCmd>

Display the command line called ? (property 'maven.scala.displayCmd' replaced by 'displayCmd')
  • Type: boolean
  • Required: Yes
  • User Property: displayCmd
  • Default: false

<encoding>

The -encoding argument for the Java compiler. (when using incremental compiler).
  • Type: java.lang.String
  • Required: No
  • User Property: project.build.sourceEncoding
  • Default: UTF-8

<excludeScopes>

Comma separated list of scopes to remove from the classpath. Eg: test,compile
  • Type: java.lang.String
  • Required: No
  • User Property: maven.scala.excludeScopes

<failOnMultipleScalaVersions>

Determines if a detection of multiple scala versions in the dependencies will cause the build to fail.
  • Type: boolean
  • Required: No
  • Default: false

<forceUseArgFile>

Force the use of an external ArgFile to run any forked process.
  • Type: boolean
  • Required: No
  • Default: false

<fork>

Forks the execution of scalac into a separate process.
  • Type: boolean
  • Required: No
  • Default: true

<includeScopes>

Comma separated list of scopes to add to the classpath. The possible scopes are : test,compile, system, runtime, plugin. By default embedded script into pom.xml run with 'plugin' scope and script read from scriptFile run with 'compile, test, runtime'
  • Type: java.lang.String
  • Required: No
  • User Property: maven.scala.includeScopes

<javacArgs>

Arguments for javac (when using incremental compiler).
  • Type: java.lang.String[]
  • Required: No
  • User Property: javacArgs

<javacGenerateDebugSymbols>

Whether to instruct javac to generate debug symbols (when using incremental compiler)
See also: ://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#debug
  • Type: boolean
  • Required: No
  • User Property: javacGenerateDebugSymbols
  • Default: true

<jvmArgs>

Jvm Arguments.
  • Type: java.lang.String[]
  • Required: No

<keepGeneratedScript>

If set to true the Scala classfile that is generated will not be deleted after the goal completes. This is to allows easier debugging of the script especially since line numbers will be wrong because lines are added to the compiled script (see script examples)
  • Type: boolean
  • Required: No
  • User Property: maven.scala.keepGeneratedScript
  • Default: false

<outputDir>

The build directory of the project
  • Type: java.io.File
  • Required: No
  • User Property: project.build.directory

<pluginArtifacts>

List of artifacts to run plugin
  • Type: java.util.List<org.apache.maven.artifact.Artifact>
  • Required: No
  • Default: ${plugin.artifacts}

<release>

The --release argument for the Java compiler (when using incremental compiler), supported since Java9.
  • Type: java.lang.String
  • Required: No
  • User Property: maven.compiler.release

<removeFromClasspath>

Comma separated list of directories or jars to remove from the classpath. This is useful for resolving conflicts in the classpath. For example, the script uses Ant 1.7 and the compiler dependencies pull in Ant 1.5 optional which conflicts and causes a crash
  • Type: java.lang.String
  • Required: No
  • User Property: removeFromClasspath

<scalaClassName>

override the className (FQN) of the scala tool
  • Type: java.lang.String
  • Required: No
  • User Property: maven.scala.className

<scalaCompatVersion>

Scala 's version to use to check binary compatibility (like suffix in artifactId of dependency). If it is defined then it is used to checkMultipleScalaVersions
  • Type: java.lang.String
  • Required: No
  • User Property: scala.compat.version

<scalaHome>

Path to Scala installation to use instead of the artifact (define as dependencies).
  • Type: java.lang.String
  • Required: No
  • User Property: scala.home

<scalaOrganization>

Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases.
  • Type: java.lang.String
  • Required: No
  • User Property: scala.organization
  • Default: org.scala-lang

<scalaVersion>

Scala 's version to use. (property 'maven.scala.version' replaced by 'scala.version')
  • Type: java.lang.String
  • Required: No
  • User Property: scala.version

<script>

The script that will be executed. Either 'scriptFile' or ' script' must be defined.
  • Type: java.lang.String
  • Required: No
  • User Property: script

<scriptEncoding>

The encoding of file containing script to be executed.
  • Type: java.lang.String
  • Required: No
  • User Property: scriptEncoding
  • Default: UTF-8

<scriptFile>

The file containing script to be executed. Either 'scriptFile' or 'script' must be defined.
  • Type: java.io.File
  • Required: No
  • User Property: scriptFile

<source>

The -source argument for the Java compiler (when using incremental compiler).
  • Type: java.lang.String
  • Required: No
  • User Property: maven.compiler.source

<target>

The -target argument for the Java compiler (when using incremental compiler).
  • Type: java.lang.String
  • Required: No
  • User Property: maven.compiler.target

<useCanonicalPath>

Should use CanonicalPath to normalize path (true => getCanonicalPath, false => getAbsolutePath)
See also: https://github.com/davidB/scala-maven-plugin/issues/50
  • Type: boolean
  • Required: No
  • User Property: maven.scala.useCanonicalPath
  • Default: true