Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornickboldt2018-06-21 17:52:35 +0000
committernickboldt2018-06-21 17:52:35 +0000
commit8e88ced0c77c8b970be8b2a365070c2b0c96ffea (patch)
tree0d94084ca40ad9239c98079ac03513f1e57e7f25
parentb2af9bc1a6be971fff6f72e85d75e96428bcc0fb (diff)
downloadwebtools.releng.aggregator-3.10.x.tar.gz
webtools.releng.aggregator-3.10.x.tar.xz
webtools.releng.aggregator-3.10.x.zip
Bug 489026 update build guide in releng.aggregator3.10.03.10.x
Change-Id: I2d5e4bd63e7091bd21bae70b6c2c106c9df11636 Signed-off-by: nickboldt <nboldt@redhat.com>
-rw-r--r--README-deprecated.adoc74
-rw-r--r--README.adoc46
2 files changed, 101 insertions, 19 deletions
diff --git a/README-deprecated.adoc b/README-deprecated.adoc
new file mode 100644
index 0000000..534d9a9
--- /dev/null
+++ b/README-deprecated.adoc
@@ -0,0 +1,74 @@
+## Building this repo (DEPRECATED)
+
+1. Fetch sources
+
+ git clone http://git.eclipse.org/gitroot/webtools/webtools.releng.aggregator.git
+
+2a. Or, just check out the projects you care about, eg., if you want to contribute to servertools:
+
+ git clone http://git.eclipse.org/gitroot/webtools-common/webtools.common.git
+ git clone http://git.eclipse.org/c/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].
+
+2b.*DEPRECATED* OR, you can fetch all the submodules recursively, then update to latest on that branch
+
+ git submodule update --init --recursive
+ for d in webtools.*; do echo $d; pushd $d; git pull origin master; popd; done
+
+[start=3]
+3. Give maven more memory, if needed
+
+ set MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=128m" # windows users
+ # or
+ export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=128m" # linux users
+
+4a. Build just the aggregate, using upstream CI builds. Should take under 20 mins.
+
+ mvn clean install -V -B -PCI | tee log-aggregate.txt
+
+To build against local changes in common or servertools:
+
+ 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
+
+4b. *DEPRECATED* OR, build everything in this repo, including all the submodules, from scratch. May take over 2 hrs, and requires that the submodules are all up to date (step 2b).
+
+ mvn clean install -f pom-build-everything.xml -V -B -Dmaven.test.skip=true -DskipWithIssues=false \
+ -Dmaven.test.error.ignore=true -Dmaven.test.failure.ignore=true \
+ -Dsurefire.timeout=1800 -P bree-libs -P integration -ff \
+ | tee log-everything-build.txt
+
+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)
+
+---
+
+Webtools has moved away from being a monolithic submodule-based uber-build (see 4b above) and toward a sequential series of builds (see 4a above).
+
+This allows users to build individual projects w/o having to check out and build the entire stack. For example, to contribute a fix to webtools.common, you need only fetch that project and build it by itself; then if you want to contribute a fix to a downstream project, such as webtools.servertools, you can rely on the latest local (see -Dwebtools-* flags above) or the latest CI build of webtools.common.
+
+This will allow development to be more agile, more reactive, and to move incrementally without the need for this project.
+
+-- 2018-06-21 @nickboldt
diff --git a/README.adoc b/README.adoc
index 2f73c32..a381245 100644
--- a/README.adoc
+++ b/README.adoc
@@ -1,32 +1,44 @@
## Building this repo
-1. fetch sources
+1. fetch sources for this project, and other webtools projects you care about. For example, to contribute a fix to webtools.servertools:
git clone http://git.eclipse.org/gitroot/webtools/webtools.releng.aggregator.git
-2. fetch submodules recursively, then update to latest on that branch
+ git clone http://git.eclipse.org/gitroot/webtools-common/webtools.common.git
+ git clone http://git.eclipse.org/c/servertools/webtools.servertools.git
- git submodule update --init --recursive
- for d in webtools.*; do echo $d; pushd $d; git pull origin master; popd; done # **
+NOTE: See the link:https://wiki.eclipse.org/WTP_Gerrit_Access#Clone_a_repository_for_development[complete list of projects here].
-3. give maven more memory, if needed
+2. give maven more memory, if needed
set MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=128m" # windows users
# or
export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=128m" # linux users
-4a. build just the aggregate, using upstream CI builds. Should take under 20 mins.
+3. Build local changes to common and/or servertools:
- mvn clean install -V -B -PCI | tee log-aggregate-only.txt
+ cd webtools.common
+ mvn clean install
+ cd ..
-4b. OR, build everything in this repo, including all the submodules, from scratch. May take over 2 hrs. This approach is DEPRECATED.
+ cd webtools.servertools
+ mvn clean install \
+ -Dwebtools-common-site=file:///path/to/where/you/build/locally/webtools.common/site/target/repository/
+ cd ..
- mvn clean install -f pom-build-everything.xml -V -B -Dmaven.test.skip=true -DskipWithIssues=false \
- -Dmaven.test.error.ignore=true -Dmaven.test.failure.ignore=true \
- -Dsurefire.timeout=1800 -P bree-libs -P integration -ff \
- | tee log-everything-build.txt
+4. Aggregate local changes in common, servertools, and any other locally built webtools projects:
-Some other flags you can use:
+ 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.
@@ -49,10 +61,6 @@ Note the above profiles:
---
-This repo is being transformed as webtools is moving away from a monolithic submodule-based uber-build (see 4b above) and toward a sequential series of builds (see 4a above).
-
-This will allow users to build individual projects w/o having to check out and build the entire stack. For example, to contribute a fix to webtools.common, you need only fetch that project and build it by itself; then if you want to contribute a fix to a downstream project, such as webtools.servertools, you can rely on the latest local or CI build of webtools.common.
-
-This will allow development to be more agile, more reactive, and to move incrementally without the need for this project.
+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].
--- 2018-03-12 @nickboldt
+-- 2018-06-21 @nickboldt

Back to the top