Understood. A switch or option would be nice then. My Import-Package property is huge and always looks like a mess.
Still wondering about jar dependencies and auto-generation of Bundle-ClassPath (and packaging). The older maven-osgi-plugin supported this. -Aaron -----Original Message----- From: Richard S. Hall [mailto:[EMAIL PROTECTED] Sent: Tuesday, December 05, 2006 2:09 PM To: felix-dev@incubator.apache.org Subject: Re: Bundle plugin: Importing packages from non-bundles Aaron Siri wrote: > Only dependencies that are of type bundle. Plain old jars would be > added to the classpath. I guess it doesn't have to be the default > behavior - just possible. > > As a side note. You create bundles that are dependent on other > bundles (to compile, I assume) but then you don't want them to be > required during runtime? > The issue is Import-Package vs. Require-Bundle. I prefer Import-Package over Require-Bundle for my dependencies. -> richard > -Aaron > > -----Original Message----- > From: Richard S. Hall [mailto:[EMAIL PROTECTED] > Sent: Tuesday, December 05, 2006 1:56 PM > To: felix-dev@incubator.apache.org > Subject: Re: Bundle plugin: Importing packages from non-bundles > > Aaron Siri wrote: > >> I guess I'm expecting it to behave a little more like the war-plugin >> with respect to dependency jars. Any dependency that is of type jar >> and has a scope of something like compile will be included in the >> bundle jar (and on the manifest classpath). For that matter, any >> dependency that is of type bundle I'd expect to be included in the >> manifest >> > Required-Bundles property. > >> >> > > Well, I definitely would not want the default handling of dependencies > to be converted to require-bundle... > > -> richard > > >> -Aaron >> >> -----Original Message----- >> From: Peter Kriens [mailto:[EMAIL PROTECTED] >> Sent: Tuesday, December 05, 2006 12:46 PM >> To: Aaron Siri >> Cc: felix-dev@incubator.apache.org >> Subject: Re[6]: Bundle plugin: Importing packages from non-bundles >> >> Sorry for the previous mail, was not finished yet. >> >> I think it is : >> >> <configuration> >> <instructions> >> <Include-Resource>plugin.xml</Include-Resource> >> </instructions> >> </configuration> >> >> And not >> >> <configuration> >> <Include-Resource>plugin.xml</Include-Resource> >> </configuration> >> >> You can always package the bundles as jars, you just have to Include >> them as resources. However, this implies you know where to find them. >> >> Please realize that the plugin was build for the OSGi model where you >> have many small bundles. This implies that not all scenarios are >> targeted with this plugin. >> >> Kind regards, >> >> Peter Kriens >> >> >> AS> I was going to start asking similar questions. I'm wondering how >> AS> I get my dependencies packaged in the bundle (I prefer them as >> AS> jars and not inlined.) Does this thread imply that there is no >> AS> way for library jars to be packaged in the bundle using >> > maven-bundle-plugin? > >> AS> I'm also trying to get the plugin.xml file included into the >> AS> bundle >> > via: > >> AS> <configuration> >> AS> <Include-Resource>plugin.xml</Include-Resource> >> AS> </configuration> >> >> AS> Which doesn't seem to be working. Is this the right way to get >> AS> it >> included? >> >> AS> -Aaron >> >> AS> -----Original Message----- >> AS> From: Emil Eifrém [mailto:[EMAIL PROTECTED] >> AS> Sent: Tuesday, December 05, 2006 10:10 AM >> AS> To: Peter Kriens >> AS> Cc: felix-dev@incubator.apache.org >> AS> Subject: Re: Re[4]: Bundle plugin: Importing packages from >> AS> non-bundles >> >> AS> On 12/5/06, Peter Kriens <[EMAIL PROTECTED]> wrote: >> >> >>>> I am not a maven expert so maybe there are better ways to do it. >>>> >>>> I never understood "provided" to mean include? If that is the >>>> definition I can automatically include them. Can someone point me >>>> to the relevant literature? >>>> >>>> >> AS> Neither am I, but it actually means exclude. From >> AS> http://maven.apache.org/pom.html: >> >> --- >>8 --- >> AS> * scope: This element refers to the classpath of the task at hand >> AS> (compiling and runtime, testing, etc.) as well as how to limit >> AS> the transitivity of a depedency. There are five scopes available: >> AS> * compile - this is the default scope, used if none is specified. >> AS> Compile dependencies are available in all classpaths. >> AS> * provided - this is much like compile, but indicates you >> AS> expect the JDK or a container to provide it. It is only available >> AS> on the compilation classpath, and is not transitive. >> AS> * runtime - this scope indicates that the dependency is not >> AS> required for compilation, but is for execution. It is in the >> AS> runtime and test classpaths, but not the compile classpath. >> AS> * test - this scope indicates that the dependency is not >> AS> required for normal use of the application, and is only available >> AS> for the test compilation and execution phases. >> AS> * system - this scope is similar to provided except that you >> AS> have to provide the JAR which contains it explicitly. The >> AS> artifact is always available and is not looked up in a repository. >> --- >>8 --- >> >> >> >>>> The <type>bundle</type> is required by maven as far as I know, as >>>> is the messy plugin setup. If you know a better way let me know. >>>> >>>> >> AS> Unfortunately, I'm even less of an expert on Maven than I am on OSGi. >> AS> I just want stuff to work so I can build apps. :) But this is an >> AS> Apache list, I'm sure others can chime in! >> >> AS> What I meant in my previous mail was that I don't understand why >> AS> the plugin needs to know the <type> of the dependencies. It's an >> AS> OSGi-aware >> plugin... >> AS> just have a peek in the jar file and figure it out? If it is, >> AS> then generate Import-Package, if not then embed or inline it. >> AS> Would work nicely. But maybe there's some Maven core <-> Maven >> AS> plugin interaction going on there that I'm missing. In either >> AS> case, this would be nice-to-have functionality but it's not a showstopper for us. >> >> AS> [snip] >> >> >>>> Inlining or Bundle-Classpath both make no difference for the >>>> Import-Package. The import header is calculated from the references >>>> from all the classes on the Bundle-Classpath. >>>> >>>> >> AS> Here's where I don't get it. Let's go back to the simple original >> AS> example with my one-class bundle which depended on commons-logging. >> AS> If the plugin would embed or inline the commons-logging jar AND >> AS> generate Import-Package statements... that would break when we >> AS> load it into the OSGi framework, right? No other bundle will >> AS> export commons-logging stuff and, moreover, even if there is I >> AS> want my bundle to >> use the embedded stuff like I said in my POM. >> AS> This is the core of the issue, as I see it. >> >> AS> Cheers, >> >> AS> -EE >> >> >> >>