On Aug 19, 2008, at 2:48 PM, Joe Bohn wrote:

I've been looking into possible ways to get the Geronimo Sample plugins created in such a way that they can be installed in multiple Geronimo Server versions.

I had success doing this a few months back with the very, very simple Geronimo Server Specific Repository plugin. It was possible to create this plugin so that it could install on multiple server releases by setting includeVersion to false in the car-maven-plugin configuration.

However, attempting to do the same for the samples isn't working as smoothly. For example, if I add includeVersion false in the jsp- examples-tomcat/jetty poms the geronimo-plugin.xml (and geronimo- plugins.xml) are correctly generated with dependencies on tomcat and jasper that omit the version (actually there is something else wrong where it shows 1 dependency on jasper but 2 on tomcat - none with versions ... but that's a different problem). However, when I attempt in install the plugin a Geronimo 2.1.1 or 2.2-SNAPSHOT server image the gbean fails to start because of a missing dependency on org.apache.geronimo.configs/tomcat6/2.1.2/car. I can't figure out where it is picking up this versioned dependency. Any ideas?

probably the default environment in tomcat-deployer



The only difference I notice between the server-repo plugin where this works and the sample where it doesn't is that the samples utilize the deploymentConfigs in the car-maven-plugin configuration. At the moment these entries must include a geronimo version or we get a NPE during the build (I was thinking of seeing it we could default a version if none is provided for the deployer but I'm not sure that is the issue anyway).

I don't think that would work.  Maven needs to know what you want here.

Is it possible that some dependency is getting pulled in because of the deployer and perhaps persisted somewhere hidden (like in the config.ser file)? This is really driving me nuts.

I think more and more that all or most dependencies should be specified with versions and we should use artifact-aliases for when we want to change them.

What happens if you include all versions in the samples and map all these versions to whatever is present in the server in artifact- aliases.properties? Might not be trivially easy to set up, but does it work?

thanks
david jencks



Joe


Reply via email to