[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,

First, thanks for the work.

On 5/18/2016 11:19 PM, Mykola Nikishov wrote:
Hi,

* 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]
https://hudson.eclipse.org/ecf/job/ecf-tycho.maven.gerrit/lastSuccessfulBuild/artifact/

[Freestyle job]
https://hudson.eclipse.org/ecf/job/ecf-tycho.freestyle.gerrit/

[p2 repository]
https://hudson.eclipse.org/ecf/job/ecf-tycho.freestyle.gerrit/lastSuccessfulBuild/artifact/


* 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
future.


[Maven job type] https://wiki.jenkins-ci.org/display/JENKINS/Building+a+maven2+project

[Building a maven2 project - Jenkins - Jenkins Wiki]
https://wiki.jenkins-ci.org/display/JENKINS/Building+a+maven2+project

[Maven Project Plugin - Jenkins - Jenkins Wiki]
https://wiki.jenkins-ci.org/display/JENKINS/Maven+Project+Plugin

[POM-less projects]
https://wiki.eclipse.org/Tycho/Release_Notes/0.24#POM-less_Tycho_builds

[Maven core extensions]
http://takari.io/2015/03/19/core-extensions.html

[JENKINS-30058 - Support Maven Core Extensions]
https://issues.jenkins-ci.org/browse/JENKINS-30058

[Bug 408661 - Maven 3 build trigger not working for Tycho projects]
https://bugs.eclipse.org/bugs/show_bug.cgi?id=408661

[this post]
https://groups.google.com/d/msg/jenkinsci-users/MEm6QMAfimM/fq7AfeyrOgAJ


* 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.

Could I ask you to summarize (e.g. on bug 493753) what the advantages and disadvantages are WRT 'freestyle' vs. 'maven'?


And I noticed that only the ECF filetransfer features/bundles are included in the new hipp builds that you point to above. At some point, we are going to have to include all the ECF sdk features and bundles...which results in a question: would including all of the ECF sdk features/bundles have any implications for the 'freestyle' vs. 'maven' decision? (e.g. pom or not?)


Decide on how build will vote on changes.

I don't understand what you mean by 'how build will vote on changes'. Could you explain?


Thanks,

Scott




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.