Developer's guide to upgrading the AJDT build to a newer version of Eclipse
Starting a build process of the next version of AJDT on the next version of Eclipse
Here are the steps I took to add AJDT 1.7 to the build process. AJDT 1.7 uses Eclipse 3.5 to build it.
- upload new version of eclipse to build server (should be something like eclipse-SDK-3.5M5-linux-gtk.tar.gz)
- unzip it into cruisecontrol/eclipse35/eclipse
- unzip again into test/eclipse35
- copy build-ajdt1.6.xml, publish1.6.xml, upload1.6.xml, run-tests34.sh to the new version. Use the same naming convention as before (change 1.6 to 1.7 and 34 to 35). And edit so that the appropriate version numbers, paths, and plugin ids are used (probably need to look at version numbers in the unzipped eclipse).
- upload a zip of mylyn that works with the target eclipse be sure to include mylyn's dependencies (eg- org.apache.commons.lang and org.apache.commons.codec)
- unzip mylyn and dependencies into both eclipse installs
- update ajdt.pde.build plugin for latest version of eclipse (this part may be tricky. see below for more on this). create the ajdtbuild-ant.jar by using pdebuild.jardesc
- export ajdt.pde.build plugin (make sure that "package plug-ins as individul JAR archives" is unchecked), upload it to build server, and place it into eclipse35/eclipse/plugins
- add AJ runtime, weaver, and ajde jars to eclipse (set it in the eclipse3X directory). They are required for the iajc task, but they cannot be in the plugins directory. They go in the devEntries property in build-ajdt1.7.xml.
- upload eclipse testing framework (listed under JUnit Plugin Tests and Automated Testing Framework in the eclipse downloads page). Place it in the plugins directory for the test eclipse.
- edit test eclipse's config.ini so that it recognizes EA
- make the appropriate directories on download server (mirror the directory structure for earlier versions)
- edit config.xml and add section for new build
- OPTIONAL To see if all the unzipped plugins are working, you can execute the command "eclipse -console" for the osgi console. Then type "ss" command to get a list of installed bundles. Make sure everything that you expect to be there is.
Notes on getting pde jar working
- Test it locally first! See below.
- Do not export with a qualifier (makes it easier to upgrade)
- Do not export as jar
Getting AJDT to build headless from Eclipse (to test the build process locally)
- Download from cvs *all* ajdt related projects into your workspace
- Edit the launch configuration ant_headless_build
- In the arguments tab enter some reasonable values for all arguments.
- The help file http://127.0.0.1:56879/help/topic/org.eclipse.pde.doc.user/tasks/pde_feature_generating_antcommandline.htm has information on all arguments.
- Of particular note is the pluginPath argument. This is a path to the plugins to compile against. It must contain all required plugins (ie- standard eclipse plus mylyn, but *no* ajdt plugins).
- Launch the configuration and cross your fingers...
The nice part about this is that you can run the build process through the debugger and see all the steps as they occur.