Fork me on GitHub

scalor:compile-main

Full name:

com.carrotgarden.maven:scalor-maven-plugin_2.12:1.5.0.20190502181145:compile-main

Description:

Compile Java and Scala sources in compilation scope=main. A member of goal=compile.

Attributes:

  • Requires a Maven project to be executed.
  • Requires dependency resolution of artifacts in scope: compile.
  • Binds by default to the lifecycle phase: compile.

Optional Parameters

Name Type Since Description
<buildMainDependencyFolders> File[] - Project folders containing build classes which are dependency for compilation scope=main. Normally includes folder scope=[macro,main] (target/classes).
Default value is: ${project.build.outputDirectory}.
User property is: scalor.buildMainDependencyFolders.
<buildMainDependencyScopes> String[] - Maven dependency scopes which control selection of project dependency artifacts to be included in the classpath of compilation scope=main. Scopes reference.
Default value is: compile,provided,system.
User property is: scalor.buildMainDependencyScopes.
<buildMainResourceFolders> Resource[] - Resource root folders to be included in compilation scope=main. Normally uses src/main/resources. Absolute path. Component reference: Resource . Example custom entry in pom.xml:
<buildMainResourceFolders>
  <resource>
    <directory>${project.basedir}/src/main/resources</directory>
  </resource>  
  <resource>
    <directory>${project.basedir}/target/generated/main/resources</directory>
  </resource>  
</buildMainResourceFolders>

Default value is: ${project.build.resources}.
User property is: scalor.buildMainResourceFolders.
<buildMainSourceJavaFolders> File[] - Java source root folders to be included in compilation scope=main. Absolute path. Normally uses src/main/java. Example custom entry in pom.xml:
<buildMainSourceJavaFolders>
  <source>${project.build.sourceDirectory}</source>
  <source>${project.basedir}/target/generated/main/java</source>
</buildMainSourceJavaFolders>

Default value is: ${project.build.sourceDirectory}.
User property is: scalor.buildMainSourceJavaFolders.
<buildMainSourceScalaFolders> File[] - Scala source root folders to be included in compilation scope=main. Absolute path. Normally uses src/main/scala. Example custom entry in pom.xml:
<buildMainSourceScalaFolders>
  <source>${project.build.sourceDirectory}/../scala</source>
  <source>${project.basedir}/target/generated/main/scala</source>
</buildMainSourceScalaFolders>

Default value is: ${project.build.sourceDirectory}/../scala.
User property is: scalor.buildMainSourceScalaFolders.
<buildMainTargetFolder> File - Build target folder with result classes of compilation scope=[macro,main]. Normally uses target/classes.
Default value is: ${project.build.outputDirectory}.
User property is: scalor.buildMainTargetFolder.
<commonMappingPattern> String - Regular expression for plugin configuration map values provided in pom.xml. Extractor for pattern: key=value. Must define exactly two regex capture groups. Mapping regular expression is used as follows:
  case commonMappingPattern.r( key, value ) => ( key, value )
Note: <![CDATA[ ... ]]> brackets can help preserve text entries in pom.xml.
Default value is: \s*([^=\s]+)\s*=\s*([^\s]+)\s*.
User property is: scalor.commonMappingPattern.
<commonSequenceSeparator> String - Separator for plugin configuration list values provided in pom.xml. Separator regular expression is used as follows:
  string.split( commonSequenceSeparator ).map( _.trim ).filterNot( _.isEmpty )
Note: <![CDATA[ ... ]]> brackets can help preserve text entries in pom.xml. Note: to insert unicode symbol in Eclipse/GTK, type CTRL+SHIFT+U, then XXXX - a 4-hex-digit unicode value. For example, for star ★, use hex code 2605.
Default value is: [★\n]+.
User property is: scalor.commonSequenceSeparator.
<compileRegexJavaExclude> String - Regular expression for Java source file discovery via exclusion by match against absolute path. File match is defined as: include.hasMatch && ! exclude.hasMatch. Matches no files when empty by default.
User property is: scalor.compileRegexJavaExclude.
<compileRegexJavaInclude> String - Regular expression for Java source file discovery via inclusion by match against absolute path. File match is defined as: include.hasMatch && ! exclude.hasMatch. Matches files with java extension by default.
Default value is: .+[.]java.
User property is: scalor.compileRegexJavaInclude.
<compileRegexScalaExclude> String - Regular expression for Scala source file discovery via exclusion by match against absolute path. File match is defined as: include.hasMatch && ! exclude.hasMatch. Matches no files when empty by default.
User property is: scalor.compileRegexScalaExclude.
<compileRegexScalaInclude> String - Regular expression for Scala source file discovery via inclusion by match against absolute path. File match is defined as: include.hasMatch && ! exclude.hasMatch. Matches files with scala extension by default.
Default value is: .+[.]scala.
User property is: scalor.compileRegexScalaInclude.
<defineAuto> boolean - Enable auto-discovery of defineBridge and defineCompiler dependencies. When false, bridge and compiler definitions must be explicitly provided in pom.xml. When true, plugin will use the following bridge and compiler dependency discovery heuristic:
  1. check for bridge and compiler defined in pom.xml, if yes - use that, if not - try auto define:
  2. find scala-library on project build class path with help of regexScalaLibrary
  3. determine Scala epoch X.Y and release X.Y.Z versions of Scala Library
  4. construct compiler-bridge dependency from:
    • discovered project Scala epoch version
    • bridge artifact included with the plugin
    • with help of regexCompilerBridge
  5. construct scala-compiler dependency from:
    • discovered project Scala release version
    • compiler artifact included with the plugin
    • with help of regexScalaCompiler
Use zincLogBridgeClassPath to review actual resolved bridge artifact in Maven. Use zincLogCompilerClassPath to review actual resolved compiler artifact in Maven. Use eclipseLogPersistInstall to review actual resolved compiler artifact in Eclipse (bridge is managed by Scala IDE).
Default value is: true.
User property is: scalor.defineAuto.
<defineBridge> Dependency[] - Provide Scala compiler bridge dependency. Can declare here additional dependencies for the bridge. Bridge artifact must match expected regular expression in regexCompilerBridge. Example entry in pom.xml:
<defineBridge>
  <dependency>
      <groupId>org.scala-sbt</groupId>
      <artifactId>compiler-bridge_${version.scala.epoch}</artifactId>
      <version>${version.scala.zinc}</version>
  </dependency>
</defineBridge>
This dependency list is empty by default.
<defineCompiler> Dependency[] - Provide Scala compiler dependency. Can declare here additional dependencies for the compiler. Compiler artifact must match expected regular expression in regexScalaCompiler. Example entry in pom.xml:
<defineCompiler>
  <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-compiler</artifactId>
      <version>${version.scala.release}</version>
  </dependency>
</defineCompiler>
This dependency list is empty by default.
<definePluginList> Dependency[] - Provide Scala plugins dependency. Can declare mulitiple scala compiler plugins. Plugin artifact jar must contain expected descriptor resource in resourcePluginDescriptor. Example entry in pom.xml:
<definePluginList>
  <dependency>
      <groupId>org.scala-js</groupId>
      <artifactId>scalajs-compiler_${version.scala.release}</artifactId>
      <version>${version.sjs.release}</version>
  </dependency>
