smartics / smartics-jboss-modules-maven-plugin

Generates an archive of modules based on information in a POM to be copied to an JBoss 7 installation.
https://www.smartics.eu/confluence/display/SJBMMP/
Other
13 stars 10 forks source link

Add support for a more terse module descriptor format #13

Closed jamesnetherton closed 9 years ago

jamesnetherton commented 9 years ago

The current module schema is quite verbose and could be simplified to shorten the amount of XML needed to perform many of the module operations.

For instance, including module resources from Maven GAV coordinates could be simplified to something like:

<include artifact=":commons-lang"/>

Similarly, apply-to-dependencies could be simplified to:

<apply-to-dependencies export="true" services="import" skip="true" slot="1.0" optional="true">
  <include module="commons-logging" />
  <exclude module="commons-lang" />
</apply-to-dependencies>

Module dependencies can be simplified to (without the need for any apply-to-module blocks):

<dependencies>
  <module name="javax.api" />
  <module name="javax.xml.stream.api" />
</dependencies>
tdiesler commented 9 years ago

If this breaks compatibility, it might need to go to milestone 3.0. Having a 3.0 branch would generally provide a container for stuff that is accepted but not compatible.

jamesnetherton commented 9 years ago

For reference the XSD schema for the v2 module descriptor format is here:

https://github.com/jamesnetherton/smartics-jboss-modules-maven-plugin/blob/smartics-13/src/main/resources/xsd/jboss-modules-descriptor-v2.xsd

tdiesler commented 9 years ago
[09:38:24]  <+jnetherton>   tdiesler, morning. PR #17 raised with smartics for the v2 schema stuff. The other changes depend on this so would be good to get an idea of whether they are going to accept this or not.
[09:38:43]  <+tdiesler> jnetherton, lovely
[09:39:15]  <+tdiesler> jnetherton, this is an incompatible change, isn't it?
[09:40:00]  <+jnetherton>   tdiesler, pretty much, yes. It's a totally new module descriptor schema for them
[09:40:20]  <+jnetherton>   tdiesler, although actually, the v1 schema remains in place if folks want to use it
[09:40:35]  <+jnetherton>   so maybe it's not so bad
[09:40:52]  <+jnetherton>   existing stuff folks wrote against the v1 schema should still work fine
[09:41:00]  <+tdiesler> jnetherton, is there test coverage that v1 descriptors still work?
[09:41:22]  <+jnetherton>   tdiesler, yes. I split their IT tests down into v1 and v2
[09:41:33]  <+jnetherton>   so both schemas are tested
[09:41:52]  <+jnetherton>   all v1 stuff still passes