Could you share your example project so that I could get a closer look? 

Thanks! 

On October 24, 2014 5:25:36 PM WEST, Neil Bartlett <[email protected]> wrote:
>Further to this… I just created a Bndtools project to build a bundle
>containing your sample “SuchInterface” interface, plus the entire
>contents of the jscience.jar version 4.3.1 pulled from Maven Central.
>The only imported package was org.xml.sax, which as I said is provided
>by JavaSE. So there is no problem at all with this library. This job
>took about 2 minutes and it resolves just fine in Felix.
>
>I think your mistake is confusing build-time dependencies for runtime
>dependencies. This is why I recommend never to use Embed-Dependency:
>Maven only knows about build-time dependencies are they are MUCH more
>extensive than the runtime dependencies.
>
>Regards,
>Neil
>
>
>From: Neil Bartlett <[email protected]>
>Reply: Neil Bartlett <[email protected]>>
>Date: 24 October 2014 at 17:04:41
>To: [email protected] <[email protected]>>, PedroD
><[email protected]>>
>Subject:  Re: managing OSGi Dependencies  
>
>The Conditional-Package instruction is documented
>here: http://bnd.bndtools.org/chapters/800-headers.html. There is no
>need to restrict yourself to reading only the maven-bundle-plugin
>documentation. All instruction and headers supported by bnd are
>supported by the Maven plugin, because the plugin passes them through.
>
>Also see my blog post about Conditional Package
>use: http://njbartlett.name/2014/05/26/static-linking.html
>
>I strongly recommend against using Embed-Dependency, and even more so
>Embed-Transitive! This is rather like using a nuclear ICBM to take
>potshots at a paper target.
>
>Regarding the Joda and SAX imports, Bndtools can tell you where these
>come from. Though if you use Conditional-Package, hopefully they won’t
>arise, unless you actually use them of course. The SAX import is not a
>problem because org.xml.sax is provided by JavaSE. Joda Convert is
>available as an OSGi bundle
>already: 
>http://jpm4j.org/#!/p/sha/57C2432E54DC40F871F55295C676B22672713602//0.0.0
>
>Regards
>Neil
>
>
>From: PedroD <[email protected]>
>Reply: [email protected] <[email protected]>>
>Date: 24 October 2014 at 16:36:43
>To: [email protected] <[email protected]>>
>Subject:  Re: managing OSGi Dependencies
>
>
>Thanks
>
>
>On 24 Oct 2014, at 15:52, Neil Bartlett <[email protected]> wrote:
>
>Hello Pedro,
>
>To help you I’d first like to understand your current approach a bit
>better. You say you download these non-bundle dependencies and put them
>in the “bundle” directory until you get no more dependency errors. What
>effect does that have? Since they are not bundles, how does adding them
>to a directory help?
>
>As Christian points out, the problem is really with these libraries.
>Remember that Maven is also famous for downloading when you ask for the
>slightest thing. The reason for this is poor internal coherency which
>results in _fan out_. To explain:
>
>1. You depend on package org.foo which is part of the JAR file foolib.
>2. foolib contains 20 other packages *that you are not using*
>3. those 20 useless packages depend on five more JARs
>4. GOTO 1.
>
>Turning these JARs into bundles doesn’t help because they still have
>all those dependencies which all have to be resolved in order for OSGi
>to be happy.
>
>A better solution is to pull in only the packages that you really need.
>For example if you use the Conditional-Package instruction in bnd (also
>available as Conditional_Package in the maven-bundle-plugin) then you
>can create a bundle that includes only the packages that are referenced
>by your core code. This doesn’t always help because sometimes people
>have poor coherency even within their packages — general util packages
>are a common problem, just look at the dependencies from java.util for
>example — but it still easier to deal with than big messy JAR files.
>
>I hope that helps.
>
>Regards,
>Neil 
>
>
>From: PedroD <[email protected]>
>Reply: [email protected] <[email protected]>>
>Date: 24 October 2014 at 15:03:41
>To: [email protected] <[email protected]>>
>Subject:  managing OSGi Dependencies  
>
>Greetings,  
>
>I’m using Felix Framework for my OSGi project, but I’ve came across a
>severe problem concerning third party dependencies.  
>
>I’m using eclipse and maven-bundle-plugin to generate my bundles from
>the sources and the MANIFEST.MF from the POM.XML file. So far so good.
>however when I have some third party dependency in my bundle, I find
>myself looking for an infinite list of JARs, which usually are not
>bundles, and putting them in my /bundle Felix directory until no more
>dependencies are missing.  
>
>I call this process “Downloading the Internet for my OSGi application
>to work”.  
>
>What am I doing wrong? Sure I must be doing something very wrong,
>because I can’t imagine anyone having a bundle A that depends on B,
>which then depends on C and D, and then those two will depend on
>several others and so on…  
>
>What is the correct way to automate this? I would love to have one of
>the two solutions:  
>
>1) Be able to create a massive JAR file with all of its dependencies
>embedded, but exporting only the packages I want, and, of corse, not
>importing any package.  
>
>2) (My preferred solution) Having a way to get all my dependencies into
>individual JAR files that I can simply paste into the /bundle
>directory.  
>
>I have found tools that do me this, but they only do it for direct (1st
>degree) dependencies, leaving transitive dependencies for me to solve
>manually.  
>
>This problem is critical. The lack of such a tool hampers the usage of
>OSGi. I’ve searched and searched and searched, I’ve came across all the
>101 solutions such as PAX, bndtools, and friends, but they do not solve
>this issue…  
>
>Please help me.  
>
>Thanks!  
>---------------------------------------------------------------------  
>To unsubscribe, e-mail: [email protected]  
>For additional commands, e-mail: [email protected]  

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.

Reply via email to