Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "WTP/Build/CBI Build"

< WTP‎ | Build
Line 79: Line 79:
 
=== Build ===
 
=== Build ===
  
To build WTP simply navigate to the directory where you cloned the repo and run:
+
To build using the above toolchains enabled, use:
  
 
<pre>
 
<pre>
Line 85: Line 85:
 
</pre>
 
</pre>
  
 +
==== Build a series of individual projects ====
  
Note: Due to some current [http://bugs.eclipse.org/431853 issues]with JSF unit tests in WTP build. You need to tell Maven to ignore test failures by passing these parameters: '''-Dmaven.test.failure.ignore=true -Dmaven.test.error.ignore=true'''
+
See [http://git.eclipse.org/c/webtools/webtools.releng.aggregator.git/tree/README.adoc README]
 +
 
 +
==== Build everything in one operation (DEPRECATED) ====
 +
 
 +
See [http://git.eclipse.org/c/webtools/webtools.releng.aggregator.git/tree/README-deprecated.adoc README-deprecated]
  
 
===Individual Bundle Build===
 
===Individual Bundle Build===
 +
 
It is possible to build individual bundles instead of the whole project, this specially useful for committers to test the compilation of their components without go thru the whole product build process.
 
It is possible to build individual bundles instead of the whole project, this specially useful for committers to test the compilation of their components without go thru the whole product build process.
  
* Navigate to the component's directory you want to build (assuming you have cloned webtools.releng.aggregator.git and your changes are ready to go)
+
* Navigate to the plugin or feature folder you want to build
 
* Launch the individual build command:  
 
* Launch the individual build command:  
 
<pre>
 
<pre>
mvn -Pbuild-individual-bundles clean verify
+
mvn -PCI clean verify
 
</pre>
 
</pre>
  
Line 101: Line 107:
 
* Navigate to webtools.releng.aggregator/wtp-parent/pom.xml.
 
* Navigate to webtools.releng.aggregator/wtp-parent/pom.xml.
 
* Look for <webtools.buildSite>
 
* Look for <webtools.buildSite>
* Update with the P2 repository you want to use as base.
+
* Update with the p2 repository you want to use as base.
NOTE: It is expected that you use one of the online WTP P2 repositories, and those contain <strong>repository</strong> and <strong>repositoryunittests</strong> directories. So, if you want use a different one the <webtools.buildSite>,  <webtools.repository> and <webtools.testsRepository> must be updated accordingly.
+
NOTE: It is expected that you use one of the online WTP p2 repositories, and those contain <strong>repository</strong> and <strong>repositoryunittests</strong> directories. So, if you want use a different one the <webtools.buildSite>,  <webtools.repository> and <webtools.testsRepository> must be updated accordingly.
 
* Save the changes.
 
* Save the changes.
  

Revision as of 13:10, 7 July 2018

WTP CBI Build

Pre-requisites

  • git installed and configured
  • maven installed and configured
  • Java Virtual Machines 1.4, 1.5, 1.6, 1.7, and 1.8

Git clone the repo

The repo for WTP's aggregator can be viewed here:

   http://git.eclipse.org/c/webtools/webtools.releng.aggregator.git/

You can clone the repo by running:

    git clone --recursive git://git.eclipse.org/gitroot/webtools/webtools.releng.aggregator.git

Build WTP with CBI

Setup

In order to build WTP you are required to setup BREE libraries. This means configuring a toolchains.xml file in your ~/.m2/toolchains.xml file.

Specifically for J2SE-1.4 you will require a copy of IBMJava2-142-SR13FP10.

The one I'm using is as follows:

<toolchains>
  <toolchain>
    <type>jdk</type>
    <provides>
      <id>J2SE-1.4</id>
    </provides>
    <configuration>
      <jdkHome>/opt/ibm/IBMJava2-142-SR13FP10/jre</jdkHome>
    </configuration>
  </toolchain>
  <toolchain>
    <type>jdk</type>
    <provides>
      <id>J2SE-1.5</id>
    </provides>
    <configuration>
      <jdkHome>/opt/oracle/jdk1.5.0_22/jre</jdkHome>
    </configuration>
  </toolchain>
  <toolchain>
    <type>jdk</type>
    <provides>
      <id>JavaSE-1.6</id>
    </provides>
    <configuration>
      <jdkHome>/opt/oracle/jdk1.6.0_45/jre</jdkHome>
    </configuration>
  </toolchain>
  <toolchain>
    <type>jdk</type>
    <provides>
      <id>JavaSE-1.7</id>
    </provides>
    <configuration>
      <jdkHome>/opt/oracle/jdk1.7.0_25/jre</jdkHome>
    </configuration>
  </toolchain>
  <toolchain>
    <type>jdk</type>
    <provides>
      <id>JavaSE-1.8</id>
    </provides>
    <configuration>
      <jdkHome>/opt/oracle/jdk1.8.0_112/jre</jdkHome>
    </configuration>
  </toolchain>
</toolchains>

Build

To build using the above toolchains enabled, use:

    mvn clean verify -Pbree-libs

Build a series of individual projects

See README

Build everything in one operation (DEPRECATED)

See README-deprecated

Individual Bundle Build

It is possible to build individual bundles instead of the whole project, this specially useful for committers to test the compilation of their components without go thru the whole product build process.

  • Navigate to the plugin or feature folder you want to build
  • Launch the individual build command:
mvn -PCI clean verify

Modifying the Base Repository

The base repository is the place from where all the WTP dependencies for the individual build will be pulled, in case you want to test the build against a different base repository (by default, it is the latest Integration build which is refreshed together with each promotion):

  • Navigate to webtools.releng.aggregator/wtp-parent/pom.xml.
  • Look for <webtools.buildSite>
  • Update with the p2 repository you want to use as base.

NOTE: It is expected that you use one of the online WTP p2 repositories, and those contain repository and repositoryunittests directories. So, if you want use a different one the <webtools.buildSite>, <webtools.repository> and <webtools.testsRepository> must be updated accordingly.

  • Save the changes.

References

Back to the top