Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Best way to handle strange, ant-built plugins

Thomas,

Maybe I just like pain, but you didn't mention converting the 30 or so plugins into pom-first bundles... ;)

I'm in a similar fix, but mine is complicated by a unique project directory structure, and several POJO artifacts that need to be generated, but aren't part of the simultaneous release offering.
As a result, we're stuck halfway until we can migrate our directory structure. In the interim, we're going with option 2. I'll be embracing the pain above (or something similar) as soon as our migration is complete.

-Eric

On 11/01/2012 1:59 PM, Thomas Smith wrote:
Hi,

I'm working on switching our build system to Tycho, and I've run into
a problem with some plug-ins that are basically collections of files
that are assembled by Ant into OSGi bundles.  Their MANIFESTs are
generated during the build process, so they're not available at
dependency resolution time for Tycho.

I've thought of 3 ways to include these plug-ins in our final build
products, which are runnable Eclipse RCP applications.  My question
is: to you experienced people, which way seems least hackish and
brittle?

First, I could build each of the 30 or so plug-ins with Maven's ant
runner (or the Maven assembly plugin), resulting in pretty ordinary
pom-first plugins.  The drawback of this way is that, as far as I can
tell, you have to include the dependency on them in three places:  the
feature.xml that pulls them into the product, and the pom.xml of both
the feature project and the product project.  This seems really
aggravating.

Option number two is to make a p2 repository out of the pom-first
plugins, and make that p2 repo available to Tycho.  For instance, I
could use ant and eclipse to build this p2 repo, and then run the
maven build with -Dnonpde.p2.repo=/path/to/repo.  This should allow
the dependencies to be listed in just one place, the feature.xml.
This requires (part of) eclipse to be installed on the build machines,
to build the p2 repo, and it means running Maven from Ant, which seems
weird to me.

Option number three is to take Maven's final build products, and just
drop the extra plug-ins into the plugins/ or dropins/ directory.  I've
been trying this way and having some trouble getting the runtime to
notice the new plugins.  I can't get it to notice dropins/ at all, and
it only notices new things in plugins/ when I manage to force the
org.eclipse.update.configurator bundle to start (as in
http://www.toedter.com/blog/?p=39 ).  I also need to set
org.eclipse.update.reconcile=true somehow.  This seems to be against
the new One True Way of p2, but especially for development we really
need to be able to add plugins to our installations easily, so we may
end up with this system anyway.

Sorry for writing a book.  Please let me know what you think!
-Thomas
_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/tycho-user



Back to the top