scala:cc
Full name:
net.alchim31.maven:scala-maven-plugin:4.9.3:cc
Description:
Compile the main and test scala source directory in continuous (infinite loop). !! This is an util goal for commandline usage only (Do not use or call it in a pom) !!!
Attributes:
- Requires a Maven project to be executed.
- Requires dependency resolution of artifacts in scope:
test
. - The goal is not marked as thread-safe and thus does not support parallel builds.
Required Parameters
Name | Type | Since | Description |
---|---|---|---|
<displayCmd> |
boolean |
- |
Display the command line called ? (property 'maven.scala.displayCmd' replaced by 'displayCmd') Default: false User Property: 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: 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: addScalacArgs |
<additionalDependencies> |
Dependency[] |
- |
Additional dependencies to be added to the classpath. This can be useful in situations where a dependency is needed at compile time, but should not be treated as a dependency in the published POM. User Property: additionalDependencies |
<analysisCacheFile> |
File |
- |
Analysis cache file for incremental recompilation.
Note: Allows extending for 3rd-party usages Default: ${project.build.directory}/analysis/compile User Property: analysisCacheFile |
<args> |
String[] |
- |
compiler additional arguments |
<checkMultipleScalaVersions> |
boolean |
- |
Check if every dependencies use the same version of scala-library or scala.compat.version. Default: true User Property: maven.scala.checkConsistency |
<compileOrder> |
CompileOrder |
- |
Compile order for Scala and Java sources for sbt incremental compile.
Can be Mixed, JavaThenScala, or ScalaThenJava. Default: Mixed User Property: compileOrder |
<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: UTF-8 User Property: project.build.sourceEncoding |
<excludes> |
Set<String> |
- |
A list of exclusion filters for the compiler. ex :
<excludes> <exclude>SomeBadFile.scala</exclude> </excludes> |
<failOnMultipleScalaVersions> |
boolean |
- |
Determines if a detection of multiple scala versions in the dependencies will cause the build to fail. Default: false |
<forceUseArgFile> |
boolean |
- |
Force the use of an external ArgFile to run any forked process. Default: false |
<fork> |
boolean |
- |
Forks the execution of scalac into a separate process. Default: true |
<includes> |
Set<String> |
- |
A list of inclusion filters for the compiler. ex :
<includes> <include>SomeFile.scala</include> </includes> |
<javacArgs> |
String[] |
- |
Arguments for javac (when using incremental compiler). User Property: 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: true User Property: javacGenerateDebugSymbols |
<jvmArgs> |
String[] |
- |
Jvm Arguments. |
<mainOutputDir> |
File |
- |
The output directory for compilation. User Property: project.build.outputDirectory |
<mainSourceDir> |
File |
- |
The main directory containing scala source for compilation
Note: Allows extending for 3rd-party usages Default: ${project.build.sourceDirectory}/../scala |
<notifyCompilation> |
boolean |
- |
notifyCompilation if true then print a message "path: compiling" for each root directory or files that will be compiled. Useful for debug, and for integration with Editor/IDE to reset markers only for compiled files. Default: true User Property: notifyCompilation |
<once> |
boolean |
- |
Define if cc should run once or in infinite loop. (useful for test or working with editor)
Note: Allows extending for 3rd-party usages Default: false User Property: once |
<pluginArtifacts> |
List<Artifact> |
- |
List of artifacts to run plugin Default: ${plugin.artifacts} |
<recompileMode> |
ScalaCompilerSupport$RecompileMode |
- |
Recompile mode to use when sources were previously compiled and there is at least one change, see RecompileMode .Default: incremental User Property: recompileMode |
<release> |
String |
- |
The --release argument for the Java compiler (when using incremental compiler), supported since Java9. User Property: maven.compiler.release |
<scalaClassName> |
String |
- |
override the className (FQN) of the scala tool User Property: 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: scala.compat.version |
<scalaHome> |
String |
- |
Path to Scala installation to use instead of the artifact (define as dependencies). User Property: 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: org.scala-lang User Property: scala.organization |
<scalaVersion> |
String |
- |
Scala 's version to use. (property 'maven.scala.version' replaced by 'scala.version') User Property: scala.version |
<secondaryCacheDir> |
File |
- |
Location of the incremental compile will install compiled compiler bridge jars. Default is sbt's "~/.sbt/1.0/zinc/org.scala-sbt". User Property: secondaryCacheDir |
<sendJavaToScalac> |
boolean |
- |
Enables/Disables sending java source to the scala compiler. Default: true |
<source> |
String |
- |
The -source argument for the Java compiler (when using incremental compiler). User Property: maven.compiler.source |
<target> |
String |
- |
The -target argument for the Java compiler (when using incremental compiler). User Property: maven.compiler.target |
<testAnalysisCacheFile> |
File |
- |
Analysis cache file for incremental recompilation.
Note: Allows extending for 3rd-party usages Default: ${project.build.directory}/analysis/test-compile User Property: testAnalysisCacheFile |
<testOutputDir> |
File |
- |
The directory to place test compilation output in
Note: Allows extending for 3rd-party usages Default: ${project.build.testOutputDirectory} |
<testSourceDir> |
File |
- |
The directory containing test source for compilation
Note: Allows extending for 3rd-party usages Default: ${project.build.testSourceDirectory}/../scala |
<useCanonicalPath> |
boolean |
- |
Should use CanonicalPath to normalize path (true => getCanonicalPath, false => getAbsolutePath) See also: https://github.com/davidB/scala-maven-plugin/issues/50 Default: true User Property: maven.scala.useCanonicalPath |
<useFsc> |
boolean |
- |
Define if fsc should be used, else scalac is used. fsc => scala.tools.nsc.CompileClient, scalac => scala.tools.nsc.Main.
Note: Allows extending for 3rd-party usages Default: true User Property: fsc |
<verbose> |
boolean |
- |
Turns verbose output on.
Note: Allows extending for 3rd-party usages Default: false User Property: verbose |
Parameter Details
<addJavacArgs>
- Type:
java.lang.String
- Required:
No
- User Property:
addJavacArgs
<addScalacArgs>
- Type:
java.lang.String
- Required:
No
- User Property:
addScalacArgs
<additionalDependencies>
- Type:
org.apache.maven.model.Dependency[]
- Required:
No
- User Property:
additionalDependencies
<analysisCacheFile>
Note: Allows extending for 3rd-party usages
- Type:
java.io.File
- Required:
No
- User Property:
analysisCacheFile
- Default:
${project.build.directory}/analysis/compile
<args>
- Type:
java.lang.String[]
- Required:
No
<checkMultipleScalaVersions>
- Type:
boolean
- Required:
No
- User Property:
maven.scala.checkConsistency
- Default:
true
<compileOrder>
Can be Mixed, JavaThenScala, or ScalaThenJava.
- Type:
xsbti.compile.CompileOrder
- Required:
No
- User Property:
compileOrder
- Default:
Mixed
<compilerPlugins>
<compilerPlugins> <compilerPlugin> <groupId>my.scala.plugin</groupId> <artifactId>amazingPlugin</artifactId> <version>1.0-SNAPSHOT</version> </compilerPlugin> </compilerPlugins>
- Type:
scala_maven.BasicArtifact[]
- Required:
No
<dependencies>
<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>
- Type:
boolean
- Required:
Yes
- User Property:
displayCmd
- Default:
false
<encoding>
- Type:
java.lang.String
- Required:
No
- User Property:
project.build.sourceEncoding
- Default:
UTF-8
<excludes>
<excludes> <exclude>SomeBadFile.scala</exclude> </excludes>
- Type:
java.util.Set<java.lang.String>
- Required:
No
<failOnMultipleScalaVersions>
- Type:
boolean
- Required:
No
- Default:
false
<forceUseArgFile>
- Type:
boolean
- Required:
No
- Default:
false
<fork>
- Type:
boolean
- Required:
No
- Default:
true
<includes>
<includes> <include>SomeFile.scala</include> </includes>
- Type:
java.util.Set<java.lang.String>
- Required:
No
<javacArgs>
- Type:
java.lang.String[]
- Required:
No
- User Property:
javacArgs
<javacGenerateDebugSymbols>
See also: ://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#debug
- Type:
boolean
- Required:
No
- User Property:
javacGenerateDebugSymbols
- Default:
true
<jvmArgs>
- Type:
java.lang.String[]
- Required:
No
<mainOutputDir>
- Type:
java.io.File
- Required:
No
- User Property:
project.build.outputDirectory
<mainSourceDir>
Note: Allows extending for 3rd-party usages
- Type:
java.io.File
- Required:
No
- Default:
${project.build.sourceDirectory}/../scala
<notifyCompilation>
- Type:
boolean
- Required:
No
- User Property:
notifyCompilation
- Default:
true
<once>
Note: Allows extending for 3rd-party usages
- Type:
boolean
- Required:
No
- User Property:
once
- Default:
false
<pluginArtifacts>
- Type:
java.util.List<org.apache.maven.artifact.Artifact>
- Required:
No
- Default:
${plugin.artifacts}
<recompileMode>
RecompileMode
.- Type:
scala_maven.ScalaCompilerSupport$RecompileMode
- Required:
No
- User Property:
recompileMode
- Default:
incremental
<release>
- Type:
java.lang.String
- Required:
No
- User Property:
maven.compiler.release
<scalaClassName>
- Type:
java.lang.String
- Required:
No
- User Property:
maven.scala.className
<scalaCompatVersion>
- Type:
java.lang.String
- Required:
No
- User Property:
scala.compat.version
<scalaHome>
- Type:
java.lang.String
- Required:
No
- User Property:
scala.home
<scalaOrganization>
- Type:
java.lang.String
- Required:
No
- User Property:
scala.organization
- Default:
org.scala-lang
<scalaVersion>
- Type:
java.lang.String
- Required:
No
- User Property:
scala.version
<secondaryCacheDir>
- Type:
java.io.File
- Required:
No
- User Property:
secondaryCacheDir
<sendJavaToScalac>
- Type:
boolean
- Required:
No
- Default:
true
<source>
- Type:
java.lang.String
- Required:
No
- User Property:
maven.compiler.source
<target>
- Type:
java.lang.String
- Required:
No
- User Property:
maven.compiler.target
<testAnalysisCacheFile>
Note: Allows extending for 3rd-party usages
- Type:
java.io.File
- Required:
No
- User Property:
testAnalysisCacheFile
- Default:
${project.build.directory}/analysis/test-compile
<testOutputDir>
Note: Allows extending for 3rd-party usages
- Type:
java.io.File
- Required:
No
- Default:
${project.build.testOutputDirectory}
<testSourceDir>
Note: Allows extending for 3rd-party usages
- Type:
java.io.File
- Required:
No
- Default:
${project.build.testSourceDirectory}/../scala
<useCanonicalPath>
See also: https://github.com/davidB/scala-maven-plugin/issues/50
- Type:
boolean
- Required:
No
- User Property:
maven.scala.useCanonicalPath
- Default:
true
<useFsc>
Note: Allows extending for 3rd-party usages
- Type:
boolean
- Required:
No
- User Property:
fsc
- Default:
true
<verbose>
Note: Allows extending for 3rd-party usages
- Type:
boolean
- Required:
No
- User Property:
verbose
- Default:
false