Jump to: navigation, search

Developer's guide to adding new plugins to the AJDT release

Revision as of 09:09, 17 March 2010 by Andrew.eisenberg.as (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Adding source plugins that contain tests only (not for distribution)

For a new test plugin:

  1. Check the test plugin into CVS (See the developer's guide for more information on CVS.
  2. Add test plugin to the feature org.eclipse.aspectj.feature_tests
  3. Ensure that it is "unpacked" (specify in org.eclipse.aspectj.feature_tests/feature.xml)
  4. Ensure a test.xml is in the plugin. Copy from another test plugin and change paths appropriately. Ensure to appropriately choose either ui-test or core-test
  5. JUnit 4 is not supported by eclipse testing framework (org.eclipse.test). bug 153429 tracks this.
  6. Edit the build.properties file for the new test plugin and ensure that it contains the test.xml and all other files required for the binary build. The .class files should be in their own jar. Can copy from other build.properties files.
  7. Edit MANIFEST.MF and add the new jar for the class files (specified in build.properties) to the classpath.
  8. Update the copy-sources target in customTargets.xml ant script in org.eclipse.ajdt.releng project.
  9. Update the run-test-eclipse, copy-test-results, and check-results targets in the buildAll.xml file.


This article describes the headless testing process.

Adding source plugins that are meant for distribution

A lot of similarity to above, but some differences:

  1. Add plugin to appropriate feature (probably org.eclipse.ajdt-feature). This plugin should probably be "packed".
  2. Update the copy-sources target in customTargets.xml ant script in org.eclipse.ajdt.releng project.


That's probably it.

Adding third party binary plugins for distribution

AJDT includes Equinox Aspects in its distribution. Equinox Weaving is grabbed from the Equinox/RT's CVS repository using a map file specified in org.eclipse.ajdt.releng/maps. If it is necessary to include more 3rd party plugins, then follow the same steps as is used for Equinox Weaving. Be sure to choose a stable tag from the source repository. Also, be sure to file a CQ for the new plugins.