Hi Christian,
My 2 cents.
In SysML 1.4, we proceed this way:
-
Use a maven profile
product ( [1] check releng/pom.xml). It’s include
o
feature
o
p2 site
o
product
o
RcpTT tests
-
Use 2 gerrit jobs
o
One is always triggered (mvn clean install)[2]
o
The other is launched when something might
impact the product (mvn clean install -Pproduct).We
use the job configuration path to determine that [3].
ð
This approach still allow to check the product
but
only when it’s useful (the drawback is that gerrit is
executed 2 times for product contribution. I didn’t found
any easy way to avoid that)
In any case having a product profile allow us
to choose when to actually build the product. You can also
choose to only use it in the nightly build.
Regards,
Benoit
1:
https://git.eclipse.org/c/papyrus/org.eclipse.papyrus-sysml.git/tree/releng/pom.xml
2 :
https://hudson.eclipse.org/papyrus/view/Sysml/job/papyrus-sysml-gerrit/
3 :
https://hudson.eclipse.org/papyrus/view/Sysml/job/papyrus-sysml-gerrit-product/
![](png0W_4pAawvl.png)
I
see that the Tooling Gerrit builds build
the org.eclipse.papyrusrt.product package for each of
three different platforms: linux, win32, and mac (all
64-bit). This takes quite a long time and seems to me
redundant. Shouldn’t it be enough for sanity-checking of
a contribution to build only one of these? Is it even
necessary to build any of them, unless of course the
contribution is in the actual rt.product module? Is it
possible to build this module only when it is changed,
itself?