erlang:appup

Full name:

eu.lindenbaum:maven-erlang-plugin:2.2.0:appup

Description:

This Mojo will generate an application upgrade file template for an application. 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 application upgrade file's location will be prompted on success as well as its content.

The generation algorithm is outlined in the following description:

  • Find added modules and add a {load_module, Module} statements for them.
  • Find updated modules and invoke the GetAppupDirectiveScript on them.
  • Find deleted modules and add a {delete_module, Module} statements for them.


The GetAppupDirectiveScript works as described below:

  • Add a {update, Module, supervisor} statement if Module is a supervisor.
  • Add a {update, Module} statement if Module exports code_change/3.
  • Add a {load_module, Module} statement if Module does not meet the previous conditions.


Attributes:

  • Requires a Maven project to be executed.
  • Requires dependency resolution of artifacts in scope: test.
  • Since version: 2.1.0.
  • Invokes the execution of the lifecycle phase package prior to executing itself.
  • Executes in its own lifecycle: appup-relup.

Optional Parameters

Name Type Since Description
cookie String 2.1.0 The cookie to use for the java and the backend node.
erlCommand String 2.1.0 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
  • Since: 2.1.0
  • 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
  • Since: 2.1.0
  • Required: No
  • Expression: ${erlCommand}