| ## Building this repo |
| |
| 1. fetch sources for this project, and other webtools projects you care about. For example, to contribute a fix to webtools.servertools: |
| |
| git clone https://git.eclipse.org/r/webtools/webtools.releng.aggregator.git |
| |
| git clone https://git.eclipse.org/r/webtools-common/webtools.common.git |
| git clone https://git.eclipse.org/r/servertools/webtools.servertools.git |
| |
| NOTE: See the link:https://wiki.eclipse.org/WTP_Gerrit_Access#Clone_a_repository_for_development[complete list of projects here]. |
| |
| 2. give maven more memory, if needed |
| |
| set MAVEN_OPTS="-Xmx1024m" # windows users |
| # or |
| export MAVEN_OPTS="-Xmx1024m" # linux/macos users |
| |
| 3. Build local changes to common and/or servertools: |
| |
| cd webtools.common |
| mvn clean install |
| cd .. |
| |
| cd webtools.servertools |
| mvn clean install \ |
| -Dwebtools-common-site=file:///path/to/where/you/build/locally/webtools.common/site/target/repository/ |
| cd .. |
| |
| 4. Aggregate local changes in common, servertools, and any other locally built webtools projects: |
| |
| cd webtools.releng.aggregator |
| mvn clean install -V -B -PCI \ |
| -Dwebtools-common-site=file:///path/to/where/you/build/locally/webtools.common/site/target/repository/ \ |
| -Dwebtools-servertools-site=file:///path/to/where/you/build/locally/webtools.servertools/site/target/repository/ \ |
| -Dwebtools-servertools-integration-site=file:///path/to/where/you/build/locally/webtools.servertools/site-integration/target/repository/ \ |
| | tee log-aggregate-local-changes-to-common-and-servertools.txt |
| cd .. |
| |
| That's it! If you have more local changes to aggregate, use more `-Dwebtools-\*-site` flags to reference your local changes. |
| |
| Some link:http://git.eclipse.org/c/webtools/webtools.releng.aggregator.git/tree/wtp-parent/pom.xml#n70[other flags] you can use: |
| |
| -P CI # build using upstream CI jobs' repos instead of having to build all the projects in the same reactor |
| -P bree-libs # build using strict adherence to Bundle-RequireExecutionEnvironment (BREE) rules. Requires a ~/.m2/toolchains.xml file. |
| |
| -Dplatform-repo.url=http://download.eclipse.org/eclipse/updates/4.8-I-builds/ |
| |
| -Dwebtools.buildSite=http://download.eclipse.org/webtools/downloads/drops/R3.10.0/I-3.10.0-20171004000115/ |
| -Dwebtools.buildSite=http://build.eclipse.org/webtools/committers/wtp-R3.10.0-I/20171211000140/I-3.10.0-20171211000140/ |
| |
| -Dwebtools-common-site=file:///path/to/where/you/build/locally/webtools.common/site/target/repository/ |
| -Dwebtools-servertools-site=file:///path/to/where/you/build/locally/webtools.servertools/site/target/repository/ |
| -Dwebtools-servertools-integration-site=file:///path/to/where/you/build/locally/webtools.servertools/site-integration/target/repository/ |
| -Dwebtools-jeetools-site=file:///path/to/where/you/build/locally/webtools.javaee/site/target/repository/ |
| ... |
| |
| Note the above profiles: |
| |
| * bree-libs profile may not work if you don't have old JDKs (eg., JDK5) installed locally |
| * integration profile is needed to build the SDK & integration features (cross-repo dependencies) (DEPRECATED) |
| |
| --- |
| |
| As of Webtools 3.10, this build requires is a series of individual CI builds, followed by a simple aggregation. The old approach with one large monolithic build and git submodules, is link:README-deprecated.adoc[documented here]. |
| |
| ## Building the upstream projects |
| |
| To build all the individual projects in order, see this link:https://ci.eclipse.org/webtools/job/WTP-Pipeline_master/[pipeline] or link:pipeline/Jenkinsfile[Jenkinsfile] which lists the correct sequence of dependencies. |
| |
| Here's a list of the link:https://wiki.eclipse.org/WTP_Gerrit_Access#Clone_a_repository_for_development[git projects] and where to get them. |
| |
| -- 2018-07-09 @nickboldt |