You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@felix.apache.org by Thomas Lötzer <th...@ivu.de> on 2010/01/05 15:50:35 UTC

maven-bundle-plugin: Making transitive dependencies available to other maven plugins

Hi,

 

I am using Maven to build an Eclipse application. There is one artifact which
contains the stub application (basically an empty eclipse with the bare
minimum required to start eclipse, without any of our custom plugins). That
stub's POM has a couple of profiles which add dependencies to the Eclipse
plugins that I want to ship. These plugin artifacts then in turn have Maven
dependencies on other plugins (both in-house and third party) which they
require. When the maven build process runs, it first packages all the
dependencies using Felix' maven-bundle-plugin. Then it builds the stub
application, where it uses the maven-eclipse-plugin's install-plugins goal to
install the dependencies of the stub (i.e. our actual application plugins and
their dependencies) into the empty Eclipse. Our goal is to have a complete
eclipse directory, which can be packaged using the maven-assembly-plugin to
be shipped. However this does not work, because only the direct dependencies
of the stub are installed, not their transitive dependencies. The transitive
dependencies are also not listed as dependencies when running mvn
dependency:tree. It seems that the maven-bundle-plugin somehow keeps an
artifact with packaging "bundle" from reporting its transitive dependencies.
When I change the packaging to "jar", the dependencies show up, but the
bundles are no longer packaged correctly, even when having the
maven-bundle-plugin generate the manifest there are issues.

 

While looking for a solution I found numerous posts on this mailing list and
in other sources where the Embed-* features (Embed-Dependency,
Embed-Transitive, etc) are said to be the solution. However none of those
posts really match my scenario - I don't want the dependencies to be embedded
in the jar file, I only want them to be visible as transitive dependencies in
Maven so that they get picked up by the maven-eclipse-plugin as well as other
Maven plugins. Is there a solution for this issue? Or how do other people
solve this issue? I can't imagine that I'm the only one who builds eclipse
applications with a combination of the maven-bundle-plugin and the
maven-eclipse-plugin.

 

Thanks and regards,

Thomas

 

 


RE: maven-bundle-plugin: Making transitive dependencies available to other maven plugins

Posted by Thomas Lötzer <th...@ivu.de>.
Hi Stuart,

thanks, that was it. With version 2.1.0-SNAPSHOT it works as expected.

Regards,
Thomas

-----Original Message-----
From: Stuart McCulloch [mailto:mcculls@gmail.com] 
Sent: Tuesday, January 05, 2010 4:03 PM
To: users@felix.apache.org
Subject: Re: maven-bundle-plugin: Making transitive dependencies available to
other maven plugins

2010/1/5 Thomas Lötzer <th...@ivu.de>

> Hi,
>
>
>
> I am using Maven to build an Eclipse application. There is one artifact
> which
> contains the stub application (basically an empty eclipse with the bare
> minimum required to start eclipse, without any of our custom plugins). That
> stub's POM has a couple of profiles which add dependencies to the Eclipse
> plugins that I want to ship. These plugin artifacts then in turn have Maven
> dependencies on other plugins (both in-house and third party) which they
> require. When the maven build process runs, it first packages all the
> dependencies using Felix' maven-bundle-plugin. Then it builds the stub
> application, where it uses the maven-eclipse-plugin's install-plugins goal
> to
> install the dependencies of the stub (i.e. our actual application plugins
> and
> their dependencies) into the empty Eclipse. Our goal is to have a complete
> eclipse directory, which can be packaged using the maven-assembly-plugin to
> be shipped. However this does not work, because only the direct
> dependencies
> of the stub are installed, not their transitive dependencies. The
> transitive
> dependencies are also not listed as dependencies when running mvn
> dependency:tree. It seems that the maven-bundle-plugin somehow keeps an
> artifact with packaging "bundle" from reporting its transitive
> dependencies.
> When I change the packaging to "jar", the dependencies show up, but the
> bundles are no longer packaged correctly, even when having the
> maven-bundle-plugin generate the manifest there are issues.
>

sounds like http://issues.apache.org/jira/browse/FELIX-1634 which will be in
the next release

the fix is already in trunk, so you can either build the plugin from source
or use the
2.1.0-SNAPSHOT from
https://repository.apache.org/content/repositories/snapshots


>
> While looking for a solution I found numerous posts on this mailing list
> and
> in other sources where the Embed-* features (Embed-Dependency,
> Embed-Transitive, etc) are said to be the solution. However none of those
> posts really match my scenario - I don't want the dependencies to be
> embedded
> in the jar file, I only want them to be visible as transitive dependencies
> in
> Maven so that they get picked up by the maven-eclipse-plugin as well as
> other
> Maven plugins. Is there a solution for this issue? Or how do other people
> solve this issue? I can't imagine that I'm the only one who builds eclipse
> applications with a combination of the maven-bundle-plugin and the
> maven-eclipse-plugin.
>
>
>
> Thanks and regards,
>
> Thomas
>
>
>
>
>
>


-- 
Cheers, Stuart

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Re: maven-bundle-plugin: Making transitive dependencies available to other maven plugins

Posted by Stuart McCulloch <mc...@gmail.com>.
2010/1/5 Thomas Lötzer <th...@ivu.de>

> Hi,
>
>
>
> I am using Maven to build an Eclipse application. There is one artifact
> which
> contains the stub application (basically an empty eclipse with the bare
> minimum required to start eclipse, without any of our custom plugins). That
> stub's POM has a couple of profiles which add dependencies to the Eclipse
> plugins that I want to ship. These plugin artifacts then in turn have Maven
> dependencies on other plugins (both in-house and third party) which they
> require. When the maven build process runs, it first packages all the
> dependencies using Felix' maven-bundle-plugin. Then it builds the stub
> application, where it uses the maven-eclipse-plugin's install-plugins goal
> to
> install the dependencies of the stub (i.e. our actual application plugins
> and
> their dependencies) into the empty Eclipse. Our goal is to have a complete
> eclipse directory, which can be packaged using the maven-assembly-plugin to
> be shipped. However this does not work, because only the direct
> dependencies
> of the stub are installed, not their transitive dependencies. The
> transitive
> dependencies are also not listed as dependencies when running mvn
> dependency:tree. It seems that the maven-bundle-plugin somehow keeps an
> artifact with packaging "bundle" from reporting its transitive
> dependencies.
> When I change the packaging to "jar", the dependencies show up, but the
> bundles are no longer packaged correctly, even when having the
> maven-bundle-plugin generate the manifest there are issues.
>

sounds like http://issues.apache.org/jira/browse/FELIX-1634 which will be in
the next release

the fix is already in trunk, so you can either build the plugin from source
or use the
2.1.0-SNAPSHOT from
https://repository.apache.org/content/repositories/snapshots


>
> While looking for a solution I found numerous posts on this mailing list
> and
> in other sources where the Embed-* features (Embed-Dependency,
> Embed-Transitive, etc) are said to be the solution. However none of those
> posts really match my scenario - I don't want the dependencies to be
> embedded
> in the jar file, I only want them to be visible as transitive dependencies
> in
> Maven so that they get picked up by the maven-eclipse-plugin as well as
> other
> Maven plugins. Is there a solution for this issue? Or how do other people
> solve this issue? I can't imagine that I'm the only one who builds eclipse
> applications with a combination of the maven-bundle-plugin and the
> maven-eclipse-plugin.
>
>
>
> Thanks and regards,
>
> Thomas
>
>
>
>
>
>


-- 
Cheers, Stuart