Hi Stuart,

A final update for tonight: I was able to reproduce the problem with
maven-bundle-plugin:3.0.0 but not with maven-bundle-plugin:2.5.4 even
though it looks like the DefaultDependencyGraphBuilder is in all three
versions.

Stephen

On Thu, Jan 28, 2016 at 6:18 PM, Stephen Evanchik <evanc...@gmail.com>
wrote:

> Hi Stuart,
>
> Thanks for confirming the behavior. I too noticed the redundant packaging
> and execution stanzas. I suspect the original developer that added this
> project didn't understand how the bundle extension worked.
>
> When I noticed the redundancy I updated all of the projects to use the
> <execution>/<package> jar  pattern hoping that the problem would go away.
> Unfortunately, I saw an improvement but still have build failures.
>
> I'm not sure if this is a bug in Maven, maven-dependency-tree or,
> maven-bundle-plugin
>
> Stephen
>
>
> On Thu, Jan 28, 2016 at 5:43 PM, Stuart McCulloch <mccu...@gmail.com>
> wrote:
>
>> Hi Stephen,
>>
>> I've been able to recreate this with Maven 3.3.9 (by cloning your example
>> project several times in a multi-module project) - will investigate
>> further
>> over the weekend.
>>
>> I did notice you're using the 'bundle' packaging, but you also have an
>> explicit execution of the 'bundle' goal which should already be covered by
>> the 'bundle' packaging's lifecycle - is there a reason for this extra
>> execution?
>> On 28 Jan 2016 18:00, "Stephen Evanchik" <evanc...@gmail.com> wrote:
>>
>> > Hi Stuart,
>> >
>> > I am using Maven 3.3.3 please disregard my earlier email. I did see this
>> > problem in 3.3.1 so there doesn't seem to be a difference. I am going to
>> > try with 3.3.9 but I'm not going to hold out hope that it will make a
>> > difference.
>> >
>> > I think the problem is that DefaultDependencyGraphBuilder does not get
>> > initialized properly. This only occurs in parallel builds and is
>> strongly
>> > associated with relative timing. For example, if I issue a mvn -T2.0C
>> > install I will see the failure >80% of the time but if I use mvn -X
>> -T2.0C
>> > I cannot reproduce the failure at all.
>> >
>> > I'm not sure embedding a pom is the right approach but here's a pastbin
>> > link to a sample project that fails:
>> >
>> > https://paste.apache.org/dpeQ
>> >
>> >
>> > Stephen
>> >
>> >
>> > On Wed, Jan 27, 2016 at 4:49 AM, Stuart McCulloch <mccu...@gmail.com>
>> > wrote:
>> >
>> > > On Wednesday, 27 January 2016 at 06:03, Stephen Evanchik wrote:
>> > > > Hi everyone,
>> > > >
>> > > > I'm having trouble tracking down an intermittent but frequent build
>> > > failure
>> > > > using the maven-bundle-plugin to wrap non-OSGi projects. I'm using
>> > Maven
>> > > > 3.3.1 and see the following NPE:
>> > > >
>> > > > Caused by: java.lang.NullPointerException
>> > > > at
>> > > >
>> > >
>> >
>> org.apache.maven.shared.dependency.graph.internal.DefaultDependencyGraphBuilder.buildDependencyGraph(DefaultDependencyGraphBuilder.java:60)
>> > > > at
>> > > >
>> > >
>> >
>> org.apache.felix.bundleplugin.BundlePlugin.buildDependencyGraph(BundlePlugin.java:334)
>> > > > at
>> > > >
>> >
>> org.apache.felix.bundleplugin.BundlePlugin.execute(BundlePlugin.java:359)
>> > > > at
>> > > >
>> > >
>> >
>> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
>> > > > ... 11 more
>> > > >
>> > > > whenever I invoke a parallel build (-T2.0C for example).
>> > > >
>> > > > There are many projects that will fail with this exception. I can
>> > > provide a
>> > > > fairly simple one if that makes sense.
>> > > >
>> > > >
>> > >
>> > > a reproducible test project is always helpful - have you tried a more
>> > > recent version of Maven like 3.3.3 or 3.3.9 to see if that helps?
>> > > > It looks like the 3.0.1 version is using maven-dependency-tree-2.1
>> > whose
>> > > > buildDependency method looks like:
>> > > >
>> > > > public DependencyNode buildDependencyGraph( MavenProject project,
>> > > > ArtifactFilter filter )
>> > > > throws DependencyGraphBuilderException
>> > > > {
>> > > > try
>> > > > {
>> > > > String hint = isMaven31() ? "maven31" : isMaven2x() ? "maven2"
>> > > > : "maven3";
>> > > > getLogger().debug( "building " + hint + " dependency graph for
>> > > > " + project.getId() );
>> > > >
>> > > > DependencyGraphBuilder effectiveGraphBuilder =
>> > > > (DependencyGraphBuilder) container.lookup(
>> > > > DependencyGraphBuilder.class.getCanonicalName(), hint );
>> > > >
>> > > >
>> > > > where the NPE is on:
>> > > >
>> > > > DependencyGraphBuilder effectiveGraphBuilder =
>> > > > (DependencyGraphBuilder) container.lookup(
>> > > > DependencyGraphBuilder.class.getCanonicalName(), hint );
>> > > >
>> > > >
>> > > > I'm not sure why this could NPE as it seems like the
>> > > > Contextualizable.contextualize() is called successfully for other
>> > > projects
>> > > > in the build.
>> > > >
>> > > > Any ideas on how to track this down? I can't enable debugging (mvn
>> -X)
>> > > > because that affects the timing just enough to avoid the issue.
>> > > >
>> > > > Thanks,
>> > > > Stephen
>> > >
>> > >
>> > >
>> >
>> >
>> > --
>> > Stephen Evanchik
>> > http://stephen.evanchik.com
>> >
>>
>
>
>
> --
> Stephen Evanchik
> http://stephen.evanchik.com
>



-- 
Stephen Evanchik
http://stephen.evanchik.com

Reply via email to