Goals available for this plugin:
Goal | Report? | Description |
---|---|---|
erlang:appup | No | This The generation algorithm is outlined in the following description:
The
|
erlang:compile | No | This Mojo compiles the projects Erlang sources and MIB
files. |
erlang:coverage | No | Runs a test coverage analysis on the modules in of the project,
optionally printing the result to console. The coverage data is
saved as a simple text file
(COVERAGE-${project.artifactId}.txt) with simple space
separated list of results, with coverage levels for: modules,
functions, clauses and lines. See also CoverageReport ,
i.e. the coverage-report goal.
ISSUE If a test purges or unloads a module to do coverage for, the coverage compilation information will be gone and the coverage report will fail. |
erlang:coverage-report | Yes | Generates a test coverage HTML report from the results produced by
the Coverage mojo i.e. the coverage -goal.
The report contains a project summary, showing the number of
functions, clauses executable lines and their test coverage
percentage. A module list with individual coverage reports and an
extensive source code report, with lines annotated in red or green,
showing the exact coverage. |
erlang:dialyzer | No | This The |
erlang:edoc | Yes | This Mojo will generate source code documentation for
an application. |
erlang:extract-dependencies | No | Unpack erlang-otp or erlang-std
dependencies. This will unpack all dependencies of this
MavenProject into the target/lib
directory. This is done only in case the dependency has changed
since the last unpack process. |
erlang:generate-release-resources | No | Copies all resource files into that target directory structure.
Copied resources contain:
scriptOptions parameter. In order to
manage the project over the project pom there is the possibility to
let the Mojo automatically fill in values from the
project pom into the .rel file. This can be done by
using one of the supported variables into the release file. Below
is a list of supported variables and their substitutions:
|
erlang:generate-resources | No | Copies all resource files into that target directory structure.
Copied resources contain:
|
erlang:generate-test-resources | No | Copies all test resource files into that target directory
structure. Copied resources contain:
|
erlang:help | No | Display help information on maven-erlang-plugin. Call mvn erlang:help -Ddetail=true -Dgoal=<goal-name>to display parameter details. |
erlang:initialize | No | Mojo that starts the erlang node used as a backend for
rpcs made by the plugin. The node will only be started if it is not
already running. The node will be shutdown when the executing JVM
exits. This is done by a Runtime.addShutdownHook()
which will only be added once each JVM execution. |
erlang:package | No | This Besides that this
The resulting application resource file as well as the application upgrade file will be checked for plausability. |
erlang:package-release | No | This Mojo packages/creates a release
.tar.gz using the erlang systools
modules. The build can be customized by providing additional
options through the tarOptions parameter. |
erlang:profile | No | Performs function profiling using eprof, by
executing any EUnit test modules, with the suffix
[module]_prof.erl , found among the test sources. The
profiling result are filtered and written out to the file
(PROFILING-${project.artifactId}.txt), which may be used
to generate a profiling-report . |
erlang:profiling-report | Yes | Generates a profiling report from the output of an already executed
profile goal. NOTE: this report does not invoke any
other lifecycle, it is required that a profiling is already run
before the report can be generated. |
erlang:reload-dependencies | No | Mojo that first purges all dynamically loaded modules
on the backend node and reloads the modules provided by (unpacked)
dependencies. |
erlang:reload-test-dependencies | No | Mojo that first purges all dynamically loaded modules
on the test backend node and reloads the modules provided by
(unpacked) dependencies. |
erlang:relup | No | This Mojo will generate a release upgrade file
template for a release project. In order to do so all available
non-SNAPSHOT versions of the project will be resolved (also from
remote repositories). All versions smaller than the current version
will be included in the generation. The resulting release upgrade
file's location will be prompted on success as well as its content.
The actual generation will be made using
systools:make_relup/4 . |
erlang:run | No | A |
erlang:setup | No | Utility goal that will setup a new Erlang/OTP Maven project, creating the basic resources and folders required, from a best practice point of view. This will typically replace the functionality given by a Maven archetype, checking and creating any missing resource. Regarding Erlang/OTP applications this could be:
Regarding Erlang/OTP releases this could be:
By default some extras for project management are also generated:
The default application resource file will look like (this would be sufficient for library applications): {application, ${ARTIFACT}, [{description, ${DESCRIPTION}}, {id, ${ID}}, {vsn, ${VERSION}}, {modules, ${MODULES}}, {maxT, infinity}, {registered, ${REGISTERED}}, {included_applications, []}, {applications, [kernel, stdlib]}, {env, []}, {start_phases, []}]}. The default application upgrade file will look like: {${VERSION}, [EDIT HERE], [EDIT HERE]}. The default release file will look like: {release, {${ARTIFACT}, ${VERSION}}, ${ERTS}, ${AUTODEPS}}. The default release upgrade file will look like: {${VERSION}, [EDIT HERE], [EDIT HERE]}. The default system configuration file will look like: []. |
erlang:show-build-info | No | This The output is logged at info level and contains:
InfoType ": " InfoValue where
InfoType is one of:
InfoValue is a file path. Both elements a seperated by
the string ": " (colon, space). |
erlang:target-system | No | This The resulting target system can be started either directly or as
a daemon using the Note: The resulting target system is highly system dependent since it contains the erlang emulator (C code) from the backend nodes erlang installation.
|
erlang:test | No | A Mojo that runs test modules using
eunit . |
erlang:test-compile | No | Compile erlang test sources and recompile erlang sources with the
options debug_info , export_all and
{d, 'TEST'} . This will also compile the supporting
erlang sources provided along with the plugin. |
erlang:test-initialize | No | Mojo that starts the test erlang node used as a
backend for rpcs made by the plugin. The node will only be started
if it is not already running. The node will be shutdown when the
executing JVM exits. This is done by a
Runtime.addShutdownHook() which will only be added
once each JVM execution. |
erlang:test-release | No | This Mojo checks the release file for plausability.
This is done by checking the release version, the release name as
well as checking all dependencies for correct versioning and
existence. |
erlang:upload | No | This Note: Uploading of releases will require that the remote erlang
process has write access to its |
erlang:upload-tests | No | This |
erlang:validate | No | Mojo that checks the project configuration for legal
values. |
The following specifies the minimum requirements to run this Maven plugin:
Maven | 2.0 |
JDK | 1.6 |
Memory | No minimum requirement. |
Disk Space | No minimum requirement. |
You should specify the version in your project's plugin configuration:
<project> ... <build> <!-- To define the plugin version in your parent POM --> <pluginManagement> <plugins> <plugin> <groupId>eu.lindenbaum</groupId> <artifactId>maven-erlang-plugin</artifactId> <version>2.2.0</version> </plugin> ... </plugins> </pluginManagement> <!-- To use the plugin goals in your POM or parent POM --> <plugins> <plugin> <groupId>eu.lindenbaum</groupId> <artifactId>maven-erlang-plugin</artifactId> <version>2.2.0</version> </plugin> ... </plugins> </build> ... <!-- To use the report goals in your POM or parent POM --> <reporting> <plugins> <plugin> <groupId>eu.lindenbaum</groupId> <artifactId>maven-erlang-plugin</artifactId> <version>2.2.0</version> </plugin> ... </plugins> </reporting> ... </project>
For more information, see "Guide to Configuring Plug-ins"