Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cbi-dev] Bundles that may be improperly/incorrectly build with Tycho

Hi,

Here are some thoughts that are related to that thread, but also to Chris' post: http://eclipseandlinux.blogspot.fr/2012/07/should-maven-be-enforced-by-eclipse.html

The callback pattern of PDE-Build with Ant matches the concept of lifecycle and Maven phases. Maven tends to encourage use (and creation) of Maven plugins to perform additional actions during build, whereas PDE-build used to rely on callbacks and Ant scripts.
I don't think the gap between both approaches is so big to become a blocker. A first approach would be to replace callbacks by invocation of maven-antrun-plugin in pom.xml to perform tweaks currently implemented with Ant, and then to identify the use-cases in order to replace them by more usable and more high-level Maven plugins. I think that's what we can expect from CBI: turn most Eclipse projects to Maven/Tycho and identify and implements some Maven plugins that would be useful for most Eclipse projects.
That's what happened with eclipse-signing-plugin, and it is great.

That's the kind of questions we often ask for JBoss Tools build when we see some old Ant scripts still used: what do they do? Are they still useful? Could they be replaced by an existing Maven plugin? If not, does it make sense to create a Maven plugin for this use-case?
That's mainly about domain knowledge, as you noticed.

Also, my experiences with Tycho-based builds at Eclipse make me think that people don't feel easy with migrating because they may not know a lot about Maven and Tycho (or p2 and OSGi), but once it is set up, they feel able to modify stuff in poms and so on to use some other repositories or add modules or tweak test system properties. Although migration still appears difficult, it clearly shows that Maven/Tycho make things more easily maintainable. A few years ago, the only solution to tweak a build was to have Nick or Andrew (or the author of the Ant script) in the list of Skype contacts ;)
So the goal of CBI is probably not to force every project to move to Maven, but to convince and show people that Tycho provides a lot of advantage in a long-term approach over Ant.

Cheers,

On 07/17/2012 08:41 AM, Krzysztof Daniel wrote:
I think the real question here (especially when considering -1 on
maven-ant-runner plugin [1]) is what is really the CBI is supposed to
do:

(1) Is it supposed to be a thin layer on the top of existing projects
for the sake of entire Eclipse build easiness?

(2) Is it supposed to migrate all projects to maven (kind of back-door)
and obsolete the PDEBuild?

While I really would like to see 2 to happen, I don't believe it is
possible in the short or even mid-term:
* Some projects were created long before maven and they have a structure
which does not fit into the maven lifecycle. The common maven
anti-pattern is storing ant pre-compiled code (native and jars) in the
repo. (This is also a big problem for Fedora). On the other hand, this
anti-pattern is a really good patern for some other goals (saving
bandwidth). Heavy project refactoring (and bugs like [2]) seem
unavoidable.
* I cannot commit to that refactoring. Time is important, but what
really limits me is the lack of domain knowledge, visible in [2]. I can
read the build files, but if they seem to be not processed, or manually
invoked, how can I automate them? And that brings the third and the last
point:
* Many commiter's do not have sufficient command of maven to introduce
it to their projects before SR1 (note that in many cases it will be a
very dangerous change, and in some places it will require rewriting of
the customBuildCallbacks).

Given that quality concerns appeared again, I really would like to get
expectations that you all have about CBI.

Note that in case we go for (2) we may need much more coordinated
effort, which should include all non-tycho project leaders.

[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=385154
[2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=384874


--
Mickael Istria
Eclipse developer at JBoss, by Red Hat
My blog - My Tweets

Back to the top