geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Bohn <joe.b...@earthlink.net>
Subject Re: version compatibility plugin?
Date Thu, 03 Jul 2008 20:19:54 GMT
Joe Bohn wrote:
> 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 ...

Ok, I confirmed that DefaultArtifactResolver.queryArtifacts() was not 
including aliases for the query ... hence the problem.  Thanks to a good 
pointer from David Jencks I was able to easily add this into the query. 
I created GERONIMO-4182 for this problem and checked in a fix for 
2.1.2-SNAPSHOT and 2.2-SNAPSHOT.

Unfortunately, that means that we won't be able to use a version 
compatibility plugin for anything prior to 2.1.2/2.2 ... so we will need 
to come up with another solution for samples or other plugins created 
for Geronimo 2.1 that we want to run on Geronimo 2.1.1.

Joe


> 
> Joe
> 
> 
> 
>> 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 artifact-aliases.properties 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(PluginInstallerGBean.java:920)

>>>
>>>     at 
>>> org.apache.geronimo.system.plugin.PluginInstallerGBean.downloadArtifact(PluginInstallerGBean.java:1081)

>>>
>>> ...
>>>
>>> Joe
>>
>>
> 
> 


Mime
View raw message