Ant plugin¶
The Ant plugin builds Java projects using the Apache Ant build tool.
After a successful build, this plugin will:
Create
bin/andjar/directories in$CRAFT_PART_INSTALL.Find the
javaexecutable provided by the part and link it as$CRAFT_PART_INSTALL/bin/java.Hard link the
.jarfiles generated in$CRAFT_PART_BUILDto$CRAFT_PART_INSTALL/jar.
Keywords¶
In addition to the common plugin and sources keywords, this plugin provides the following plugin-specific keywords:
ant-build-targets¶
Type: list of strings
The ant targets to build. These are directly passed to the ant command line.
ant-build-file¶
Type: str
The name of the main XML build file. Defaults to build.xml.
ant-properties¶
Type: dict of strings to strings
A series of key: value pairs that are passed to ant as properties using the
-D{key}={value} notation.
Environment variables¶
This plugin reads the http_proxy and https_proxy variables from the environment
to configure proxy access.
Please refer to Running Apache Ant for a list of environment variables used by Ant.
Dependencies¶
The plugin expects Ant to be available on the system as the ant executable, unless
a part named ant-deps is defined. In this case, the plugin will assume that this
part will stage the ant executable to be used in the build step.
Note that the Ant plugin does not make a Java runtime available in the target environment. This must be handled by the developer when defining the part, according to each application’s runtime requirements.
Example¶
The following snippet declares a part using the ant plugin. The declaration
of ant as a build-package installs both the build tool and a Java SDK, and
default-jre-headless is added as a stage-package so that the Java runtime
is bundled with the part. The ant-build-file and ant-build-targets plugin
properties are set to define the project’s main build file and which targets to
build, respectively.
parts:
my-ant-part:
source: .
plugin: ant
build-packages: [ant]
stage-packages: [default-jre-headless]
ant-build-file: "project-build.xml"
ant-build-targets: [compile, jar]