Stuart, thanks for your help. That would have been my last resort, too, yet
I was in the hopes of getting around it ...

Cheers,
Olaf

> -----Ursprüngliche Nachricht-----
> Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Stuart
> McCulloch
> Gesendet: Dienstag, 16. Oktober 2007 12:38
> An: [email protected]
> Betreff: Re: In reactor mode dependent osgi bundle resolves to
> target/classes
> 
> On 16/10/2007, Olaf Bergner <[EMAIL PROTECTED]> wrote:
> >
> > [Cross-posted from [EMAIL PROTECTED]/no reply to date]
> >
> > I'm using felix' maven-bundle-plugin to wrap existing libraries - say
> > commons-lang - as osgi bundles. The projects that produce these wrapper
> > bundles - say commons-lang.osgi - reside in my workspace and are part of
> a
> > reactor build. Other projects - my own code - declare dependencies on
> the
> > artifacts - osgi wrapper bundles - produced by my 'wrapper' projects.
> >
> > Everything works like a charm as long as I build my 'own' projects
> > separately. If, however, I do a full-fledged reactor build, as soon as
> > maven
> > tries to build one of my 'own' projects that declares a dependency on an
> > osgi wrapper bundle, compilation fails since maven does not put the
> > referenced osgi bundle itself but the target/classes - say
> > ../commons-lang.osgi/target/classes - directory from the project that
> > produces that bundle on the classpath used to compile my code.
> Obviously,
> > this cannot work since that directory is empty. After all, we are
> dealing
> > just with a repackaged jar.
> >
> > It seems as if in reactor mode maven knows which dependencies originate
> > from
> > my workspace and tries to use the class files directly. Why ist hat, and
> > how
> > can I stop maven from doing so? I'm using maven 2.0.6 and
> > maven-bundle-plugin 0.8.0-snapshot.
> 
> 
> this is actually an issue with the internals of Maven (see
> MavenProject.java
> )
> where it assembles the compilation classpath - if a dependent project is
> part
> of the reactor then Maven will replace the artifact path with
> "target/classes".
> 
> the reason Maven does this is so people can do "mvn compile" from the top
> of their multi-module project and not have to deal with missing /
> out-of-date
> dependency artifacts.
> 
> unfortunately, this doesn't play well with OSGi bundles, where
> "target/classes"
> may not exist, or be different to the actual packaged contents of the
> bundle.
> 
> even more unfortunately, there is no switch/setting in Maven to stop this
> from
> happening, as this logic is part of the internals rather than the compiler
> plugin.
> 
> the simplest workaround is to use the maven-dependency-plugin to unpack
> the final bundle under "target/classes" as part of the packaging/install
> step :(
> 
> Thanks for any pointers,
> >
> > Olaf Bergner
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> 
> 
> --
> Cheers, Stuart


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to