erlang:target-system

Full name:

eu.lindenbaum:maven-erlang-plugin:2.1.0:target-system

Description:

This Mojo creates a target system release package .tar.gz according to the official documentation. If there's no sys.config file found a default empty one will be included.

The resulting target system depends on a correct root directory configuration. The plug-in will change the scripts to check for the ${ARTIFACTID_TOP} (upper case) environment variable. This variable must be set by the user to guarantee a proper system behaviour. Custom arguments like node name or cookie can be set by using the standard erlang environment variables $ERL_AFLAGS, $ERL_ZFLAGS or $ERL_FLAGS. If you wish to run several releases on the same node the variable ${ ARTIFACTID_FLAGS} (upper case) environment variable could be used alternatively to ERL_FLAGS.

Example: If artifact id is release the environment variable ${RELEASE_TOP} must be set. Arguments could be specified by setting ${RELEASE_FLAGS} like that RELEASE_FLAGS="-sname some_node -setcookie some_cookie"

Note: The resulting target system is highly system dependent since it contains the erlang emulator (C code) from the backend nodes erlang installation.

Note: This mojo is currently working but still in experimental stage.

  • FIXME not supported on Microsoft Windows

Attributes:

  • Requires a Maven project to be executed.
  • Invokes the execution of the lifecycle phase package prior to executing itself.
  • Executes in its own lifecycle: targetSystem.

Optional Parameters

Name Type Since Description
cookie String - The cookie to use for the java and the backend node.
erlCommand String - The erlang command used to start an erlang backend node. The path must exist and the destination must be executable. If the given command does not fullfill these requirements erl is used (assuming the command is part of the hosts PATH). The path must not contain any arguments.

Parameter Details

cookie:

The cookie to use for the java and the backend node.
  • Type: java.lang.String
  • Required: No
  • Expression: ${cookie}

erlCommand:

The erlang command used to start an erlang backend node. The path must exist and the destination must be executable. If the given command does not fullfill these requirements erl is used (assuming the command is part of the hosts PATH). The path must not contain any arguments.
  • Type: java.lang.String
  • Required: No
  • Expression: ${erlCommand}