[jboss-as7-dev] cant get rid of jetty maven plugin - so lets mavenize JBoss Modules
James R. Perkins
jperkins at redhat.com
Mon Feb 25 19:22:08 EST 2013
I'm definitely not opposed to changing the way zip is downloaded and/or
extracted. It was originally done like this to get something working as
I wasn't sure how much it was going to be used to be honest. Probably
not really a good excuse, but it's the reason :-)
I am just getting to release a new version that does have a start and
shutdown goal so they can be used in integration testing. I do wonder
though in the cases where these goals were requested why not use
Arquillian and the reason I got was basically that they added custom
modules before they run the integration test. This likely could be
achieved with either ARQ or the maven plugin by defining the JBOSS_HOME.
The maven config could get rather messy, but it would work for sure.
As far as the JBoss Modules part, that's up to David and don't quote me,
but I think he rejected something like that before. Again though that's
all up to him.
On 02/25/2013 01:18 PM, Bill Burke wrote:
> JBoss AS and jboss-as-maven-plugin just doesn't meet my needs, so I've
> started the process of fixing it. I have some initial code, but I need
> to know that my suggestions and pull-requests will be accepted before I
> proceed with the rest of the changes I would need to make.
>
> What missing or very hard to do:
>
> * Jetty maven plugin is great because there is no pre-installation
> needed. It builds your war, automatically downloads jetty and runs it
> in embedded mode, then runs your tests (if you have maven pom configured
> right). I'd like to replace this with JBoss AS....But...it is just not
> feasible. jboss-as-maven-plugin does download the AS7 ZIP artifact if
> jboss isn't running already, but...it unzips the zip into every maven
> projects target/ directory. FOR EVERY PROJECT. So, if you have more
> than one test, you are unzipping 100M+ PER PROJECT. This is just
> unworkable.
>
> * I need the above for my O'Reilly Restful Java book examples.
> Currently I use Jetty and I can't replace with jboss-as-maven-plugin. I
> refuse to require download/install of jboss and will just stick to jetty
> if I must.
>
> * If you are developing on a subsystem integration on AS codebase, as
> you build your submodule, you need to either rebuild the distribution,
> or copy the library to the built JBoss distribution. Its just a pain.
> I'd like to remove this step and streamline integration module development.
>
> * I'd like to have automated AS integration tests in the Resteasy build.
> This sucks because of the previous problems. Not only is an unzip of
> AS required per maven project, but I need to override resteasy speific
> AS modules with the current resteasy build.
>
> * You can't distribute a profile of a complete jboss install without
> distributing *EVERY* jar it depends on.
>
> What I'm doing to fix it:
>
> * I've got a pull request for JBoss Modules that allows you to specific
> a maven repository artifact instead of a path for a resource-root: i.e.
>
> <resources>
> <resource-root group="org.jboss.resteasy"
> artifact="resteasy-jaxrs" version="3.0-beta-4"/>
> <resource-root group="org.jboss.resteasy"
> artifact="resteasy-client" version="3.0-beta-4"/>
> </resources>
>
> Looks in the local maven repository for the artifact, if not there,
> barfs unless you've pointed a system property to a remote maven
> repository. Then it will download the artifact with a nice updated
> download-progress message displayed on the console window.
>
> Here's my pull request:
>
> https://github.com/jbossas/jboss-modules/pull/28
>
> * I'd like to change the JBoss AS distribution to use this new
> jboss-modules maven artifact feature. This requires modifying
> module.xml creation as well as creating and distributing a local maven
> repository with the jars needed.
>
> * Besides the modified distro, I'd like a new maven artifact that is
> just a zip of the JBoss AS directory structure and the corresponding
> configuration files. No jars.
>
> * I want to rev jboss-as-maven-plugin to take advantage of these new
> features and distros. Specifically:
> - Allow a src/jboss directory so that users can provide their own config
> files that are overlayed on top of the config-only AS distro.
> - Make config-only AS distro something you can reference as an artifact
> dependency
> - provide in-pom support for defining new and override modules.
>
> I hope you can see that not only does this make development easier, but
> it also opens the door define JBoss AS profiles that can easily be
> exchanged and distributed.
>
--
James R. Perkins
JBoss by Red Hat
More information about the jboss-as7-dev
mailing list