Project Configuration

Application Resource, Application Upgrade, Release and Release Upgrade Files

The following sections describe the ways the plugin can support a projects application resource, upgrade and release file management. For further information about application resource, upgrade and release files see:

File Management

The plugin supports the management of erlang resource files by providing project packaging variables. These will be replaced by values on project packaging time. Provided project packaging variables currently include:

  • ${ARTIFACT}: the projects artifact id (atom)
  • ${DESCRIPTION}: the projects description (string)
  • ${ID}: the projects id (string)
  • ${VERSION}: the projects version (string)

    Only erlang-otp and erlang-std:

  • ${MODULES}: all compiled .beam files found in the target ebin folder (list)
  • ${REGISTERED}: all registered names of the application, based on the -registered(Names). attribute retrieved from the compiled .beam files (list)
  • ${APPLICATIONS}: all dependency applications of the project as configured in the project's pom.xml (string)

    Only erlang-rel:

  • ${APPLICATIONS}: the project dependencies application and version tuples including all transitive application dependencies as available to the backend node(s) (tuple listing)
  • ${AUTODEPS}: the project dependencies application and version tuples including all transitive application dependencies as available to the backend node(s) (list)
  • ${ERTS}: expands to the tuple {erts, "ERTS_VERSION"} with the version of erts available on the backend node (tuple)
  • ${APPLICATION_NAME}: will be replaced by the tuple {'APPLICATION_NAME', "APPLICATION_VERSION"} with the version available on the backend node (tuple)

File Generation

The plug-in can generate default versions of application resource and upgrade files for your project. This is done by the setup mojo. For further information please refer to the mojos documentation. For release projects there's also the possibility to generate default basic release and release upgrade files as well as a default empty system configuration.

Application Resource File Checking

Will be performed on erlang-otp or erlang-std project packaging. Checks include:

  • consistency of application file and pom project name (artifactId)
  • consistency of application file and pom project version
  • consistency of compiled and configured modules
  • consistency of configured start module (exists and implements correct behaviour)
  • consistency of configured application dependencies

Application Upgrade File Checking

Will be performed on erlang-otp or erlang-std project packaging. Checks whether upgrade file has correct term structure.

Release File Checking

Will be performed on erlang-rel project packaging. Checks include:

  • consistency of release file and pom project name (artifactId)
  • consistency of release file and pom project version
  • consistency of configured application dependencies
  • consistency of required erlang/OTP release the release will be based on

Release Upgrade File Checking

The release upgrade file relup is only checked for existence.

System Configuration File Checking

The system configuration file sys.config is only checked for existence.