I agree with you - I would be concerned about adding all the alias entries for all the modules we have in the Geronimo.
Another approach is to release samples just for v2.1.2. I kinda like this so that we keep things simple. Compatibility is nice but unexpected behavior can cause users more trouble. Lin On Wed, Jul 9, 2008 at 4:28 PM, Joe Bohn <[EMAIL PROTECTED]> wrote: > Joe Bohn wrote: >> >> >> Thanks for the post Lin. I was going to start a new thread for this >> discussion. >> >> I mentioned a third possibility in the Geronimo 2.1.2 plans thread ... >> that is adding the artifact alias entries for 2.1 & 2.1.1 directly into the >> 2.1.2 server image as part of the release. I'm not exactly sure how I feel >> about this. It would solve the problem and eliminate the need for a user to >> manually change the entries or install a compatibility plugin. On the other >> hand it seems a bit heavy-handed and will expose the user a long list of >> alias entries if they need to manually change the file themselves. I also >> wonder if there are any performance implications as the list gets longer. >> >> All in all, the alias approach will work in the short term but I think >> it's just a band-aid fix. At some point it is going to cause grief when >> things are not really compatible but the aliases allow a user to install >> anyway. At some point we're going to have to invest in a more complicated >> and complete plugin solution that address compatibility more completely. >> >> Joe >> >> Lin Sun wrote: >>> >>> Hi Joe/All, >>> >>> Finally I was able to deploy the jaxws-calculator car file onto the >>> server, after adding a bunch of entries in the >>> artifact-aliases.properties file, which is essentially the same as >>> what your compatibility plugin does. >>> >>> We'll have to quickly decide what to do with the compatability issue >>> otherwise none of our sample will be installable on 2.1.2 server. >>> >>> One approach is to release the compatibility plugin you worked on. >>> Is this checked in? > > oops ... I had intended to answer this on the last response. No, I did not > check this in. I just created a empty plugin containing all of the cars in > a tomcat server instance mapped from 2.1 (or 2.1.1) to 2.1.2-SNAPSHOT. If > we want to pursue that we'll need to add the jetty specific cars (cxf too) > and address the client_artifact_aliases as well. > >>> Pros: we can have this quickly and get ready for the 2.1.2 release. >>> Cons: it is extra work for the user. >>> >>> The other approach is to add the matching entries to the >>> artifact-aliases.properties and client_artifact-aliases.properties on >>> the fly. We'll have to determine how to add them, what to add to >>> different assemblies (can different assemblies have same entries if >>> the extra entries don't hurt anything), etc. >>> Pros: no extra work for the user, assuming the server can add the >>> common matching entries to different assembly on the fly. >>> Cons: Could take longer and is this appropriate for 2.1.2 given we'll >>> release it very soon? >> >> >> >> >>> >>> Thanks, Lin >>> >>> On Tue, Jul 8, 2008 at 2:51 PM, Joe Bohn <[EMAIL PROTECTED]> wrote: >>>> >>>> Lin Sun wrote: >>>>> >>>>> 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 >>>> >>>> What you need depends on the way the dependency itself is specified. If >>>> it >>>> is specified with the version such as 2.1 then you need the /2.1/ entry. >>>> This is the case for the jsp sample. If it is called out without a >>>> version >>>> then you need the // entry. The doc you referenced calls the former a >>>> "fixed version". >>>> >>>> IIRC the jsp sample had 2.1 in the jasper dependency ... but it also had >>>> a >>>> dependency on the tomcat/jetty car. The tomcat/jetty car has a >>>> dependency >>>> on jasper without the version. You might not need the // entry but in >>>> general it is usually best to provide both the versioned and >>>> non-versioned >>>> entries. >>>> >>>> BTW, I was actually using a quick pass at a compatibility plugin I had >>>> created for that included all of the cars for the tomcat server instance >>>> ... >>>> so some other dependencies may have been resolved beyond jasper (such as >>>> the >>>> tomcat dependency). >>>> >>>> Joe >>>> >>>>> Lin >>>>> >>>>> On Tue, Jul 8, 2008 at 2:06 PM, Joe Bohn <[EMAIL PROTECTED]> >>>>> 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 <[EMAIL PROTECTED]> >>>>>>> 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 >>>> >>> >> >> > >
