JBoss Community

JBoss Tools Target Platform Provisioning (or, how to resolve missing dependencies when compiling JBoss Tools)

modified by Nick Boldt in JBoss Tools Development - View the full document

This document is a work in progress and subject to change.

 

In order to build JBoss Tools in your workspace (or on your local machine, if not in Eclipse), you need to have its dependencies available. There are a number of ways to accomplish this, depending on your needs and how much manual effort you'd like to expend.

 

First, you'll need the JBoss Tools sources on disk. Fetch sources from trunk (or another branch) into ~/tru (or another location on disk).

 

svn co http://anonsvn.jboss.org/repos/jbosstools/trunk/ ~/tru

 

Next, you can either install the target platform update site into your Eclipse install, or simply let Tycho fetch all the dependencies into a local m2 cached repository.

 

------------------------------


OPTION 1: Install Target Platform Update Site into Eclipse

 

Point the latest Eclipse 3.6.x build at this update site (generated from this e361-wtp322.target file). Be sure to show uncategorized features, then install everything.

 

http://download.jboss.org/jbosstools/updates/target-platform/latest/

 

After restarting Eclipse, you should have all the dependencies installed to develop JBoss Tools; however, if you want to use this Eclipse as the target platform against which to build using Tycho, you need to also unzip the latest deltapack (eg., eclipse-M20101020-0925-delta-pack.zip) into your Eclipse root folder. Once you've done that, you can use the following commands to tell Tycho to use that Eclipse instead of doing its own resolution.

 

a) Build parent + target platform poms (should only take a few mins; includes 18M of downloaded artifacts into your local Maven cache, eg., ~/.m2).

 

cd ~/tru/build; mvn3 clean install -f parent/pom.xml


b) Build one or more components:

 

cd ~/tru/build; mvn3 clean install -U -B -e -fae -Dmaven.test.skip -Dtycho.targetPlatform=/path/to/your/eclipse

 

------------------------------


OPTION 2: Let Tycho Resolve Dependencies Into Local Cache

 

a) Build parent + target platform poms (should only take a few mins; includes 18M of downloaded artifacts into your local Maven cache, eg., ~/.m2).

 

cd ~/tru/build; mvn3 clean install -f parent/pom.xml


b) Build one or more components (when done, ~/.m2 will be 1.1G in size):

 

cd ~/tru/build; mvn3 clean install -U -B -e -fae -Dmaven.test.skip -P \!helios,helios-remote-target

 

The 'helios-remote-target' will fetch all dependencies from this update site:

 

http://download.jboss.org/jbosstools/updates/target-platform/latest/

 

If have a local repo already mirrored on disk (for example, you downloaded this 692M zip and unpacked it somewhere, you can use the 'helios-local-target' profile, but will have to edit the parent/pom.xml to point to the correct path on disk, and rebuild it. (The default path is the one that Hudson uses.)

 

vi parent/pom.xml # search for 'helios-local-target'

mvn3 clean install -f parent/pom.xml

mvn3 clean install -U -B -e -fae -Dmaven.test.skip -P \!helios,helios-local-target

 

This is how the Hudson builds run: compile the parent & target platform pom.xml files, then build the desired component(s).

 

If you have the entire JBoss Tools tree on disk, you can do multi-component builds rather than having to build the WHOLE JBoss Tools using the bootstrap profiles in build/pom.xml. For example, to build Seam:

 

cd ~/tru/build; mvn3 clean install -Pseam-bootstrap,\!helios,helios-remote-target -U -B -e -fae

 

------------------------------

 

For other ways to build, see http://community.jboss.org/wiki/HowtoBuildJBossToolswithMaven3

Comment by going to Community

Create a new document in JBoss Tools Development at Community