</definePluginList>
This dependency list is empty by default.
<regexCompilerBridge> String - Maven identity of Scala bridge artifact. Regular expression in the form: ${groupId}:${artifactId}. Used for auto discovery of compiler-bridge from defineBridge.
Default value is: org.scala-sbt:compiler-bridge_.+.
User property is: scalor.regexCompilerBridge.
<regexScalaCompiler> String - Maven identity of Scala compiler artifact. Regular expression in the form: ${groupId}:${artifactId}. Used for auto discovery of scala-compiler from defineCompiler.
Default value is: org.scala-lang:scala-compiler.
User property is: scalor.regexScalaCompiler.
<regexScalaLibrary> String - Maven identity of Scala library artifact. Regular expression in the form: ${groupId}:${artifactId}. Used for auto discovery of scala-library from defineCompiler.
Default value is: org.scala-lang:scala-library.
User property is: scalor.regexScalaLibrary.
<resourcePluginDescriptor> String - Scala compiler plugin descriptor file name, stored inside compiler plugin jar. Used for auto discovery of Scala compiler plugins form definePluginList. Plain file name, not a regex.
Default value is: scalac-plugin.xml.
User property is: scalor.resourcePluginDescriptor.
<skip> boolean - Force to skip all executions of this plugin.
Default value is: false.
User property is: scalor.skip.
<skipCompile> boolean - Flag to skip compile execution: compile-*.
Default value is: false.
User property is: scalor.skipCompile.
<skipCompileMain> boolean - Flag to skip goal execution: compile-main.
Default value is: false.
User property is: scalor.skipCompileMain.
<skipLogReason> boolean - Enable logging of reason for skipping an execution.
Default value is: true.
User property is: scalor.skipLogReason.
<skipPackagingList> String[] - List of packaging types, which are skipped by this plugin.
Default value is: pom.
User property is: scalor.skipPackagingList.
<zincCacheMain> File - Location of Zinc incremental compiler state file for scope=main.
Default value is: ${project.build.directory}/scalor/cache/main.zip.
User property is: scalor.zincCacheMain.
<zincCompilerOptionsReport> File - Report available/effective compiler options with help description to the report file. Enablement parameter: zincLogCompilerOptions
Default value is: ${project.build.directory}/scalor/scala-options-report.txt.
User property is: scalor.zincCompilerOptionsReport.
<zincLogActiveLevel> String - Enable Zinc compiler logger output at a given Zinc level. Uses Maven logger at Maven INFO level. Available Zinc logger levels:
  debug
  info
  warn
  error

Default value is: debug.
User property is: scalor.zincLogActiveLevel.
<zincLogBridgeClassPath> boolean - Enable logging of Zinc compiler-bridge class path discovered from defineBridge. Includes transitive dependency jars.
Default value is: false.
User property is: scalor.zincLogBridgeClassPath.
<zincLogCompilerClassPath> boolean - Enable logging of Zinc scala-compiler class path discovered from defineCompiler. Includes transitive dependency jars.
Default value is: false.
User property is: scalor.zincLogCompilerClassPath.
<zincLogCompilerOptions> boolean - Enable logging of available/effective compiler options with help description. Report output location: zincCompilerOptionsReport
Default value is: false.
User property is: scalor.zincLogCompilerOptions.
<zincLogCompilerPluginList> boolean - Enable logging of Zinc compiler plugins discovered from definePluginList. Includes only plugin jars.
Default value is: false.
User property is: scalor.zincLogCompilerPluginList.
<zincLogProgressRate> boolean - Enable logging of Zinc incremental compiler progress.
Default value is: false.
User property is: scalor.zincLogProgressRate.
<zincLogProgressUnit> boolean - Enable logging of Zinc incremental compiler units.
Default value is: false.
User property is: scalor.zincLogProgressUnit.
<zincLogProjectClassPath> boolean - Enable logging of current project build class path. Includes scope dependency folders and dependency jars.
Default value is: false.
User property is: scalor.zincLogProjectClassPath.
<zincLogSourcesList> boolean - Enable logging of source Java and Scala files.
Default value is: false.
User property is: scalor.zincLogSourcesList.
<zincOptionsJava> String - Options for JavaC compiler used by Zinc invocation. Separator parameter: commonSequenceSeparator.
Default value is: -deprecation ★ -encoding ★ UTF-8 ★ -source ★ 1.8 ★ -target ★ 1.8 ★ .
User property is: scalor.zincOptionsJava.
<zincOptionsScala> String - Combined options for ScalaC compiler, Scalor Plugin Zinc compiler, Scala IDE Plugin Zinc compiler.
  • ScalaC compiler uses [ standard ] options in Maven/Eclipse.
  • Scalor Zinc compiler uses [ standard, compile-order ] options in Maven.
  • Scala IDE Zinc compiler uses [ standard, compile-order, eclipse-builder ] options in Eclipse.
ScalaC compiler options reference: ScalaSettings.scala StandardScalaSettings.scala
Scalor Zinc compiler options reference: IncrementalCompilerImpl.scala
Scala IDE Zinc compiler options reference: IDESettings$ScalaPluginSettings.scala

For consistent Maven vs Eclipse builds, use non-interfering eclipse-builder options. Separator parameter: commonSequenceSeparator. Examine available/effective options via zincLogCompilerOptions.

