[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [eclipse-dev] Planning Meeting Post-Notes - 2 May 2012
|
On Thu, May 3, 2012 at 7:05 AM, Daniel Megert
<daniel_megert@xxxxxxxxxx> wrote:
Paul,
how are those POM files looking? Do
you have some examples? I looked in the CBI Git repos and the pom.xml files
there look quite simple and don't contain any additional data (maybe I
did not see a real one?) i.e. they could simply be generated on the fly
by the builder for most bundles (I guess). Is the information stored in
the pom.xml, more frequently changed by the builder team or by the committers
that own the source? If the former, it would probably make more sense to
keep those POM files separate from the source and owned by CBI . The additional
files could be generated or mixed in when running the build and it would
allow the CBI releng people to change those files at will.
The first module it defines is eclipse-parent,
http://git.eclipse.org/c/cbi/platform-aggregator.git/tree/eclipse-parent/pom.xml?h=Juno_M6_R3 which contains tycho configuration. Stuff like the environments to build, the p2 repositories the build needs to consume, and other build level configuration.
Then the rest of the modules describe what needs to be built. For example for platform UI, you get
http://git.eclipse.org/c/cbi/eclipse.platform.ui.git/tree/pom.xml?h=Juno_M6_R3 That's basically a list of projects to build, like
http://git.eclipse.org/c/cbi/eclipse.platform.ui.git/tree/bundles/org.eclipse.core.commands/pom.xml?h=Juno_M6_R3
----
So each project to be built (bundle, fragment, p2 repo, product) has its own pom and its own subdirectory. They live with the bundle they build. That's maven's convention over configuration. Just to put it in perspective, this is how maven treats pom files: "pom.xml files are fundamentally part of project source tree. They can and often do contain project specific configuration and must not be treated as something disposable."
The reason that most of ours appear pretty simple is that each pom inherits the parent configuration, so a lot of the work is done at the top instead of in each pom file. We can override any of the config options in our project's local pom file. Like using a project's pom file to completely specify its qualifier if we didn't want one to change.
Later,
Paul
--
Paul Webster
Hi floor. Make me a sammich! - GIR