Full name:
com.carrotgarden.maven:scalor-maven-plugin_2.12:1.5.0.20190502181145:scala-js-link-test
Description:
Attributes:
Name | Type | Since | Description |
---|---|---|---|
<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 ) 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 ) Default value is: [★\n]+. User property is: scalor.commonSequenceSeparator. |
<linkerClassRegex> | String | - | Regular expression used to discover Scala.js IR classes from class
path. Default value is: .+[.]sjsir. User property is: scalor.linkerClassRegex. |
<linkerInitializerRegex> | String | - | Regular expression used to extract Scala.js module initializer
configuration. Must provide extractor for pattern:
packageName.ClassName.methodName(arg0,arg1,...). Must
provide exactly 3 capture groups: class, method, arguments.
Arguments separator is hard-coded comma , not part of
this regex. Default value is: ([a-zA-Z_.0-9]+)[.]([a-zA-Z_0-9]+)[(]([^()]*)[)]. User property is: scalor.linkerInitializerRegex. |
<linkerLibraryDetect> | boolean | - | Invoke Scala.js linker only when Scala.js library is detected in
project dependencies with given scope. Detection parameter: linkerLibraryRegex. Default value is: true. User property is: scalor.linkerLibraryDetect. |
<linkerLibraryRegex> | String | - | Regular expression used to discover Scala.js core
sjsir library from class path. This regular expression
is matched against resolved project depenencies in given scope.
Regular expression in the form:
${groupId}:${artifactId}. Enablement parameter: linkerLibraryDetect. Default value is: org.scala-js:scalajs-library_.+. User property is: scalor.linkerLibraryRegex. |
<linkerLogBuildStats> | boolean | - | Enable logging of Scala.js linker build phase statistics, including
phase durations. Use to review linker performance profile. Default value is: false. User property is: scalor.linkerLogBuildStats. |
<linkerLogClassPath> | boolean | - | Enable logging of Scala.js linker class path. Use to review actual
resources used for *.sjsir class discovery. Default value is: false. User property is: scalor.linkerLogClassPath. |
<linkerLogOptions> | boolean | - | Enable logging of linker options. Use to review actual Scala.js
linker invocation configuration. Default value is: false. User property is: scalor.linkerLogOptions. |
<linkerLogRuntime> | boolean | - | Enable logging of Scala.js linker runtime.js. Use to review actual
generated output runtime.js location. Default value is: true. User property is: scalor.linkerLogRuntime. |
<linkerLogUpdateResult> | boolean | - | Enable logging of Scala.js linker update result of M2E incremental
change detection. Use to review actual *.sjsir classes
which triggered Eclipse linker build. Default value is: false. User property is: scalor.linkerLogUpdateResult. |
<linkerTestBuildMode> | String | - | Build mode for non-optimized linkerTestRuntimeJs.
Normally uses always, to link during both Maven full
build and Eclipse incremental build. Available build modes:
always - link during both full and incremental build never - do not produce runtime at all full - link only during full build incr - link only during incremental build Default value is: always. User property is: scalor.linkerTestBuildMode. |
<linkerTestBuildModeMin> | String | - | Build mode for optimized/minified linkerTestRuntimeMinJs.
Normally uses never, since test runtime is not
intended as deployment artifact. Available build modes:
always - link during both full and incremental build never - do not produce runtime at all full - link only during full build incr - link only during incremental build Default value is: never. User property is: scalor.linkerTestBuildModeMin. |
<linkerTestBuildOptions> | String | - | Build options for non-optimized linkerTestRuntimeJs.
Scala.js linker options for scope=test, mode=development. Scala.js
linker options reference: StandardLinker.scala
Uses simple json format. Default value is: { "checkIR":false, "parallel":true, "batchMode":false, "sourceMap":true, "optimizer":false, "prettyPrint":true, "closureCompiler":false } . User property is: scalor.linkerTestBuildOptions. |
<linkerTestBuildOptionsMin> | String | - | Build options for optimized/minified linkerTestRuntimeMinJs.
Scala.js linker options for scope=test, mode=production. Scala.js
linker options reference: StandardLinker.scala
Uses simple json format. Default value is: { "checkIR":false, "parallel":true, "batchMode":true, "sourceMap":true, "optimizer":true, "prettyPrint":false, "closureCompiler":true } . User property is: scalor.linkerTestBuildOptionsMin. |
<linkerTestDependencyFolders> | File[] | - | Folders with classes generated by current project and included in
linker class path. Normally includes build output from
scope=[macro,main,test] (target/test-classes,
target/classes). Default value is: ${project.build.testOutputDirectory},${project.build.outputDirectory}. User property is: scalor.linkerTestDependencyFolders. |
<linkerTestDependencyScopes> | String[] | - | Provide linker class path from project dependencies selected by
these scopes. Scopes reference. Default value is: provided,test. User property is: scalor.linkerTestDependencyScopes. |
<linkerTestInitializerList> | String[] | - | List of Scala.js module initializer declarations. Module
initializers are JavaScript equivalent to Java main
method convention. They are invoked when linker-generated
runtime.js script is loaded in Node.js or Browser
JS-VM. Each list entry must be a fully qualified class name of
Scala object, with method name, with argument list, which follows
Java main contract, and is annotated with
@JSExportTopLevel, @JSExport. For
example, the following pom.xml plugin configuration
entry:
<linkerTestInitializerList> <initializer>test.Init.main(build=${project.artifactId},stamp=${maven.build.timestamp})</initializer> </linkerTestInitializerList> package test import scala.scalajs.js.annotation._ @JSExportTopLevel( "test.Init" ) object Init { @JSExport // Arguments contain "build" and "stamp" entries from pom.xml. def main( args : Array[ String ] ) : Unit = { // This module output is printed on JS-VM console (Node.js or Browser). println( s"init-main: ${args(0)} ${args(1)}" ) } } User property is: scalor.linkerTestInitializerList. |
<linkerTestRuntimeJs> | String | - | Non-optimized runtime script. Relative path of the generated
runtime JavaScript file for scope=test, mode=development. File is
packaged inside linkerTestTargetFolder
Normally follows webjars convention. Default value is: ${project.artifactId}/${project.version}/runtime-test.js. User property is: scalor.linkerTestRuntimeJs. |
<linkerTestRuntimeMinJs> | String | - | Linker optimized/minified runtime script. Relative path of the
generated runtime JavaScript file for scope=test, mode=production.
File is packaged inside linkerTestTargetFolder
Normally follows webjars convention. Default value is: ${project.artifactId}/${project.version}/runtime-test.min.js. User property is: scalor.linkerTestRuntimeMinJs. |
<linkerTestTargetFolder> | File | - | Build target directory for the generated runtime JavaScript file
with scope=test. Normally packaged inside
target/test-classes. Normally follows webjars
convention. Default value is: ${project.build.testOutputDirectory}/META-INF/resources/webjars. User property is: scalor.linkerTestTargetFolder. |
<skip> | boolean | - | Force to skip all executions of this plugin. Default value is: false. User property is: scalor.skip. |
<skipLinker> | boolean | - | Flag to skip this execution: scala-js-link-*. Default value is: false. User property is: scalor.skipLinker. |
<skipLinkerTest> | boolean | - | Flag to skip this goal execution: scala-js-link-test. Default value is: false. User property is: scalor.skipLinkerTest. |
<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. |
case commonMappingPattern.r( key, value ) => ( key, value )
string.split( commonSequenceSeparator ).map( _.trim ).filterNot( _.isEmpty )
always - link during both full and incremental build never - do not produce runtime at all full - link only during full build incr - link only during incremental build
always - link during both full and incremental build never - do not produce runtime at all full - link only during full build incr - link only during incremental build
<linkerTestInitializerList> <initializer>test.Init.main(build=${project.artifactId},stamp=${maven.build.timestamp})</initializer> </linkerTestInitializerList>
package test import scala.scalajs.js.annotation._ @JSExportTopLevel( "test.Init" ) object Init { @JSExport // Arguments contain "build" and "stamp" entries from pom.xml. def main( args : Array[ String ] ) : Unit = { // This module output is printed on JS-VM console (Node.js or Browser). println( s"init-main: ${args(0)} ${args(1)}" ) } }