Options processing steps:
  • options are validated
  • default options are silently removed
  • invalid options are reported and errored
  • -Xplugin options are discovered from definePluginList

Default value is: -feature ★ -unchecked ★ -deprecation ★ -encoding ★ UTF-8 ★ -target:jvm-1.8 ★ -Xmaxerrs ★ 10 ★ -compileorder:Mixed ★ -useScopesCompiler:true ★ -withVersionClasspathValidator:true ★ .
User property is: scalor.zincOptionsScala.
<zincScalaInstallTitle> String - Scala installation title prefix used for Scala installtions generated by this plugin. Actual generated Scala installation will also include a summary, i.e.: Scalor [MD5], where [MD5] is MD5 digest of combined artifact paths included in the installation. Prefix allows to distinguish installations in Scala IDE UI, Scalor plugin reports, Eclipse Maven Console. Review available Scala installation details with: eclipseLogInstallReport.
Default value is: Scalor.
User property is: scalor.zincScalaInstallTitle.
<zincStateStoreType> String - Incremental compiler file analysis store type for the state cache. Available types:
  text   - compatible with Scala IDE
  binary - high performance serializer

Default value is: text.
User property is: scalor.zincStateStoreType.
<zincVerifyVersion> boolean - Flag to force version constistency check among dependency artifacts discovered from defineBridge, defineCompiler, definePluginList.
Default value is: true.
User property is: scalor.zincVerifyVersion.

Parameter Details

<buildMainDependencyFolders>

Project folders containing build classes which are dependency for compilation scope=main. Normally includes folder scope=[macro,main] (target/classes).
  • Type: java.io.File[]
  • Required: No
  • User Property: scalor.buildMainDependencyFolders
  • Default: ${project.build.outputDirectory}

<buildMainDependencyScopes>

Maven dependency scopes which control selection of project dependency artifacts to be included in the classpath of compilation scope=main. Scopes reference.
  • Type: java.lang.String[]
  • Required: No
  • User Property: scalor.buildMainDependencyScopes
  • Default: compile,provided,system

<buildMainResourceFolders>

Resource root folders to be included in compilation scope=main. Normally uses src/main/resources. Absolute path. Component reference: Resource . Example custom entry in pom.xml:
<buildMainResourceFolders>
  <resource>
    <directory>${project.basedir}/src/main/resources</directory>
  </resource>  
  <resource>
    <directory>${project.basedir}/target/generated/main/resources</directory>
  </resource>  
</buildMainResourceFolders>
  • Type: org.apache.maven.model.Resource[]
  • Required: No
  • User Property: scalor.buildMainResourceFolders
  • Default: ${project.build.resources}

<buildMainSourceJavaFolders>

Java source root folders to be included in compilation scope=main. Absolute path. Normally uses src/main/java. Example custom entry in pom.xml:
<buildMainSourceJavaFolders>
  <source>${project.build.sourceDirectory}</source>
  <source>${project.basedir}/target/generated/main/java</source>
</buildMainSourceJavaFolders>
  • Type: java.io.File[]
  • Required: No
  • User Property: scalor.buildMainSourceJavaFolders
  • Default: ${project.build.sourceDirectory}

<buildMainSourceScalaFolders>

Scala source root folders to be included in compilation scope=main. Absolute path. Normally uses src/main/scala. Example custom entry in pom.xml:
<buildMainSourceScalaFolders>
  <source>${project.build.sourceDirectory}/../scala</source>
  <source>${project.basedir}/target/generated/main/scala</source>
</buildMainSourceScalaFolders>
  • Type: java.io.File[]
  • Required: No
  • User Property: scalor.buildMainSourceScalaFolders
  • Default: ${project.build.sourceDirectory}/../scala

<buildMainTargetFolder>

Build target folder with result classes of compilation scope=[macro,main]. Normally uses target/classes.
  • Type: java.io.File
  • Required: No
  • User Property: scalor.buildMainTargetFolder
  • Default: ${project.build.outputDirectory}

<commonMappingPattern>

Regular expression for plugin configuration map values provided in pom.xml. Extractor for pattern: key=value. Must define exactly two regex capture groups. Mapping regular expression is used as follows:
  case commonMappingPattern.r( key, value ) => ( key, value )
