Skip to main content
Jump to: navigation, search

MemoryAnalyzer/Building MAT With Tycho


This page is describes how Memory Analyzer p2 repository and RCP applications can be built using Maven/Tycho.


Maven Installation

The Memory Analyzer build requires a Maven 3.0.* installation. It is already present on the Hudson server at Eclipse. For local build one can download it from here

Proxy Settings

If you need to set proxy for Maven, a snippet like this can be added to the Maven settings file:


More information on Maven settings:

Preparation Steps

What is done

Parts of MAT depend on the IBM's DTFJ libraries, therefore one needs the libraries during the build. This preparation step will do the following:

  • download DTFJ (zipped "old" update site)
  • publish a p2 repository with DTFJ
  • modify the target platform definition used for the rest of the build


  • Go in the <mat_src>/prepare_build/ directory
  • Execute

mvn clean install

  • This maven build is using the maven-antrun plugin to download the zip containing DTFJ. If you need to set proxy you can do it using the standard Java settings, i.e. the command line will look like this:

mvn -Dhttp.proxyHost=myProxyHost -Dhttp.proxyPort=myProxyPort clean install

On the Hudson boxes at Eclipse the settings are defined as $ANT_OPTS


If the build was successful, then:

  • <mat_src>/prepare_build/target/repository/ will contain the p2 repository with DTFJ
  • <mat_src>/org.eclipse.mat.targetdef/ will be modified to point to this repository

Building MAT

Once the #Preparation Steps are done (normally only once) one can run the maven build for MAT.

Execute the build

  • Go to the root of the sources (there is the parent pom.xml), i.e. <mat_src>/pom.xml
  • To simply build MAT execute

mvn clean install

  • To build MAT and perform findbugs checks execut

mvn clean install findbugs:findbugs


You can find the results of the build in the corresponding .../target/ directories for each plugin, feature, etc... Of particular interest are:

  • <mat_src>/org.eclipse.mat.updatesite/target/site/ - it contains a p2 repository with MAT features
  • <mat_src>/product/target/products/ - it contains all standalong RCP applications

Back to the top