Hi Oliver,

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
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 <[email protected]> wrote:
>>> Am Wednesday 29 June 2011 schrieb Alasdair Nottingham:
>>>> Alasdair Nottingham
>>>> 
>>>> On 28 Jun 2011, at 22:46, Oliver Lietz <[email protected]> wrote:
>>>>> Am Tuesday 28 June 2011 schrieb Alasdair Nottingham:
>>>>>> Alasdair Nottingham
>>>>>> 
>>>>>> On 28 Jun 2011, at 22:06, Oliver Lietz <[email protected]> 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.springextension
>>>>> s.d b4o- it-osgi/pom.xml).
>>>>> 
>>>>>> we have discussed this and have
>>>>>> support, we just haven't done a distribution release yet.
>>>>>> 
>>>>>>> O.
> 

Reply via email to