Module java
The java module contains the properties and rules for building Java projects.
Java Properties
| Property | Type | Since | Default | Description |
|---|---|---|---|---|
| additionalClassPaths | stringList | 1.4 | undefined | Locations beside this product's class output path to consider when compiling. |
| additionalCompilerFlags | stringList | 1.4 | undefined | Use this to supply compiler flags not covered by any of the properties in this module. |
| additionalJarFlags | stringList | 1.4 | undefined | Use this to supply archiver flags not covered by any of the properties in this module. |
| bootClassPaths | stringList | 1.4 | undefined | Use this if you need to specify non-standard bootstrap class files. |
| compilerFilePath | string | 1.4 | compilerName, prefixed by jdkPath if it is defined | The command to invoke when compiling Java sources. |
| compilerName | string | 1.4 | "javac" | The file name of the Java compiler. |
| enableWarnings | bool | 1.4 | true | Controls whether warnings are emitted when compiling Java sources. |
| interpreterFilePath | string | 1.4 | interpreterName, prefixed by jdkPath if it is defined | The command to invoke when executing Java code. |
| interpreterName | string | 1.4 | "java" | The file name of the Java interpreter. |
| jarFilePath | string | 1.4 | jarName, prefixed by jdkPath if it is defined | The command to run when creating or extracting jar files. |
| jarName | string | 1.4 | "jar" | The file name of the jar tool. |
| jdkIncludePaths | pathList | 1.4.1 | determined automatically | List of include paths for native header files. Applications using JNI to interface with native code should add these paths to cpp.includePaths. |
| jdkPath | path | 1.4 | determined automatically | The base path of the Java Development Kit (JDK). This is equivalent to the JAVA_HOME environment variable, and by default will be determined automatically from one of the following:
|
| languageVersion | string | 1.4 | undefined | The Java language version to interpret source code as. If undefined, the compiler will use its default. |
| runtimeVersion | string | 1.4 | undefined | The version of the Java runtime to generate compatible bytecode for. If undefined, the compiler will use its default. |
| manifest | object | 1.4.2 | undefined | The properties to add to the manifest file when building a JAR. The contents of this property will be aggregated with the values from any files tagged "java.manifest" (see below). If manifest and a manifest file contain the same key, the former will take precedence. If undefined, will not be taken into account. |
| manifestClassPath | stringList | 1.4.2 | undefined | The entries to add to the manifest's Class-Path when building a JAR. |
| warningsAsErrors | bool | 1.4 | false | If this property is enabled, the compiler will abort where it would normally emit a warning. |
Relevant File Tags
| Tag | Auto-tagged File Names | Since | Description |
|---|---|---|---|
"java.class" | - | 1.4 | This tag is attached to the output artifacts of the rule that runs the javac tool. |
"java.jar" | - | 1.4 | This tag is attached to the output artifacts of the rule that runs the jar tool. |
"java.java" | *.java | 1.4 | Source files with this tag serve as inputs to the rule running the javac tool. |
"java.manifest" | *.mf | 1.8 | The contents of files with this tag will be aggregated with the values in java.manifest. If a manifest file and java.manifest contain the same key, the latter will take precedence. If undefined, will not be taken into account. |