Note: <![CDATA[ ... ]]> brackets can help preserve text entries in pom.xml.
  • Type: java.lang.String
  • Required: No
  • User Property: scalor.commonMappingPattern
  • Default: \s*([^=\s]+)\s*=\s*([^\s]+)\s*

<commonSequenceSeparator>

Separator for plugin configuration list values provided in pom.xml. Separator regular expression is used as follows:
  string.split( commonSequenceSeparator ).map( _.trim ).filterNot( _.isEmpty )
Note: <![CDATA[ ... ]]> brackets can help preserve text entries in pom.xml. Note: to insert unicode symbol in Eclipse/GTK, type CTRL+SHIFT+U, then XXXX - a 4-hex-digit unicode value. For example, for star ★, use hex code 2605.
  • Type: java.lang.String
  • Required: No
  • User Property: scalor.commonSequenceSeparator
  • Default: [★\n]+

<compileRegexJavaExclude>

Regular expression for Java source file discovery via exclusion by match against absolute path. File match is defined as: include.hasMatch && ! exclude.hasMatch. Matches no files when empty by default.
  • Type: java.lang.String
  • Required: No
  • User Property: scalor.compileRegexJavaExclude

<compileRegexJavaInclude>

Regular expression for Java source file discovery via inclusion by match against absolute path. File match is defined as: include.hasMatch && ! exclude.hasMatch. Matches files with java extension by default.
  • Type: java.lang.String
  • Required: No
  • User Property: scalor.compileRegexJavaInclude
  • Default: .+[.]java

<compileRegexScalaExclude>

Regular expression for Scala source file discovery via exclusion by match against absolute path. File match is defined as: include.hasMatch && ! exclude.hasMatch. Matches no files when empty by default.
  • Type: java.lang.String
  • Required: No
  • User Property: scalor.compileRegexScalaExclude

<compileRegexScalaInclude>

Regular expression for Scala source file discovery via inclusion by match against absolute path. File match is defined as: include.hasMatch && ! exclude.hasMatch. Matches files with scala extension by default.
  • Type: java.lang.String
  • Required: No
  • User Property: scalor.compileRegexScalaInclude
  • Default: .+[.]scala

<defineAuto>

Enable auto-discovery of defineBridge and defineCompiler dependencies. When false, bridge and compiler definitions must be explicitly provided in pom.xml. When true, plugin will use the following bridge and compiler dependency discovery heuristic:
  1. check for bridge and compiler defined in pom.xml, if yes - use that, if not - try auto define:
  2. find scala-library on project build class path with help of regexScalaLibrary
  3. determine Scala epoch X.Y and release X.Y.Z versions of Scala Library
  4. construct compiler-bridge dependency from:
    • discovered project Scala epoch version
    • bridge artifact included with the plugin
    • with help of regexCompilerBridge
  5. construct scala-compiler dependency from:
    • discovered project Scala release version
    • compiler artifact included with the plugin
    • with help of regexScalaCompiler
Use zincLogBridgeClassPath to review actual resolved bridge artifact in Maven. Use zincLogCompilerClassPath to review actual resolved compiler artifact in Maven. Use eclipseLogPersistInstall to review actual resolved compiler artifact in Eclipse (bridge is managed by Scala IDE).
  • Type: boolean
  • Required: No
  • User Property: scalor.defineAuto
  • Default: true

<defineBridge>

Provide Scala compiler bridge dependency. Can declare here additional dependencies for the bridge. Bridge artifact must match expected regular expression in regexCompilerBridge. Example entry in pom.xml:
<defineBridge>
  <dependency>
      <groupId>org.scala-sbt</groupId>
      <artifactId>compiler-bridge_${version.scala.epoch}</artifactId>
      <version>${version.scala.zinc}</version>
  </dependency>
</defineBridge>
This dependency list is empty by default.
  • Type: org.apache.maven.model.Dependency[]
  • Required: No

<defineCompiler>

Provide Scala compiler dependency. Can declare here additional dependencies for the compiler. Compiler artifact must match expected regular expression in regexScalaCompiler. Example entry in pom.xml:
<defineCompiler>
  <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-compiler</artifactId>
      <version>${version.scala.release}</version>
  </dependency>
