Jump to: navigation, search

Difference between revisions of "MemoryAnalyzer/Contributor Reference"

m (Setup)
m (Setup)
Line 8: Line 8:
  
 
Install Eclipse and configure it to develop Java 5 applications.
 
Install Eclipse and configure it to develop Java 5 applications.
* We usually use the [http://download.eclipse.org/eclipse/downloads/ latest milestone build] from the 3.4 train. However, as of today, a 3.3er release works just as well.
+
* We usually use [http://download.eclipse.org/eclipse/downloads/ Eclipse 3.4 (Ganymede)]. However, as of today, a 3.3er release works just as well.
* Install [http://www.eclipse.org/birt/phoenix/ BIRT] via the Update Manager: ''Help -> Software Updates...'' and select the Update Site appropriate for your release (e.g. ''Europa Discovery Site'')
+
 
** While working with the 3.4 release candidates, I found the following approach the simplest: download the appropriate milestone/release candidate build plus all requirements from BIRT's [http://download.eclipse.org/birt/downloads/build_list.php Recent Build Page] and unzip 'em into the dropins folder: '''Chart Engine, DTP, EMF+XSD, GEF Runtime'''
+
Setup your development environment:
* Install the [http://www.eclipse.org/subversive/downloads.php Subversion Team Provider]
+
* Via the Update Manager ''Help -> Software Updates...'' install:
* We use this [http://www.eclipse.org/mat/dev/mat_code_formatter.xml code formatter template]
+
** Eclipse BIRT Chart Runtime Feature
 +
** SVN Team Provider
 +
** Subversive SVN Connectors (See [http://www.eclipse.org/subversive/downloads.php Subversion Team Provider] Download Page for the Update Site URL)
 +
* Configure the Code Formatter Template:
 +
** ''Preferences -> Java -> Code Style -> Formatter -> Import...'' and import this [http://www.eclipse.org/mat/dev/mat_code_formatter.xml template].
  
 
=== Checkout ===
 
=== Checkout ===

Revision as of 10:56, 27 June 2008

Getting Started

Similar to Mylyn/Contributor Reference this page is meant to help you contribute to the Memory Analyzer project.

Workspace

Setup

Install Eclipse and configure it to develop Java 5 applications.

Setup your development environment:

  • Via the Update Manager Help -> Software Updates... install:
    • Eclipse BIRT Chart Runtime Feature
    • SVN Team Provider
    • Subversive SVN Connectors (See Subversion Team Provider Download Page for the Update Site URL)
  • Configure the Code Formatter Template:
    • Preferences -> Java -> Code Style -> Formatter -> Import... and import this template.

Checkout

As the project is still in incubation, you'll find only the trunk code line. Check out the projects by saving mat.psf file locally, and then using File -> Import -> Team Project Set. Use user name "anonymous" and an empty password.

More infos: SVN_Howto, Web Access

Launch Configuration

Launch the Memory Analyzer as stand-alone RCP:

  • Create a new Eclipse Application configuration
  • Run a product: org.eclipse.mat.ui.rcp.MemoryAnalyzer
  • Launch with: plug-ins selected below only
    • Deselect org.eclipse.mat.tests
    • Deselect Target Platform and click Add Required Plug-ins
    • Select org.eclipse.pde.runtime (3.3) or org.eclipse.ui.views.log (3.4) to include the Error Log

or as feature plugged into the IDE:

  • Create a new Eclipse Application configuration
  • Run a product: org.eclipse.sdk.ide
  • Launch with: plug-ins selected below only
    • Deselect org.eclipse.mat.tests and org.eclipse.mat.ui.rcp

JUnit Tests

The unit tests a placed in the org.eclipse.mat.tests project. Execute the tests by right-clicking on the project and choose Run As... -> JUnit Plug-in Test.

Ideas for Contributions

This is an initial list of ideas. If you are missing a feature and have some time to contribute, please do not hesitate to contact us.

  • Application Knowledge: Name/Request Resolvers for major open source projects: Glassfish, JBoss, Jetty, Tomcat ...
  • Open Java Source file via context menu of a class
  • Check WeakHashMaps: find those where the value references the key and hence prevents garbage collection
  • Documentation and Unit Tests (pretty lame, but much appreciated!)