#Update the customTargets.xml ant script in update site project, org.eclipse.aspectj.updatesite. (Note that build.xml and build-minimal.xml are no longer used and can probably be deleted, I don't even know if they still work. Certainly, the build.xml scripts in the individual plugins are broken.)

+

#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.

−

#Edit the build.properties file 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.

+

#Edit MANIFEST.MF and add the new jar for the class files (specified in build.properties) to the classpath.

−

#Edit MANIFEST.MF and add the new jar (specified in build.properties) to the classpath.

#Update the run-test-eclipse, copy-test-results, and check-results targets in the buildAll.xml file.

−

On the build server:

−

#Ensure that org.eclipse.test and org.eclipse.ant.optional.junit plugins are installed in the target Eclipse for testing. The target Eclipse for testing is ~/cruisecontrol-2.3.1/test/eclipseXX (XX is the major.minor version number). The plugins can be found here with the [http://download.eclipse.org/eclipse/downloads/drops/R-3.4.1-200809111700/index.php#JUnitPlugin automated test plugins] (link to version 3.4.1, this is likely to be forward compatible).

−

#Update run-test3X.sh on build server to include new test plugin. Copy from other entries

−

#Update ''build-AJDT1.X.xml'' on build server to include checking out the plugin, checking the results, and deleting old versions. This is spread throughout the script, so copy from the other plugins. copy from other entries. Make sure that ''upload-build1.6weaving.xml'' is not touched because these changes should not be sent to the download server.

−

#Update config.xml on build server to ensure that test results are included in the log.

AJDT does not do this yet, but we may choose to bundle our own version of Equinox Aspects. If we do this, then how to do this for other third party plugins will be described here.

+

==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.

[[Category:AJDT]]

[[Category:AJDT]]

Latest revision as of 10:09, 17 March 2010

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

For a new test plugin:

Check the test plugin into CVS (See the developer's guide for more information on CVS.

Add test plugin to the feature org.eclipse.aspectj.feature_tests

Ensure that it is "unpacked" (specify in org.eclipse.aspectj.feature_tests/feature.xml)

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

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.

Edit MANIFEST.MF and add the new jar for the class files (specified in build.properties) to the classpath.

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.