I've brought this up before, but I'd like to bring it up again. I think
it would be immensely useful to be able to reference maven artifacts
from a modules.xml file. i.e.
<module xmlns="urn:jboss:module:1.1"
name="org.jboss.resteasy.resteasy-jaxrs">
...
<resources>
<resource-root
artifact="org.jboss.resteasy:resteasy-jaxrs:2.3.4.Final"/>
</resources>
<dependencies>
...
</dependencies>
</module>
* First things first, we could ship multiple profiles very easily as all
jar dependencies point to a maven repository. A different profile
becomes 100k instead of 100M.
* Development becomes easier. If I'm coding Resteasy and testing with
AS7, I just modify the AS7 module.xml to reflect the new maven artifact
for resteasy. Then as I iterate on Resteasy, I just build resteasy, and
AS7 automatically picks up the the snapshot (without having to manually
copy jars or re-run AS7 dist scripts).
* If you combines all module.xml files and standalone.xml into one big
monster file/format a bunch of other things start to happen:
- You don't even need a JBoss distribution to run AS7. All you would
need is some small bin.jar and a maven repository.
- You instantly have a cloud-ready provisioning file format
- You instantly have a nice REST format. If you sprinkle in various
Atom links so that you can easily micro manage
- Managing the Fedora/RHEL/RPM poop becomes just managing a local maven
repository.
- You could also have a "jboss" executable that took a standalone.xml
file as a parameter. The "jboss" executable is just a tiny script around
the tiny boot.jar that should rarely change, if ever. This type of
setup, IMO, makes a Fedora distribution feasible
* I think this would make it easier to write a jboss-as7-maven-plugin as
somebody could include a full standalone.xml in their resources
directory much as the jetty-maven-plugin does with web-app/.
* Even better, allow some form of "document inheritance/overrides", then
you can embed specific jboss config/module changes directly within your
pom.xml file.
* Expand this even further and allow maven artifacts to be specified
with JAR, WAR, EAR manifests and be included as deployable elements.
This would allow a operating system wide shared library directly and
allow us full applications and their third-party dependencies to be
managed the same way Sys admins manage any other shared library on the
system.
--
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com