On 10/27/2015 08:53 AM, LE FEVRE
FRANCOIS wrote:
Mickael,
Thanks
for your quick answer.
So
if I do understand from your answer and examples that I have
find across several projects
I
have 3 solutions, I could:
1. Add a shell command task
in my Hudson job
2. Add a maven plugin (ant)
in the normal build process
3. Add shell command that
are deployed as a cron on the download.eclipse.org server;
that is in charge to retrieve the build artifacts
Any
idea what is the best approve between the 3 solutions?
I believe that 1 and 2 are equally good in general, but depending on
your constraints/specificity, you may prefer one to the other.
Criteria to take into account is mainly if you want to be able to
publish from anywhere (2) or are hudson jobs enough (1)? Not that
since AFAIK download.eclipse.org can only be tweaked from inside the
eclipse.org domain, I don't know if it's feasible to have a deploy
step that works from any server so (1) usually seems simpler and
efficient enough.
If you go for 2, you're not forced to use Ant, you can use a bash
script or whatever that you can retrieve and execute from pom. For
reference, here is how we do it for JBoss Tools, but we're SFTP
based and we do want to be able to deploy from anywhere and
additional tricks:
https://github.com/jbosstools/jbosstools-build/blob/master/parent/pom.xml#L796
. A more evolved solution in the same style would be to have a
dedicated deploy mojo, coded in Java, but so far we feel more
comfortable with bash for the deploy part.
Solution 3 sucks IMO. There is no reason to "schedule" a deployment
of snapshots. By definition, snapshots are volatile, supposed to be
updated whenever there is something now. Scheduling slows down the
feedback loop, and is more complicated to set up. Cost++ Value--.
It
is strange that there is no official shell script that make
the job for any eclipse project.
This script
could define the official process in term of naming
convention etc… It seems that every project has its own
scripts…
Any idea if
there is an official Maven/ Tycho plugin that could take all
of this in order to standardize the way eclipse projects
publish their artifacts?
Actually, there is no official script because there is no official
process/locations for snapshots of a given projects. Look at several
projects (Platform, WTP, SWTBot, m2e...), you'll notice that each
project has its naming convention for snapshot repositories. So it's
not very possible to have an official deploy script that would work
for all.
However, I agree it would be interesting to define recommendations
as part of CBI and to implement necessary scripts/mojos. But since
projects have managed this by themselves with a good success so far,
it's not something that appears urgent IMHO.
|