wiki:MavenLayout

Version 2 (modified by dgf, 7 years ago) (diff)

pax web update

/pom.xml Global Build

entry point for the build system

defines some global properties:

  • global defaults, e.g. OSGi HTTP configuration
  • DeepaMehta specific defaults like the database path

Profiles

run (default)

configure and run a Felix based hot deployment instance

the PAX plugin 1.4 uses the PAX Runner 1.8.5 with

  • Felix 4.0.3
  • 3rd-party-bundles POM
  • felix-bundles POM

use it with PAX to start the development environment:

$ mvn pax:run # (optional: -P run)

update breaks/hints:

  • PAX plugin 1.5 ignores <deployPoms> configuration

all

build configuration that includes all standard modules

use it to build the entire project:

$ mvn clean install -P all

dist

build assembly modules to create the standard and Karaf distribution archives

$ mvn install -P dist

neo4j

start and connect a Neo4j Shell directly on the DeepaMehta database

$ mvn exec:java -P neo4j

modules/dm4-provision/... Provision Modules

Defines all DeepaMehta, Felix and 3rd party dependencies to be used in the PAX runner and distribution assembly. As long as the PAX runner simply parses the POM files as XML, every dependency must define a explicit version string without the usage of variables.

modules/dm4-parent Parent

The parent POM for DeepaMehta standard modules with a minimal set of Java dependencies and a pre-configuration for the bundle plugin.

modules/dm4-plugin-parent/pom.xml Plugin Parent

This parent is targeted for use in a third party szenario, see PluginDevelopmentGuide. It is independent from the entire build process and defines all environment properties separatly.

The configured PAX plugin uses the provision POM files to deploy all standard DeepaMehta dependencies and the actual plugin project with all transitive dependencies.