blob: 636c014ca6cf234d92004700f288bf73a5739da3 [file] [log] [blame]
## 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
git clone
git clone
NOTE: See the link:[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 \
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:[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.
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:[pipeline] or link:pipeline/Jenkinsfile[Jenkinsfile] which lists the correct sequence of dependencies.
Here's a list of the link:[git projects] and where to get them.
-- 2018-07-09 @nickboldt