[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [tycho-user] Reduce time for building various products
|
Hello,
actually this is not a matter of Tycho, Maven or any other specific
technology, but rather relates how you structure your builds.
I am using the following approach for a few years now:
Each single feature lives in it's own Git repository, including the
feature itself, all included bundles and releng stuff.
Also the CI server has a dedicated job for each single feature.
Additionally, there are separate jobs for building and deploying the
products.
As a result, if a feature A or a product X require a feature B, they
just consume it like any other requirement.
Luckily, Tycho allows combining the target platform with additional
repositories. So in the parent POM of feature A you can add something
like:
<repositories>
<repository>
<id>feature-b</id>
<url>file://${featureB.repository}</url>
<layout>p2</layout>
</repository>
</repositories>
Any CI job for feature A triggers all jobs for other components
depending on A.
So whenever you change anything in feature B (to keep this example) only
the jobs for feature B, feature A and product X are executed.
HTH,
Axel
Am 2019-03-22 08:51, schrieb Quang Nguyen:
We are building our RCP Application with Tycho. In the aggregator
pom.xml we listed all of the features and plugins as modules what we
have. With the structure and configuration of the project we can build
different product for diverse customers.
The issue is, whenever we build a small(less features) or big
product(more feature) tycho comsumes nearly constant of time because
it builds all the modules we have in the pom.xml firstly. With
following command we build a product:
mvn clean verify -Dproduct=pathToProduct
How can we optimize the build process with tycho that we only build
the dependencies what is listed in the .product file and the required
plugin listed in feature.xml of each feature folder? Doesn't tycho try
to read the feature.xml file to determinate what dependencies is
needed?
Maybe does some one have a reference implementation or solution to
solve this issue?
Best regards,
Quang Nguyen
_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
To change your delivery options, retrieve your password, or
unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/tycho-user