nickboldt | 0fc0f76 | 2017-10-13 18:07:54 -0400 | [diff] [blame] | 1 | ## Building this repo |
| 2 | |
nickboldt | 8e88ced | 2018-06-21 13:52:35 -0400 | [diff] [blame] | 3 | 1. fetch sources for this project, and other webtools projects you care about. For example, to contribute a fix to webtools.servertools: |
nickboldt | 0fc0f76 | 2017-10-13 18:07:54 -0400 | [diff] [blame] | 4 | |
Nitin Dahyabhai | 4ad84d2 | 2018-08-22 17:13:17 -0400 | [diff] [blame] | 5 | git clone https://git.eclipse.org/r/webtools/webtools.releng.aggregator.git |
nickboldt | 0fc0f76 | 2017-10-13 18:07:54 -0400 | [diff] [blame] | 6 | |
Nitin Dahyabhai | 4ad84d2 | 2018-08-22 17:13:17 -0400 | [diff] [blame] | 7 | git clone https://git.eclipse.org/r/webtools-common/webtools.common.git |
| 8 | git clone https://git.eclipse.org/r/servertools/webtools.servertools.git |
nickboldt | 0fc0f76 | 2017-10-13 18:07:54 -0400 | [diff] [blame] | 9 | |
nickboldt | 8e88ced | 2018-06-21 13:52:35 -0400 | [diff] [blame] | 10 | NOTE: See the link:https://wiki.eclipse.org/WTP_Gerrit_Access#Clone_a_repository_for_development[complete list of projects here]. |
nickboldt | 0fc0f76 | 2017-10-13 18:07:54 -0400 | [diff] [blame] | 11 | |
nickboldt | 8e88ced | 2018-06-21 13:52:35 -0400 | [diff] [blame] | 12 | 2. give maven more memory, if needed |
nickboldt | 0fc0f76 | 2017-10-13 18:07:54 -0400 | [diff] [blame] | 13 | |
Nitin Dahyabhai | 4ad84d2 | 2018-08-22 17:13:17 -0400 | [diff] [blame] | 14 | set MAVEN_OPTS="-Xmx1024m" # windows users |
nickboldt | 5688b37 | 2017-12-14 10:47:40 -0500 | [diff] [blame] | 15 | # or |
Nitin Dahyabhai | 4ad84d2 | 2018-08-22 17:13:17 -0400 | [diff] [blame] | 16 | export MAVEN_OPTS="-Xmx1024m" # linux/macos users |
nickboldt | 0fc0f76 | 2017-10-13 18:07:54 -0400 | [diff] [blame] | 17 | |
nickboldt | 8e88ced | 2018-06-21 13:52:35 -0400 | [diff] [blame] | 18 | 3. Build local changes to common and/or servertools: |
nickboldt | 0fc0f76 | 2017-10-13 18:07:54 -0400 | [diff] [blame] | 19 | |
nickboldt | 8e88ced | 2018-06-21 13:52:35 -0400 | [diff] [blame] | 20 | cd webtools.common |
| 21 | mvn clean install |
| 22 | cd .. |
nickboldt | dc1094a | 2018-03-12 13:56:29 -0400 | [diff] [blame] | 23 | |
nickboldt | 8e88ced | 2018-06-21 13:52:35 -0400 | [diff] [blame] | 24 | cd webtools.servertools |
| 25 | mvn clean install \ |
| 26 | -Dwebtools-common-site=file:///path/to/where/you/build/locally/webtools.common/site/target/repository/ |
| 27 | cd .. |
nickboldt | dc1094a | 2018-03-12 13:56:29 -0400 | [diff] [blame] | 28 | |
nickboldt | 8e88ced | 2018-06-21 13:52:35 -0400 | [diff] [blame] | 29 | 4. Aggregate local changes in common, servertools, and any other locally built webtools projects: |
nickboldt | 0fc0f76 | 2017-10-13 18:07:54 -0400 | [diff] [blame] | 30 | |
nickboldt | 8e88ced | 2018-06-21 13:52:35 -0400 | [diff] [blame] | 31 | cd webtools.releng.aggregator |
| 32 | mvn clean install -V -B -PCI \ |
| 33 | -Dwebtools-common-site=file:///path/to/where/you/build/locally/webtools.common/site/target/repository/ \ |
| 34 | -Dwebtools-servertools-site=file:///path/to/where/you/build/locally/webtools.servertools/site/target/repository/ \ |
| 35 | -Dwebtools-servertools-integration-site=file:///path/to/where/you/build/locally/webtools.servertools/site-integration/target/repository/ \ |
| 36 | | tee log-aggregate-local-changes-to-common-and-servertools.txt |
| 37 | cd .. |
| 38 | |
| 39 | That's it! If you have more local changes to aggregate, use more `-Dwebtools-\*-site` flags to reference your local changes. |
| 40 | |
| 41 | Some link:http://git.eclipse.org/c/webtools/webtools.releng.aggregator.git/tree/wtp-parent/pom.xml#n70[other flags] you can use: |
nickboldt | 5688b37 | 2017-12-14 10:47:40 -0500 | [diff] [blame] | 42 | |
nickboldt | dc1094a | 2018-03-12 13:56:29 -0400 | [diff] [blame] | 43 | -P CI # build using upstream CI jobs' repos instead of having to build all the projects in the same reactor |
| 44 | -P bree-libs # build using strict adherence to Bundle-RequireExecutionEnvironment (BREE) rules. Requires a ~/.m2/toolchains.xml file. |
| 45 | |
nickboldt | 5688b37 | 2017-12-14 10:47:40 -0500 | [diff] [blame] | 46 | -Dplatform-repo.url=http://download.eclipse.org/eclipse/updates/4.8-I-builds/ |
nickboldt | dc1094a | 2018-03-12 13:56:29 -0400 | [diff] [blame] | 47 | |
nickboldt | 5688b37 | 2017-12-14 10:47:40 -0500 | [diff] [blame] | 48 | -Dwebtools.buildSite=http://download.eclipse.org/webtools/downloads/drops/R3.10.0/I-3.10.0-20171004000115/ |
| 49 | -Dwebtools.buildSite=http://build.eclipse.org/webtools/committers/wtp-R3.10.0-I/20171211000140/I-3.10.0-20171211000140/ |
| 50 | |
nickboldt | dc1094a | 2018-03-12 13:56:29 -0400 | [diff] [blame] | 51 | -Dwebtools-common-site=file:///path/to/where/you/build/locally/webtools.common/site/target/repository/ |
| 52 | -Dwebtools-servertools-site=file:///path/to/where/you/build/locally/webtools.servertools/site/target/repository/ |
| 53 | -Dwebtools-servertools-integration-site=file:///path/to/where/you/build/locally/webtools.servertools/site-integration/target/repository/ |
| 54 | -Dwebtools-jeetools-site=file:///path/to/where/you/build/locally/webtools.javaee/site/target/repository/ |
| 55 | ... |
| 56 | |
nickboldt | 5688b37 | 2017-12-14 10:47:40 -0500 | [diff] [blame] | 57 | Note the above profiles: |
nickboldt | 0fc0f76 | 2017-10-13 18:07:54 -0400 | [diff] [blame] | 58 | |
nickboldt | 00321c3 | 2017-10-13 20:47:05 -0400 | [diff] [blame] | 59 | * bree-libs profile may not work if you don't have old JDKs (eg., JDK5) installed locally |
nickboldt | dc1094a | 2018-03-12 13:56:29 -0400 | [diff] [blame] | 60 | * integration profile is needed to build the SDK & integration features (cross-repo dependencies) (DEPRECATED) |
nickboldt | 0fc0f76 | 2017-10-13 18:07:54 -0400 | [diff] [blame] | 61 | |
| 62 | --- |
| 63 | |
nickboldt | 8e88ced | 2018-06-21 13:52:35 -0400 | [diff] [blame] | 64 | 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]. |
nickboldt | 0fc0f76 | 2017-10-13 18:07:54 -0400 | [diff] [blame] | 65 | |
nickboldt | 9568a83 | 2018-07-09 12:53:54 -0400 | [diff] [blame] | 66 | ## Building the upstream projects |
| 67 | |
nickboldt | 7a277ed | 2018-07-09 12:54:31 -0400 | [diff] [blame] | 68 | 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. |
nickboldt | 9568a83 | 2018-07-09 12:53:54 -0400 | [diff] [blame] | 69 | |
nickboldt | 7a277ed | 2018-07-09 12:54:31 -0400 | [diff] [blame] | 70 | 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. |
nickboldt | 9568a83 | 2018-07-09 12:53:54 -0400 | [diff] [blame] | 71 | |
| 72 | -- 2018-07-09 @nickboldt |