<!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="https://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 Development Environment
</h3>
<span style="margin-bottom: 10px;">
    modified by <a href="https://community.jboss.org/people/mickael_istria">Mickael Istria</a> in <i>JBoss Tools Development</i> - <a href="https://community.jboss.org/docs/DOC-18124">View the full document</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p><div class="toc" style="border: 1px dashed black; padding: 10px;"><ul><li>
<a class="jive-link-anchor-small" href="#Tools_and_technologies" rel="nofollow">Tools and technologies</a>
</li>
<ul><li>
<a class="jive-link-anchor-small" href="#Java" rel="nofollow">Java</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#Eclipse_PDERCP" rel="nofollow">Eclipse PDE/RCP</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#Git_and_EGit" rel="nofollow">Git and EGit</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#m2e" rel="nofollow">m2e</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#Tips_for_productivity_and_quality" rel="nofollow">Tips for productivity and quality</a>
</li>
<ul><li>
<a class="jive-link-anchor-small" href="#Install_Code_Recommanders" rel="nofollow">Install Code Recommanders</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#Static_analysis" rel="nofollow">Static analysis</a>
</li>
<ul><li>
<a class="jive-link-anchor-small" href="#Enable_all_JDT_warnings" rel="nofollow">Enable all JDT warnings</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#Install_Findbugs_for_Eclipse" rel="nofollow">Install Findbugs for Eclipse</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#Install_PMD_for_Eclipse" rel="nofollow">Install PMD for Eclipse</a>
</li>
</ul><li>
<a class="jive-link-anchor-small" href="#Coverage" rel="nofollow">Coverage</a>
</li>
</ul></ul><li>
<a class="jive-link-anchor-small" href="#Get_source" rel="nofollow">Get source</a>
</li>
<ul><li>
<a class="jive-link-anchor-small" href="#To_work_on_a_specific_component" rel="nofollow">To work on a specific component</a>
</li>
</ul><li>
<a class="jive-link-anchor-small" href="#Set_up_a_target_platform" rel="nofollow">Set up a target platform</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#Run_JBoss_Tools_and_Tests_from_your_IDE" rel="nofollow">Run JBoss Tools and Tests from your IDE</a>
</li>
</ul></div></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>This article explains the different steps to set up a 1st-class environment when you want to write code for JBoss Tools</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h1 id="Tools_and_technologies">Tools and technologies</h1><h2 id="Java">Java</h2><p>JBoss Tools requires Java 6. Ensure your JRE and JDK are compatible with Java 6</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h2 id="Eclipse_PDERCP">Eclipse PDE/RCP</h2><p><span>JBoss Tools are a set of plugins for Eclipse. Then get your favourite recent version of Eclipse from here: </span><a class="jive-link-external-small" href="http://eclipse.org/downloads/" rel="nofollow" target="_blank">http://eclipse.org/downloads/</a><span> We recommand you using </span><em>Eclipse for RCP and RAP Developers</em>. But you can also install PDE in any other installation of Eclipse:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><a href="https://community.jboss.org/servlet/JiveServlet/showImage/102-18124-6-18511/installPDE.png"><span> https://community.jboss.org/servlet/JiveServlet/downloadImage/102-18124-6-18511/450-477/installPDE.png </span></a></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h2 id="Git_and_EGit">Git and EGit</h2><p>Instlall Git CLI, and install EGit in Eclipse (EGit is already provided in most Eclipse installations).</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h2 id="m2e">m2e</h2><p>m2e (maven integation for Eclipse) is also required. It's recommended that you also install <strong>m2e-tycho</strong> and <strong>m2e-eGit</strong> connector from <em>Preferences &gt; Maven &gt; Discovery &gt; Open Catalog</em>.</p><p><a href="https://community.jboss.org/servlet/JiveServlet/showImage/102-18124-6-20251/m2e-tycho.png"><span> https://community.jboss.org/servlet/JiveServlet/downloadImage/102-18124-6-20251/450-341/m2e-tycho.png </span></a></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h2 id="Tips_for_productivity_and_quality">Tips for productivity and quality</h2><p>Here are some highly recommanded plugins that will make your more efficient when inside the IDE</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3 id="Install_Code_Recommanders">Install Code Recommanders</h3><p>Provides additional snippets, templates and smart completion. Not intrusive. You can find it on the "Juno" update-site or the current Eclipse release site.</p><h3 id="Static_analysis">Static analysis</h3><p>Static analysis will detect bug very early and will save you minutes of debug every day. Using it will make you and your colleagues happier. It tells you while typing code that you may have a bug. No need to wait for running test or CI reports to detect this.</p><h4 id="Enable_all_JDT_warnings">Enable all JDT warnings</h4><p>JDT provides very good static analysis, and can prevent you from writing bugs. You simply have to turn all "ignored" advices to "warning" in Window &gt; Preference &gt; Java &gt; Compiler &gt; Errors/Warning.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><a href="https://community.jboss.org/servlet/JiveServlet/showImage/102-18124-6-18512/jdtWarnings.png"><span> https://community.jboss.org/servlet/JiveServlet/downloadImage/102-18124-6-18512/450-431/jdtWarnings.png </span></a></p><h4 id="Install_Findbugs_for_Eclipse">Install Findbugs for Eclipse</h4><p><a class="jive-link-external-small" href="http://marketplace.eclipse.org/content/findbugs-eclipse-plugin" rel="nofollow" target="_blank">http://marketplace.eclipse.org/content/findbugs-eclipse-plugin</a></p><h4 id="Install_PMD_for_Eclipse">Install PMD for Eclipse</h4><p><a class="jive-link-external-small" href="http://marketplace.eclipse.org/content/pmd-eclipse" rel="nofollow" target="_blank">http://marketplace.eclipse.org/content/pmd-eclipse</a></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3 id="Coverage">Coverage</h3><p>Coverage answers to the question "What is tested or net?".</p><p><span>JBoss Tools CI builds provide Jacoco reports for coverage by unit tests (file name is jacoco.exec). This file can easily be analyzed inside Eclipse on your Java editor using EclEmma plugin: </span><a class="jive-link-external-small" href="http://marketplace.eclipse.org/content/eclemma-java-code-coverage" rel="nofollow" target="_blank">http://marketplace.eclipse.org/content/eclemma-java-code-coverage</a></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h1 id="Get_source">Get source</h1><p><span>Each JBoss Tools component is now its own GitHub repo: </span><a class="jive-link-external-small" href="https://github.com/jbosstools/" rel="nofollow" target="_blank">https://github.com/jbosstools/</a><span> </span></p><h2 id="To_work_on_a_specific_component">To work on a specific component</h2><p>The easiest way to get started is to check out source for only the module you wish to work on, and import Java projects from this part of the source tree.</p><p>Example:</p><p><span>* I&#160; want to fix a bug in CDI component of JBT: git clone </span>git://github.com/jbosstools/jbosstools-server.git <span>and import plugins and tests projects from plugns/* and tests/*</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h1 id="Set_up_a_target_platform">Set up a target platform</h1><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="font-family: comic sans ms,sans-serif;"><strong>Target Platform = Allowed Dependencies </strong><span style="font-family: arial,helvetica,sans-serif;">We provide several TP that have different purpose. We do set up some default TP for development, that you should use. You should use those Target Platforms instead of installing the dependencies in your IDE. Then you IDE becomes "The tools you need to develop" whereas the Target Platform provides the dependencies.</span></span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span>Import into your Eclipse workspace JBoss Tools target platforms from GitHub: </span></p><p><span style="font-family: courier new,courier;">git clone git://github.com/jbosstools/jbosstools-target-platforms.git</span></p><p><span style="font-family: arial,helvetica,sans-serif;">Then select the version you want for the target platform. Those versions are available as tags. You can see the list of tags with <span style="font-family: courier new,courier;">git tag -l.</span></span></p><p><span style="font-family: courier new,courier;"><span style="font-family: arial,helvetica,sans-serif;">Let's say for this example we want the target platform 4.2.0.c.</span><br/></span></p><p><span style="font-family: courier new,courier;">cd jbosstools-target-platforms</span></p><p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-family: courier new,courier;">git checkout 4.2.0.c</span><br/></span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Then, in Eclipse, <em>Import &gt; Existing Maven Project</em>, browse to the <em>jbosstools-target-platfroms/jbosstools/multiple.</em></p><p>Double-click on <em>multiple.target</em>, and click<em> Set As Target Platform</em></p><p><em><a href="https://community.jboss.org/servlet/JiveServlet/showImage/102-18124-6-20254/setTp.png"><span> https://community.jboss.org/servlet/JiveServlet/downloadImage/102-18124-6-20254/450-355/setTp.png </span></a><br/></em></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h1 id="Run_JBoss_Tools_and_Tests_from_your_IDE">Run JBoss Tools and Tests from your IDE</h1><p>Once Target Platform is configured, you can easily give a try to your plugins using<em> Run As &gt; Java Application. </em>You can also run automated tests from your IDE using <em>Run As... &gt; JUnit Plugin Tests</em>.</p></div>

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

        <p style="margin: 0;">Create a new document in JBoss Tools Development at <a href="https://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>