Show TOC

Build OptionsLocate this document in the navigation structure

Use

The flexibility of the Component Build Service (CBS) allows you to build software components (SCs) with various different build options. Build options in the context of build plug-ins means slightly more than the build options that are set in a development configuration using the CMS Landscape Configurator. From the viewpoint of a build plug-in, a build option can be defined as a local option for the current DC that is defined as a property within the DC metadata or in a cfg/build.properties file.

Procedure

Build options

General Options

Name

Default Value

Description

include_sources

true

If this value is set to true, the source code of all entity types that support source code (such as Java packages) is packed into the public parts and the deploy archives. This is required for debugging, for example. Note that this does not explicitly add sources. To stop the source code from being packed automatically, set this value to false.

com.sap.check-path-lengths-on-windows

true

If set to true then the path length of source files will be checked before the actual build. This should help to find problems caused by file names that are too long. (Only applies to Windows.)

com.sap.check-java-source-encoding

false

If set to true then all *.java files in the defined package folders will be checked if they are correctly UTF8 encoded. If an invalid UTF8 encoding is found, a warning will be issued. The build will not be aborted. At least on Windows using a Sun JDK this is not a critical problem, but this option may help to find issues with AIX, for example, where the IBM JDK performs stricter checks.

com.sap.javadoc.enable

false

If set to true , you can trigger generation of Javadoc for all compilation public parts of the development components (DCs), if the defined public parts contain Java entities.

Java Compilation

Name

Default Value

Description

com.sap.jdk.javac.source

Correct string values supported by the Java compiler such as 1.3, 1.4, 1.5 .

If set, the value of the option is passed to the javac option -source .

For more information, see the Sun official documentation.

The default value depends on the version of the Java compiler that is used. JDK 1.3 and 1.4 default to 1.3, JDK1.5/5 defaults to 1.5.

If the DC is built within japro , the source setting will be overwritten by the logical JDK definition within japro .

com.sap.jdk.javac.target

Correct string values supported by the Java compiler like 1.1, 1.2, 1.3, etc.

If set, the value of the option is passed to the javac option -target .

For more information, see the Sun official documentation.

The default value depends on the version of the Java compiler that is used. JDK 1.3 and 1.4 default to 1.3, JDK1.5/5 defaults to 1.5.

If the DC is built within japro the target setting will be overwritten by the logical JDK definition within japro .

com.sap.jdk.javac.verbose

true, false

Enables verbose output from the Java compiler.

com.sap.jdk.javac.compiler

See Ant documentation

Defines the compiler for the javac task.

com.sap.jdk.javac.force_fork

false

Forces the Java compiler to fork.

com.sap.jdk.javac.maxmemory

A valid memory size. See the documentation for the memoryMaximumSize attribute of the javac task in the Ant documentation.

Sets the maximum memory size for the Java compiler if it is forked as a separate process. If the build is running on a JDK1.4 or newer, the build plug-ins will try to use the same maximum size as the build tool VM if this parameter is not explicitly specified.

com.sap.jdk.home_path_key (global option only)

String literal

The string literal is used to look up a JDK home path. On the CBS, this can be configured using the JDK_HOME_PATHS service property. In the SAP NetWeaver Developer Studio, some values are hard-coded.

The option is set to JDK1.4.2_HOME. The build plug-in looks for a Java compiler in the path specified in the property for this key. If the JDK of that Java compiler is different from the VM that is currently running, the Java compiler will automatically be forked.

This option can only be specified in the development configuration.

com.sap.jdk.javac.deprecation

false

If set to true, the deprecation flag for the javac will be enabled, that is, the build log will contain detailed deprecation warnings.

com.sap.jdk.javac.optimize

false

If set to true, the optimize flag for the javac will be enabled. This also automatically disables debug settings. If this option is set to false the build plug-ins with pass debug=on to Ant.

Optimization in the Java compiler is somewhat fake. The 1.3 Java compiler officially supports an option -O , but for newer versions this option is not documented and specified.

com.sap.jdk.javac.debug

true

If set to true the debug flag for the javac will be enabled unless the optimize option is set.

com.sap.jdk.javac.debuglevel

A comma-separated list containing some or all of the values source , lines , vars . See the documentation for the -g : parameter for the Java compiler in the official documentation by Sun, or the documentation of the debuglevel attribute of the javac task in the Ant documentation.

Defines what kind of debug information is included within class files.

com.sap.jdk.javac.Xlint

See the official documentation by Sun.

Specifies Xlint options for the Sun Java compiler 1.5.

com.sap.jdo.enhancer.verbose

false

If set to true, the verbose flag for the JDO enhancer will be enabled.

com.sap.sqlj.verbose

false

If set to true, the verbose flag for the SQLJ generator will be enabled.

Deprecated Build Options

Name

Default Value

Description

com.sap.javac_source

You should use com.sap.jdk.javac.source . The option was renamed for consistency.

ant_fork_compile

You should use com.sap.jdk.javac.force_fork.

ant_jdk_version

You should use com.sap.jdk.home_path_key.

ant_javac_opt

You should use com.sap.jdk.javac.optimize.

ant_javac_deprecation

You should use com.sap.jdk.javac.deprecation.

Options that Affect Public Part Packaging

Name

Default Value

Description

com.sap.use-default-exclude-patterns

true

Excludes default file patterns when packaging public parts. This matches the behavior of Ant to exclude, for example, .svn directories, CVS directories, files starting with .# when adding files from source folders.

com.sap.source-exclude-patterns

A comma-separated list of exclude patterns.

In addition to the default patterns defined within the build plug-ins, this option allows you to define custom exclude patterns.

Deploy File Creation

Name

Default Value

Description

com.sap.sda.additional.substitution-variables

A comma-separated list of additional substitution variables that will be included in the deployment descriptor of the SDA.

com.sap.sda.archive-packaging.*

This option is effectively a prefix for defining options for a specific deploy result. The exact name is com.sap.sda.archive-packaging.<deploy-unit-id>.<option-key of deploy file creator>.

For example, the JarSAP deploy file creator supports an option include-deploy-dependencies (default true ). To suppress deploy dependencies in an SDA, you can define an option com.sap.sda.archive-packaging.default.include-deploy-dependencies=false . Note that the <deploy-unit-id> for the default deploy archive is simply default.

com.sap.deploy-dependency-check.enabled

true

This flag can be used to disable the internal check by the build plug-in framework if a deploy dependency resonable.

com.sap.runtime-dependency-check.enabled

true

This flag can be used to disable the internal check by the build plug-in framework if a runtime dependency is resonable.