</defineCompiler>
This dependency list is empty by default.
  • Type: org.apache.maven.model.Dependency[]
  • Required: No

<definePluginList>

Provide Scala plugins dependency. Can declare mulitiple scala compiler plugins. Plugin artifact jar must contain expected descriptor resource in resourcePluginDescriptor. Example entry in pom.xml:
<definePluginList>
  <dependency>
      <groupId>org.scala-js</groupId>
      <artifactId>scalajs-compiler_${version.scala.release}</artifactId>
      <version>${version.sjs.release}</version>
  </dependency>
</definePluginList>
This dependency list is empty by default.
  • Type: org.apache.maven.model.Dependency[]
  • Required: No

<regexCompilerBridge>

Maven identity of Scala bridge artifact. Regular expression in the form: ${groupId}:${artifactId}. Used for auto discovery of compiler-bridge from defineBridge.
  • Type: java.lang.String
  • Required: No
  • User Property: scalor.regexCompilerBridge
  • Default: org.scala-sbt:compiler-bridge_.+

<regexScalaCompiler>

Maven identity of Scala compiler artifact. Regular expression in the form: ${groupId}:${artifactId}. Used for auto discovery of scala-compiler from defineCompiler.
  • Type: java.lang.String
  • Required: No
  • User Property: scalor.regexScalaCompiler
  • Default: org.scala-lang:scala-compiler

<regexScalaLibrary>

Maven identity of Scala library artifact. Regular expression in the form: ${groupId}:${artifactId}. Used for auto discovery of scala-library from defineCompiler.
  • Type: java.lang.String
  • Required: No
  • User Property: scalor.regexScalaLibrary
  • Default: org.scala-lang:scala-library

<resourcePluginDescriptor>

Scala compiler plugin descriptor file name, stored inside compiler plugin jar. Used for auto discovery of Scala compiler plugins form definePluginList. Plain file name, not a regex.
  • Type: java.lang.String
  • Required: No
  • User Property: scalor.resourcePluginDescriptor
  • Default: scalac-plugin.xml

<skip>

Force to skip all executions of this plugin.
  • Type: boolean
  • Required: No
  • User Property: scalor.skip
  • Default: false

<skipCompile>

Flag to skip compile execution: compile-*.
  • Type: boolean
  • Required: No
  • User Property: scalor.skipCompile
  • Default: false

<skipCompileMain>

Flag to skip goal execution: compile-main.
  • Type: boolean
  • Required: No
  • User Property: scalor.skipCompileMain
  • Default: false

<skipLogReason>

Enable logging of reason for skipping an execution.
  • Type: boolean
  • Required: No
  • User Property: scalor.skipLogReason
  • Default: true

<skipPackagingList>

List of packaging types, which are skipped by this plugin.
  • Type: java.lang.String[]
  • Required: No
  • User Property: scalor.skipPackagingList
  • Default: pom

<zincCacheMain>

Location of Zinc incremental compiler state file for scope=main.
  • Type: java.io.File
  • Required: No
  • User Property: scalor.zincCacheMain
  • Default: ${project.build.directory}/scalor/cache/main.zip

<zincCompilerOptionsReport>

Report available/effective compiler options with help description to the report file. Enablement parameter: zincLogCompilerOptions
  • Type: java.io.File
  • Required: No
  • User Property: scalor.zincCompilerOptionsReport
  • Default: ${project.build.directory}/scalor/scala-options-report.txt

<zincLogActiveLevel>

Enable Zinc compiler logger output at a given Zinc level. Uses Maven logger at Maven INFO level. Available Zinc logger levels:
  debug
  info
  warn
  error
  • Type: java.lang.String
  • Required: No
  • User Property: scalor.zincLogActiveLevel
  • Default: debug

<zincLogBridgeClassPath>

Enable logging of Zinc compiler-bridge class path discovered from defineBridge. Includes transitive dependency jars.
  • Type: boolean
  • Required: No
  • User Property: scalor.zincLogBridgeClassPath
  • Default: false

<zincLogCompilerClassPath>

