[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ecf-dev] Heads up on CI job for building ECF with Tycho

Hi Mykola,

Thank you for the analysis. I think it is best to use a freestyle project but not go pom-less. I had a discussion today on this bug [1] where i tried to do a pom-less build for Nebula. I found out that it has several drawbacks but no real advantages.Please check out the bug and let me know what you think.

+1 for a freestyle projects
-1 for pom-less
+1 for switching off silent mode
-1 for buckminster, we have it running elsewhere

We want to run the build in several smaller chunks. Our build gets checked in on github here [2] to give you an idea of the complexity ;).

[1] BugÂ493984 - Provide pom-less build for Nebula
[2] https://github.com/ECF/Build/tree/master/jobs



On Thu, May 19, 2016 at 8:19 AM, Mykola Nikishov <mn@xxxxxxxxx> wrote:

* Where are we now?

There is [Bug 493753] to track progress. I've created two jobs on
[Jenkins] that could be triggered by the new Gerrit change and expose
their p2 repository:
â [Maven job], [p2 repository]
â [Freestyle job], [p2 repository]

Both jobs are in silent mode, they will not vote back on submitted
changes yet.

[Bug 493753] https://bugs.eclipse.org/bugs/show_bug.cgi?id=493753

[Jenkins] https://hudson.eclipse.org/ecf/

[Maven job] https://hudson.eclipse.org/ecf/job/ecf-tycho.maven.gerrit/

[p2 repository]

[Freestyle job]

[p2 repository]

* Why two jobs?

[Maven job type] tries to provide Maven-specific configurations and
integrations for different jobs:
â [Building a maven2 project - Jenkins - Jenkins Wiki]
â [Maven Project Plugin - Jenkins - Jenkins Wiki]

Unfortunately, Maven job type knows nothing about [POM-less projects]
(which is a plain Maven project that uses [Maven core extensions]) -
Hudson/Jenkins creates internal representation of the project to build
using its own implementation. There is [JENKINS-30058 - Support Maven
Core Extensions] for Jenkins and none I'm aware of for Hudson ([Bug
408661 - Maven 3 build trigger not working for Tycho projects] is the
only relevant one).

Another (more serious) problem is that Maven job type is actually
deprecated ([this post], for instance) and not actively supported by
both Jenkins and Hudson communities. I'm not sure that support for
POM-less projects will be implemented in the foreseeable future.

That's why I've created a freestyle type job that is free from the
limitations of the Maven job type but requires more initial
configuration and (I'm speculating a little here) support in the

[Maven job type]

[Building a maven2 project - Jenkins - Jenkins Wiki]

[Maven Project Plugin - Jenkins - Jenkins Wiki]

[POM-less projects]

[Maven core extensions]

[JENKINS-30058 - Support Maven Core Extensions]

[Bug 408661 - Maven 3 build trigger not working for Tycho projects]

[this post]

* Where to go?

Either freestyle or maven job type will survive. As I think POM-less
Tycho configuration is the way to go, due to inability to handle
POM-less Maven projects, I'm for freestyle job type. But that's not
(only ;-) ) me who should decide.

Decide on how build will vote on changes.

Disable silent mode and provide feedback to Gerrit change.

Enable Buckminster build and get a 'canonical' version of ECF p2
repository alongside p2 repository built with Tycho. Which may be handy
to debug issues with Tycho build.


ecf-dev mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit