Maven settings and profiles

From MPDLMediaWiki
Jump to navigation Jump to search

The following profiles given by their profile identifier are available for the PubMan and common_services build process:

The first three profiles mark the kind of the artifact:

  • env-opensource
  • env-pure
  • env-nims

Depending of the activated profile either an OpenSource PubMan instance or a PuRe PubMan instance or a NIMS PubMan instance are built. A classifer is used to show the kind of the instance, e.g. pubman-ear-pure.ear for an PuRe PubMan instance or pubman-ear-nims.ear for an NIMS PubMan instance. Exactly one ore none of these three profiles may be activated. The env-opensource profile is the default one. The name of an OpenSource pubMan instance is pubman-ear.ear with an empty classifier.


The following profiles could be arbitrarily combined:

  • env-testing-continuum: This is a special profile used for the continous integration build on Jenkins. It provides the hot deployment via scp to the developement server dev-pubman.mpdl.mpg.de. Is deactivated by default.
  • env-jrebel-build: This profile provides the instrumentation of the artifact for using JRebel. Should be activated only for development purposes. Is deactivated by default.
  • integration-tests: Activate this profile if you want to perform the integration tests on the local Wildfly Server during the build process. Is deactivated by default.
  • env-release-build: If this profile is activated some critical JUnit tests are disabled, e.g. tests connecting to a remote server. This feature should be used only during release builds.
  • deploy-artifacts: Activate this profile if you want to deploy the built artifact automatically by calling a copy command to the local Wildfly Server.
  • standalone: Activate this profile if Pubman runs as standalone application in the WildFly Application Server. Otherwise if running together with eSciDoc, PubMan waits till eSciDoc has started.

Some examples how to combine the profiles:

artifact activated profiles

PuRe release build

env-pure, env-release-build, integration-tests

OpenSource release build

env-opensource, env-release-build, integration-tests

PuRe developement build

env-pure, env-jrebel-build, deploy-artifacts, integration-tests