Hi Oliver.... one more comment :-) On Jun 29, 2011, at 3:57 PM, Oliver Lietz wrote:
> Am Wednesday 29 June 2011 schrieb David Jencks: >> Hi Oliver, > > hi David, > >> maven != osgi. >> >> I think the document about how the bundle is intended to be used is the >> bundle manifest. The pom is there to build the bundle. If you want to >> use the pom for something else, that's kind of your problem. If you >> describe sufficiently clearly how you want to use the pom, we'll probably >> try to oblige as long as it doesn't break the osgi metadata. >> >> Trying to use maven dependencies as a guide to osgi provisioning may >> sometimes work, but calling a maven project broken because the way it >> configures maven dependencies doesn't suit how you want to provision osgi >> dependencies is just wrong. >> >> Btw I've devoted considerable effort over the last year to trying to relate >> osgi provisioning to maven dependencies and my conclusion at this point is >> that it is probably only useful over a very short range, probably for >> building something like a karaf feature descriptor for bundles all from >> one project. >> >> Your snippet below clearly shows the maven build succeeding. What makes >> you think it's broken? > > thanks for making clear that Aries doesn't use pom's deps for giving OSGi > provisioning information which I falsely assumed due to my experiencies with > other OSGified projects. > So I have to add the bundles org.apache.aries.proxy, org.apache.aries.util, > org.objectweb.asm, org.objectweb.asm.commons and org.objectweb.asm.tree (or > at > least org.apache.aries.proxy.api and org.apache.aries.util) as mentioned in > my > first mail to use the blueprint-bundle and to satisfy all package imports > (and > not only "to rub tests"). > Hopefully this thread will help others to find this information as I couldn't > find it anywhere in source or on the project website. I was also extremely annoyed at first to find I had to add all these dependencies "by hand". After thinking about it for a couple of weeks I'm less annoyed. Aries is the only osgi project I've worked with where people are actually trying to use osgi package and bundle versions carefully and correctly at the bundle level. No releases have actually happened since the project has been set up to deal with this, and I'm waiting to see if releasing bundles will be manageable with this setup. However, what this means is that once a few releases have happened it will be very unlikely that maven dependencies will give you appropriate versions of the aries bundles you need.. You really need something more like an obr repository built from the maven repository to do provisioning. While I've been a hard-core maven advocate for about 7 years now, I think it's dependency model, being similar to osgi require-bundle, is now pretty clearly broken, and even the maven developers are wondering what to do. (see recent maven dev thread on <scope>peri</scope> where yesterday Stephen Connolly admitted osgi would solve the problems being discussed). thanks david jencks > > thanks again, > O. > >> thanks >> david jencks >> >> On Jun 29, 2011, at 2:14 PM, Oliver Lietz wrote: >>> Am Wednesday 29 June 2011 schrieb Alasdair Nottingham: >>>> The pom clearly "works" since we build the bundle correctly using it. >>>> I'm betting you are trying to use it in a way we didn't intend so can >>>> you provide information on what you are doing so we can look into it? >>> >>> haha - nice one. Is there a document where the intended use is described? >>> >>> The build for blueprint-bundle is broken, because the bundle doesn't >>> contain all necessary dependencies and blueprint-bundle's pom doesn't >>> list them. After looking at DEPENDENCIES in META-INF and the output of >>> dependency:tree I'm sure: >>> >>> beat:blueprint-bundle olli$ mvn clean dependency:tree >>> [INFO] Scanning for projects... >>> [INFO] >>> [INFO] >>> ------------------------------------------------------------------------ >>> [INFO] Building Apache Aries Blueprint Bundle 0.3.2-SNAPSHOT >>> [INFO] >>> ------------------------------------------------------------------------ >>> [WARNING] The POM for >>> org.apache.aries.proxy:org.apache.aries.proxy.impl:jar:0.4-SNAPSHOT is >>> invalid, transitive dependencies (if any) will not be available, enable >>> debug logging for more details >>> [INFO] >>> [INFO] --- maven-clean-plugin:2.3:clean (default-clean) @ >>> org.apache.aries.blueprint --- >>> [INFO] >>> [INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ >>> org.apache.aries.blueprint --- >>> [WARNING] Invalid POM for >>> org.apache.aries.proxy:org.apache.aries.proxy.impl:jar:0.4-SNAPSHOT, >>> transitive dependencies (if any) will not be available, enable debug >>> logging for more details >>> [INFO] >>> org.apache.aries.blueprint:org.apache.aries.blueprint:bundle:0.3.2- >>> SNAPSHOT >>> [INFO] +- >>> org.apache.aries.blueprint:org.apache.aries.blueprint.api:jar:0.3.2- >>> SNAPSHOT:compile >>> [INFO] +- >>> org.apache.aries.blueprint:org.apache.aries.blueprint.core:jar:0.3.2- >>> SNAPSHOT:compile >>> [INFO] | +- org.apache.aries.blueprint:blueprint-parser:jar:0.4- >>> SNAPSHOT:compile >>> [INFO] | +- >>> org.apache.aries:org.apache.aries.util:jar:0.4-SNAPSHOT:compile [INFO] | >>> \- org.apache.aries.proxy:org.apache.aries.proxy.api:jar:0.4- >>> SNAPSHOT:compile >>> [INFO] +- >>> org.apache.aries.blueprint:org.apache.aries.blueprint.cm:jar:0.3.2- >>> SNAPSHOT:compile >>> [INFO] +- >>> org.apache.aries.proxy:org.apache.aries.proxy:jar:0.4-SNAPSHOT:test >>> [INFO] | \- org.apache.aries.proxy:org.apache.aries.proxy.impl:jar:0.4- >>> SNAPSHOT:test >>> [INFO] +- asm:asm-all:jar:3.2:test >>> [INFO] +- org.eclipse:osgi:jar:3.5.0.v20090520:provided >>> [INFO] +- org.osgi:org.osgi.compendium:jar:4.2.0:provided >>> [INFO] \- >>> org.apache.aries.quiesce:org.apache.aries.quiesce.api:jar:0.3.1- >>> SNAPSHOT:provided >>> [INFO] >>> ------------------------------------------------------------------------ >>> [INFO] BUILD SUCCESS >>> [INFO] >>> ------------------------------------------------------------------------ >>> [INFO] Total time: 19.515s >>> [INFO] Finished at: Wed Jun 29 23:09:33 CEST 2011 >>> [INFO] Final Memory: 9M/1040M >>> [INFO] >>> ------------------------------------------------------------------------ >>> >>> I already gave you a link to the project where I use blueprint-bundle, >>> see below. >>> >>>> Alasdair Nottingham >>>> >>>> On 28 Jun 2011, at 23:21, Oliver Lietz <apa...@oliverlietz.de> wrote: >>>>> Am Wednesday 29 June 2011 schrieb Alasdair Nottingham: >>>>>> Alasdair Nottingham >>>>>> >>>>>> On 28 Jun 2011, at 22:46, Oliver Lietz <apa...@oliverlietz.de> wrote: >>>>>>> Am Tuesday 28 June 2011 schrieb Alasdair Nottingham: >>>>>>>> Alasdair Nottingham >>>>>>>> >>>>>>>> On 28 Jun 2011, at 22:06, Oliver Lietz <apa...@oliverlietz.de> wrote: >>>>>>>>> Am Monday 27 June 2011 schrieb Alasdair Nottingham: >>>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> hey, >>>>>>>>> >>>>>>>>>> I don't think there are any "plans". In the past releases have >>>>>>>>>> been more "on demand". >>>>>>>>>> >>>>>>>>>> After the 0.3 release we decided to move to a pre-bundle release >>>>>>>>>> process so their wont be a big 0.4 release like there were >>>>>>>>>> previously. Some bundles might be at 0.4 and some at 0.3.1. >>>>>>>>>> >>>>>>>>>> Do you need a release? >>>>>>>>> >>>>>>>>> a release with fixed dependencies would be nice. Instead of just >>>>>>>>> switching from org.apache.aries.blueprint 0.2-incubating to 0.3.1 I >>>>>>>>> had to add several missing dependencies (org.apache.aries.proxy, >>>>>>>>> org.apache.aries.util, org.objectweb.asm, >>>>>>>>> org.objectweb.asm.commons, org.objectweb.asm.tree). >>>>>>>> >>>>>>>> I'm not sure I follow what you mean. I know 0.3 required more >>>>>>>> externals, this was a deliberate decision. >>>>>>> >>>>>>> Looks like the manifest of blueprint is broken as it imports >>>>>>> org.apache.aries.proxy and org.apache.aries.util but the scope for >>>>>>> org.apache.aries.proxy in pom.xml is "test". >>>>>> >>>>>> It isn't broken. The org.apache.aries.proxy import is for a package. >>>>>> The pom depends on modules or bundles. The org.apache.aries.proxy >>>>>> bundle contains the implementation of the proxy package and is only >>>>>> required to rub tests, not to compile the code. >>>>> >>>>> For sure it's broken, otherwise I won't get this unresolved constraint >>>>> error: >>>>> >>>>> [org.ops4j.pax.exam.rbc.internal.Activator] : Binding >>>>> RemoteBundleContext to RMI registry >>>>> [org.ops4j.pax.exam.rbc.internal.Activator] : Remote Bundle Context >>>>> started [org.ops4j.pax.swissbox.extender.BundleWatcher] : Scanning >>>>> bundle [org.ops4j.pax.exam.rbc] >>>>> [ RemoteBundleContextClient] - Remote bundle context found after >>>>> 1849 millis >>>>> org.osgi.framework.BundleException: Unresolved constraint in bundle >>>>> org.apache.aries.blueprint [10]: Unable to resolve 10.0: missing >>>>> requirement [10.0] package; >>>>> (&(package=org.apache.aries.proxy)(version>=0.3.0)(! (version>=1.0.0))) >>>>> >>>>> at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3404) >>>>> at org.apache.felix.framework.Felix.startBundle(Felix.java:1714) >>>>> at >>>>> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1143) >>>>> at >>>>> org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264 >>>>> ) at java.lang.Thread.run(Thread.java:680) >>>>> >>>>> [org.ops4j.pax.swissbox.extender.BundleWatcher] : Scanning bundle >>>>> [org.springextensions.db4o] >>>>> [org.ops4j.pax.swissbox.extender.BundleWatcher] : Scanning bundle >>>>> [org.springframework.beans] >>>>> [org.ops4j.pax.swissbox.extender.BundleWatcher] : Scanning bundle >>>>> [org.springframework.core] >>>>> [org.ops4j.pax.swissbox.extender.BundleWatcher] : Scanning bundle >>>>> [org.springframework.transaction] >>>>> [org.ops4j.pax.swissbox.extender.BundleWatcher] : Scanning bundle >>>>> [com.db4o.java5] >>>>> [org.ops4j.pax.swissbox.extender.BundleWatcher] : Scanning bundle >>>>> [com.springsource.org.apache.tools.ant] >>>>> [org.ops4j.pax.swissbox.extender.BundleWatcher] : Scanning bundle >>>>> [com.springsource.javax.inject] >>>>> [org.ops4j.pax.swissbox.extender.BundleWatcher] : Scanning bundle >>>>> [osgi.core] [org.ops4j.pax.swissbox.extender.BundleWatcher] : Scanning >>>>> bundle [osgi.cmpn] ERROR: Error starting >>>>> file:bundles/org.apache.aries.blueprint_0.3.1.jar >>>>> (org.osgi.framework.BundleException: Unresolved constraint in bundle >>>>> org.apache.aries.blueprint [10]: Unable to resolve 10.0: missing >>>>> requirement [10.0] package; >>>>> (&(package=org.apache.aries.proxy)(version>=0.3.0)(! >>>>> (version>=1.0.0)))) [org.ops4j.pax.swissbox.extender.BundleWatcher] : >>>>> Scanning bundle [org.apache.felix.configadmin] >>>>> >>>>> Adding the mentioned deps to the pom fixed it. >>>>> >>>>>>>> We aren't going to bundle dependencies >>>>>>>> into the bundles in the future. If you mean you want a zip that >>>>>>>> contains everything you need for blueprint or jpa >>>>>>> >>>>>>> No, I just want a newer version of blueprint in my OSGi integration >>>>>>> tests >>>>>>> (https://src.springframework.org/svn/se-db4o/trunk/org.springextensio >>>>>>> n s.d b4o- it-osgi/pom.xml). >>>>>>> >>>>>>>> we have discussed this and have >>>>>>>> support, we just haven't done a distribution release yet. >>>>>>>> >>>>>>>>> O. >