Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bserdar/eap6-plugin

Generate module.xml and jboss-deployment-structure.xml files for EAP6/JBossAS 7
https://github.com/bserdar/eap6-plugin

Last synced: about 1 month ago
JSON representation

Generate module.xml and jboss-deployment-structure.xml files for EAP6/JBossAS 7

Awesome Lists containing this project

README

        

This plugin generates `jboss-deployment-structure.xml` file or
`module.xml` based on the module dependencies.

Configuration items:

- `generate`: Default set to `true`. If set to
`false`, the file won't be generated, but dependency analysis will be
performed and warnings will be printed out.

- `skeletonDir`: Directory containing skeleton
`jboss-deployment-structure.xml`, or `module.xml`. By default,
`src/main/etc`. If there is a skeleton file in this
directory, it will be used as a baseline, and module dependencies
will be added as needed. Otherwise, a `jboss-deployment-structure` or
`module.xml` with only module dependencies will be generated. If this
file already has dependencies to other modules, they will not be
modified.

- `dictionaryFiles`: This is a list of files containing maven
artifact to EAP6 module mapping. The plugin already contains a
dictionary file containing all EAP6 provided modules. These
dictionaries declared with this configuration statement are in
addition to what is already declared. Multiple dictionary files can
be defined. Later declared dictionary files override identical
definions in earlier files.

- `isSubdeployment`: If true, this project is a sub-deployment of an
EAR file. A `jboss-subdeployment.xml` will be generated instead of
`jboss-deployment-structure.xml`. This project should be listed as a
subdeployment of the EAR project. The plugin will read the
`jboss-subdeployment.xml` from the artifact, and build the correct
`jboss-deployment-structure.xml`.

- `subDeployments`: A list of `subDeployment` elements, each containing a
`groupId` and `artifactId`. The sub-deployments of an EAR file.

Usage

`jboss-deployment-structure` for an EAR file with an ejb-jar:

...
myApp
myEJB



org.apache.maven.plugins
eap6-maven-plugin
1.0.0



build





../mydict.dict

true




...
myApp
myEAR



org.apache.maven.plugins
eap6-maven-plugin
1.0.0



build






myApp
myEJB



../mydict.dict


Generating a `module.xml` file for an EAP6 module:


org.apache.maven.plugins
eap6-maven-plugin



build-module





../mydict.dict


Dictionary file format:

A dictionary file contains a maven artifact to EAP6 module mapping at
each line:

javax.faces:jsf-impl=com.sun.jsf-impl

Here, it is declared that if the project depends on any version of
`javax.faces:jsf-impl` maven artifact, and if it appears with scope
provided, then a module dependency will be added to
`com.sun.jsf-impl`. Version specific mappings can also be given:

javax.faces:jsf-impl:1.0=com.sun.jsf-impl
javax.faces:jsf-impl:2.0=com.sun.jsf-impl.2

With this decleration, different versions of the same maven
artifact is mapped to different modules. The plugin searches for
the most specific match, that is, if there is a match with a
particular version is found, it is used, but if a version match is
not found, but a non-versioned match is found, then the
non-versioned mapping will be used.