|
| Apache Geronimo > Discussion Forums | User List | Dev List | Wiki | Issue Tracker |
|
View:
New views
18 Messages
—
Rating Filter:
Alert me
|
|
|
version compatibility plugin?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 |
|
|
Re: version compatibility plugin?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 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 |
|
|
Re: version compatibility plugin?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 ... 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 > > |
|
|
Re: version compatibility plugin?Hi Joe,
You could try adding <scope>provided</scope> to the org.apache.geronimo.configs/jasper/{version}/car dependency in the pom.xml. I 've seen a similar error like this before and by adding the scope fixed it. Thanks, Lin On Wed, Jul 2, 2008 at 4:33 PM, Joe Bohn <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 ... > > 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 >> >> > > |
|
|
Re: version compatibility plugin?Lin Sun wrote:
> Hi Joe, > > You could try adding > > <scope>provided</scope> > > to the org.apache.geronimo.configs/jasper/{version}/car dependency in > the pom.xml. I 've seen a similar error like this before and by > adding the scope fixed it. Thanks Lin. That does indeed solve (more correctly avoid) the problem. However, adding <provided> means that the dependency will not be downloaded and must already be available. That's not necessarily a bad thing, but it could potentially limit the server configurations upon which the sample or other plugins can be installed. That's something that we can consider for the samples but in any case I think we also need to get this scenario working ... where a dependency is not marked as "provided" but can still be resolved with a different dependency via the artifact-alias that can be (or already is) installed on the given server instance. Joe > > Thanks, > > Lin > > On Wed, Jul 2, 2008 at 4:33 PM, Joe Bohn <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 ... >> >> 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 >>> >> > |
|
|
Re: version compatibility plugin?I agree this should work for certain scenarios when the server doesn't
provide the needed dependency. I suggested this because we had jasper-deployer specified as scope=provided while we don't have jasper specified as scope=provided in this sample in 2.1 branch. Lin On Thu, Jul 3, 2008 at 12:16 PM, Joe Bohn <joe.bohn@...> wrote: > Lin Sun wrote: >> >> Hi Joe, >> >> You could try adding >> >> <scope>provided</scope> >> >> to the org.apache.geronimo.configs/jasper/{version}/car dependency in >> the pom.xml. I 've seen a similar error like this before and by >> adding the scope fixed it. > > Thanks Lin. That does indeed solve (more correctly avoid) the problem. > However, adding <provided> means that the dependency will not be downloaded > and must already be available. That's not necessarily a bad thing, but it > could potentially limit the server configurations upon which the sample or > other plugins can be installed. That's something that we can consider for > the samples but in any case I think we also need to get this scenario > working ... where a dependency is not marked as "provided" but can still be > resolved with a different dependency via the artifact-alias that can be (or > already is) installed on the given server instance. > > Joe > >> >> Thanks, >> >> Lin >> >> On Wed, Jul 2, 2008 at 4:33 PM, Joe Bohn <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 ... >>> >>> 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 >>>> >>> >> > > |
|
|
Re: version compatibility plugin?Lin Sun wrote:
> I agree this should work for certain scenarios when the server doesn't > provide the needed dependency. I suggested this because we had > jasper-deployer specified as scope=provided while we don't have jasper > specified as scope=provided in this sample in 2.1 branch. > Right ... I noticed that as well. I was thinking that might be because of some special case scenarios with the deployers (it looks like most deployer dependencies are specified as provided in samples but not other dependencies). I don't really know, but I was thinking there might be some chicken/egg type issues with the deployer needing to be registered prior to the deployment of an item that required that deployer. Perhaps the plugin install must ensure that all deployers called out in the geronimo-plugin.xml are available before actually interrogating the content of the plugin for dependencies? > Lin > > On Thu, Jul 3, 2008 at 12:16 PM, Joe Bohn <joe.bohn@...> wrote: >> Lin Sun wrote: >>> Hi Joe, >>> >>> You could try adding >>> >>> <scope>provided</scope> >>> >>> to the org.apache.geronimo.configs/jasper/{version}/car dependency in >>> the pom.xml. I 've seen a similar error like this before and by >>> adding the scope fixed it. >> Thanks Lin. That does indeed solve (more correctly avoid) the problem. >> However, adding <provided> means that the dependency will not be downloaded >> and must already be available. That's not necessarily a bad thing, but it >> could potentially limit the server configurations upon which the sample or >> other plugins can be installed. That's something that we can consider for >> the samples but in any case I think we also need to get this scenario >> working ... where a dependency is not marked as "provided" but can still be >> resolved with a different dependency via the artifact-alias that can be (or >> already is) installed on the given server instance. >> >> Joe >> >>> Thanks, >>> >>> Lin >>> >>> On Wed, Jul 2, 2008 at 4:33 PM, Joe Bohn <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 ... >>>> >>>> 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 >> > |
|
|
Re: version compatibility plugin?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 >> >> > > |
|
|
Re: version compatibility plugin?Hi Joe,
Is this scenario working for you after your fix? I updated the artifact-aliases.properties file in var/config manually when server is shutdown - org.apache.geronimo.configs/jasper//car=org.apache.geronimo.configs/jasper/2.1.2-SNAPSHOT/car However, I am still getting the "Missing dependency: org.apache.geronimo.configs/jasper/2.1/car" error. What am I missing? Thanks, Lin On Thu, Jul 3, 2008 at 4:19 PM, Joe Bohn <joe.bohn@...> wrote: > Joe Bohn wrote: > 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 >>> >>> >> >> > > |
|
|
Re: version compatibility plugin?Lin Sun wrote:
> Hi Joe, > > Is this scenario working for you after your fix? I updated the > artifact-aliases.properties file in var/config manually when server is > shutdown - > org.apache.geronimo.configs/jasper//car=org.apache.geronimo.configs/jasper/2.1.2-SNAPSHOT/car You need one more additional entry ... org.apache.geronimo.configs/jasper/2.1/car=org.apache.geronimo.configs/jasper/2.1.2-SNAPSHOT/car That worked for me. Joe > > However, I am still getting the "Missing dependency: > org.apache.geronimo.configs/jasper/2.1/car" error. > > What am I missing? Thanks, Lin > > On Thu, Jul 3, 2008 at 4:19 PM, Joe Bohn <joe.bohn@...> wrote: >> Joe Bohn wrote: > >> 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 >>>> >>> >> > |
|
|
Re: version compatibility plugin?Yes, I am able to move onto the next missing dependency module. Thanks.
Is there a reason why we need both? I thought we just need one and version can be omitted on the left side per http://cwiki.apache.org/GMOxDOC21/how-to-upgrade-jars-and-swap-modules.html Lin On Tue, Jul 8, 2008 at 2:06 PM, Joe Bohn <joe.bohn@...> wrote: > Lin Sun wrote: >> >> Hi Joe, >> >> Is this scenario working for you after your fix? I updated the >> artifact-aliases.properties file in var/config manually when server is >> shutdown - >> >> org.apache.geronimo.configs/jasper//car=org.apache.geronimo.configs/jasper/2.1.2-SNAPSHOT/car > > You need one more additional entry ... > org.apache.geronimo.configs/jasper/2.1/car=org.apache.geronimo.configs/jasper/2.1.2-SNAPSHOT/car > > That worked for me. > > Joe > > >> >> However, I am still getting the "Missing dependency: >> org.apache.geronimo.configs/jasper/2.1/car" error. >> >> What am I missing? Thanks, Lin >> >> On Thu, Jul 3, 2008 at 4:19 PM, Joe Bohn <joe.bohn@...> wrote: >>> >>> Joe Bohn wrote: >> >>> 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 >>>>> >>>> >>> >> > > |
|
|
Re: version compatibility plugin? |
