<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    JBoss Tools Target Platform Provisioning (or, how to resolve missing dependencies when compiling JBoss Tools)
</h3>
<span style="margin-bottom: 10px;">
    modified by <a href="http://community.jboss.org/people/nickboldt">Nick Boldt</a> in <i>JBoss Tools Development</i> - <a href="http://community.jboss.org/docs/DOC-15755">View the full document</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p><span style="color: #ff0000;"><strong><em>This document is a work in progress and subject to change.</em></strong></span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>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.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>First, you'll need the JBoss Tools sources on disk. Fetch sources from trunk (or another branch) into ~/tru (or another location on disk).</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="padding-left: 30px;"><span>svn co </span><a class="jive-link-external-small" href="http://anonsvn.jboss.org/repos/jbosstools/trunk/" target="_blank">http://anonsvn.jboss.org/repos/jbosstools/trunk/</a><span> ~/tru</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>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.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><strong>------------------------------</strong></p><p><strong><br/></strong></p><p><strong>OPTION 1: Install Target Platform Update Site into Eclipse</strong></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Point the latest Eclipse 3.6.x build at this update site (generated from this <a class="jive-link-external-small" href="http://anonsvn.jboss.org/repos/jbosstools/trunk/build/target-platform/e361-wtp322.target">e361-wtp322.target</a> file). Be sure to show uncategorized features, then install everything.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="padding-left: 30px;"><a class="jive-link-external-small" href="http://download.jboss.org/jbosstools/updates/target-platform/latest/">http://download.jboss.org/jbosstools/updates/target-platform/latest/</a></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>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 <a class="jive-link-external-small" href="http://http//download.eclipse.org/eclipse/downloads/drops/R-3.6.1-201009090800/index.php#DeltaPack">deltapack</a> (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.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>a) Build parent + target platform poms (should only take a few mins; includes 18M of downloaded artifacts into your local Maven cache, eg., ~/.m2).</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="padding-left: 30px;">cd ~/tru/build; mvn3 clean install -f <a class="jive-link-external-small" href="http://anonsvn.jboss.org/repos/jbosstools/trunk/build/parent/pom.xml">parent/pom.xml </a></p><p><br/> b) Build one or more components:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="padding-left: 30px;">cd ~/tru/build; mvn3 clean install <em>-U -B -e -fae -Dmaven.test.skip</em> <span style="color: #339966;"><strong>-Dtycho.targetPlatform=/path/to/your/eclipse</strong></span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><strong>------------------------------</strong></p><p><strong><br/></strong></p><p><strong>OPTION 2: Let Tycho Resolve Dependencies Into Local Cache<br/></strong></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>a) Build parent + target platform poms (should only take a few mins; includes 18M of downloaded artifacts into your local Maven cache, eg., ~/.m2).</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="padding-left: 30px;">cd ~/tru/build; mvn3 clean install -f <a class="jive-link-external-small" href="http://anonsvn.jboss.org/repos/jbosstools/trunk/build/parent/pom.xml">parent/pom.xml </a></p><p><br/> b) Build one or more components (when done, ~/.m2 will be 1.1G in size):</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="padding-left: 30px;">cd ~/tru/build; mvn3 clean install <em>-U -B -e -fae -Dmaven.test.skip</em> <span style="color: #339966;"><strong>-P \!helios,helios-remote-target</strong></span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>The 'helios-remote-target' will fetch all dependencies from this update site:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="padding-left: 30px;"><a class="jive-link-external-small" href="http://download.jboss.org/jbosstools/updates/target-platform/latest/">http://download.jboss.org/jbosstools/updates/target-platform/latest/</a></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>If have a local repo already mirrored on disk (for example, you downloaded <a class="jive-link-external-small" href="http://download.jboss.org/jbosstools/updates/target-platform/e361-wtp322.target.zip">this 692M zip</a> and unpacked it somewhere, you can use the 'helios-local-target' profile, but <span style="color: #ff6600;"><strong>will have to edit the parent/pom.xml</strong></span> to point to the correct path on disk, and rebuild it. (The default path is the one that Hudson uses.)</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="padding-left: 30px;">vi parent/pom.xml # search for 'helios-local-target'</p><p style="padding-left: 30px;">mvn3 clean install -f parent/pom.xml</p><p style="padding-left: 30px;">mvn3 clean install <em>-U -B -e -fae -Dmaven.test.skip</em> <span style="color: #339966;"><strong>-P \!helios,helios-local-target</strong></span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>This is how the Hudson builds run: compile the parent &amp; target platform pom.xml files, then build the desired component(s).</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>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:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="padding-left: 30px;">cd ~/tru/build; mvn3 clean install -Pseam-bootstrap,\!helios,helios-remote-target -U -B -e -fae</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><strong>------------------------------</strong></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>For other ways to build, see <a class="jive-link-wiki-small" href="http://community.jboss.org/docs/DOC-15513">http://community.jboss.org/wiki/HowtoBuildJBossToolswithMaven3</a></p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Comment by <a href="http://community.jboss.org/docs/DOC-15755">going to Community</a></p>

        <p style="margin: 0;">Create a new document in JBoss Tools Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=102&containerType=14&container=2129">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>