Enable logging of Zinc scala-compiler class path discovered from defineCompiler. Includes transitive dependency jars.
  • Type: boolean
  • Required: No
  • User Property: scalor.zincLogCompilerClassPath
  • Default: false

<zincLogCompilerOptions>

Enable logging of available/effective compiler options with help description. Report output location: zincCompilerOptionsReport
  • Type: boolean
  • Required: No
  • User Property: scalor.zincLogCompilerOptions
  • Default: false

<zincLogCompilerPluginList>

Enable logging of Zinc compiler plugins discovered from definePluginList. Includes only plugin jars.
  • Type: boolean
  • Required: No
  • User Property: scalor.zincLogCompilerPluginList
  • Default: false

<zincLogProgressRate>

Enable logging of Zinc incremental compiler progress.
  • Type: boolean
  • Required: No
  • User Property: scalor.zincLogProgressRate
  • Default: false

<zincLogProgressUnit>

Enable logging of Zinc incremental compiler units.
  • Type: boolean
  • Required: No
  • User Property: scalor.zincLogProgressUnit
  • Default: false

<zincLogProjectClassPath>

Enable logging of current project build class path. Includes scope dependency folders and dependency jars.
  • Type: boolean
  • Required: No
  • User Property: scalor.zincLogProjectClassPath
  • Default: false

<zincLogSourcesList>

Enable logging of source Java and Scala files.
  • Type: boolean
  • Required: No
  • User Property: scalor.zincLogSourcesList
  • Default: false

<zincOptionsJava>

Options for JavaC compiler used by Zinc invocation. Separator parameter: commonSequenceSeparator.
  • Type: java.lang.String
  • Required: No
  • User Property: scalor.zincOptionsJava
  • Default: -deprecation ★ -encoding ★ UTF-8 ★ -source ★ 1.8 ★ -target ★ 1.8 ★

<zincOptionsScala>

Combined options for ScalaC compiler, Scalor Plugin Zinc compiler, Scala IDE Plugin Zinc compiler.
  • ScalaC compiler uses [ standard ] options in Maven/Eclipse.
  • Scalor Zinc compiler uses [ standard, compile-order ] options in Maven.
  • Scala IDE Zinc compiler uses [ standard, compile-order, eclipse-builder ] options in Eclipse.
ScalaC compiler options reference: ScalaSettings.scala StandardScalaSettings.scala
Scalor Zinc compiler options reference: IncrementalCompilerImpl.scala
Scala IDE Zinc compiler options reference: IDESettings$ScalaPluginSettings.scala

For consistent Maven vs Eclipse builds, use non-interfering eclipse-builder options. Separator parameter: commonSequenceSeparator. Examine available/effective options via zincLogCompilerOptions.

Options processing steps:
  • options are validated
  • default options are silently removed
  • invalid options are reported and errored
  • -Xplugin options are discovered from definePluginList
  • Type: java.lang.String
  • Required: No
  • User Property: scalor.zincOptionsScala
  • Default: -feature ★ -unchecked ★ -deprecation ★ -encoding ★ UTF-8 ★ -target:jvm-1.8 ★ -Xmaxerrs ★ 10 ★ -compileorder:Mixed ★ -useScopesCompiler:true ★ -withVersionClasspathValidator:true ★

<zincScalaInstallTitle>

Scala installation title prefix used for Scala installtions generated by this plugin. Actual generated Scala installation will also include a summary, i.e.: Scalor [MD5], where [MD5] is MD5 digest of combined artifact paths included in the installation. Prefix allows to distinguish installations in Scala IDE UI, Scalor plugin reports, Eclipse Maven Console. Review available Scala installation details with: eclipseLogInstallReport.
  • Type: java.lang.String
  • Required: No
  • User Property: scalor.zincScalaInstallTitle
  • Default: Scalor

<zincStateStoreType>

Incremental compiler file analysis store type for the state cache. Available types:
  text   - compatible with Scala IDE
  binary - high performance serializer
  • Type: java.lang.String
  • Required: No
  • User Property: scalor.zincStateStoreType
  • Default: text

<zincVerifyVersion>

Flag to force version constistency check among dependency artifacts discovered from defineBridge, defineCompiler, definePluginList.
  • Type: boolean
  • Required: No
  • User Property: scalor.zincVerifyVersion
  • Default: true