This article is a replacement for its precursor, How to Build JBoss Tools 3.2 with Maven 3.
To run a local build of JBoss Tools 3.3 against the new Eclipse 3.7-based Target Platform, I suggest a three-step approach:
a) build the parent & target platform poms (v0.0.3-SNAPSHOT)
b) resolve the target platform to your local disk
c) build against your local copy of the target platform
Once (a) and (b) are done, you need only perform (c) iteratively until you're happy (that is, until everything compiles). This lets you test changes locally before committing back to SVN.
(a) and (b) need only be done when the parent pom and Target Platform (TP) change. Of course if we get these published to nexus then you may not need those first bootstrapping steps. Stay tuned - work in progress.
a) build the parent & target platform poms (v0.0.3-SNAPSHOT)
cd ~/
svn co http://svn.jboss.org/repos/jbosstools/branches/3.3.indigo/
cd ~/3.3.indigo/build/parent
mvn3 clean install
b) resolve the target platform to your local disk
There are two ways to do this:
i) Download and unpack the latest TP zip
ii) Resolve the TP using Maven or Ant
i) Download and unpack the latest TP zip
You can either download the TP as a zip [5] and unpack it into some folder on your disk. For convenience, you might want to unzip into ~/3.3.indigo/build/target-platform/REPO/, since that's where the Maven or Ant process will by default operate.
[5] http://download.jboss.org/jbosstools/updates/target-platform_3.3.indigo/e37M5-wtp33M5.target.zip
ii) Resolve the TP using Maven or Ant
cd ~/3.3.indigo/build/target-platform
mvn3 clean install -Pget.local.target
The get.local.target profile will resolve the target platform file, multiple.target, as a p2 repository on your local disk in ~/3.3.indigo/build/target-platform/REPO/. It may take a while, so you're better off from a speed point-of-view simply fetching the latest zip [5]. However, if you want to see what actually happens to create the TP (as done in Hudson) this is the approach to take.
Since the Maven profile is simply a wrapper call to Ant, you can also use Ant 1.7.1 or later directly:
cd ~/3.3.indigo/build/target-platform
ant
Should you want to build the JBDS target, do this:
cd ~/3.3.indigo/build/target-platform
ant jbds
Then you'll get a p2 repo in ~/3.3.indigo/build/target-platform/JBDS_REPO/.
c) build against your local copy of the target platform
cd ~/3.3.indigo/build/
mvn3 clean install -U -B -fae -e -Plocal.site -Dlocal.site=file:/${HOME}/3.3.indigo/build/target-platform/REPO/ | tee build.all.log.txt
If you downloaded the zip and unpacked is somewhere else, use -Dlocal.site=file:/.../ to point at that folder instead.