geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Bohn <>
Subject Re: version compatibility plugin?
Date Wed, 02 Jul 2008 20:33:44 GMT
David Jencks wrote:
> Can you check if the plugin installer gbean is using the artifact 
> resolver that knows about the aliases you installed?  If it's directly 
> accessing the repository we need to change it to use the appropriate 
> artifact resolver (after figuring out which artifact resolver that is)

Thanks for the help David.

I'm still not sure exactly why this isn't working yet but I did learn a 
few things:

- The PluginInstallerGBean is using an ArtifactResolver as it should be 
and not accessing the repository directly.
- Checking the ArtifactResolver instance shows that it is actually using 
the ExplicitDefaultArtifactResolver class.
- When I install my compatibility plugin I can see the point in the 
PluginGBeanInstaller where it calls ExplicitDefaultArtifactResolver to 
add the alias entries.
- It appears to be the same instance of the 
ExplicitDefaultArtifactResolver for both adding the entries and when we 
later check to for items like the jasper 2.1 car file dependency later on.
- When we query the artifact resolver for the jasper configID (via 
queryArtifacts()) it does not come back with a match for some reason. It 
seems that queryArtifacts() is inherited from DefaultArtifactResolver 
and it's not clear to me if this class takes into consideration aliases 
that were added.

still looking ...


> thanks
> david jencks
> On Jul 2, 2008, at 8:46 AM, Joe Bohn wrote:
>> I attempted to create a version compatibility plugin such that plugins 
>> with dependencies on 2.1 artifacts could attempt to be installed in a 
>> 2.2-SNAPSHOT server image (mapping 2.1 car artifacts to 2.2-SNAPSHOT 
>> car artifacts).  However, thus far I'm not having any success.
>> The plugin is fairly simple.  Just a bunch of entries for artifact 
>> aliases and no other content:
>> <plugin-artifact>
>> ...
>> <artifact-alias 
>> key="org.apache.geronimo.configs/jasper//car">org.apache.geronimo.configs/jasper/2.2-SNAPSHOT/car</artifact-alias>

>> <artifact-alias 
>> key="org.apache.geronimo.configs/jasper/2.1/car">org.apache.geronimo.configs/jasper/2.2-SNAPSHOT/car</artifact-alias>

>> ...
>> I also verified that after installing the compatibility plugin that 
>> the entries are added to the file in 
>> var/config:
>> ...
>> org.apache.geronimo.configs/jasper//car=org.apache.geronimo.configs/jasper/2.2-SNAPSHOT/car

>> org.apache.geronimo.configs/jasper/2.1/car=org.apache.geronimo.configs/jasper/2.2-SNAPSHOT/car

>> ...
>> Yet, even with these entries, I still get essentially the same error 
>> attempting to install samples created for 2.1 in a 2.2-SNAPSHOT server 
>> as I had without the artifact-alias entries.  I showed the jasper 
>> entries above because that is the missing dependency when I attempt to 
>> install the Tomcat JSP example plugin created for 2.1 on 2.2-SNAPSHOT 
>> (see error below).  I had similar results on a 2.1.1 server when I 
>> attempted to use a another compatibility plugin mapping 2.1 cars to 
>> 2.1.1.  Am I missing something obvious?
>> 11:22:45,918 ERROR [PluginInstallerGBean] Unable to install plugin
>> org.apache.geronimo.kernel.repository.MissingDependencyException: 
>> Plugin is not installable on Geronimo 2.2-SNAPSHOT
>> Missing dependency: org.apache.geronimo.configs/jasper/2.1/car
>>     at 
>> org.apache.geronimo.system.plugin.PluginInstallerGBean.validatePlugin(

>>     at 
>> org.apache.geronimo.system.plugin.PluginInstallerGBean.downloadArtifact(

>> ...
>> Joe

View raw message