Skip to content

Releasing CodingSpectator

reprogrammer edited this page Jul 6, 2011 · 19 revisions

Perform the following steps to release a new version of CodingSpectator.

Test

  1. Run the tests in org.eclipse.jdt.ui.tests.refactoring and make sure that they all pass.
  2. Make sure the tests in edu.illinois.codingspectator.monitor.tests pass.
  3. Run the tests in edu.illinois.codingspectator.ui.tests and ensure that all of them pass.

Obtaining the UDC feature

You need the right version of org.eclipse.epp.usagedata.feature in your workspace for building the update site. See issue #214 for more details.

Perform the following step to check out the UDC feature into your workspace.

  1. Add the CVS repository at :pserver:[email protected]:/cvsroot/technology to the "CVS Repositories" view of your Eclipse.
  2. Go to Versions/org.eclipse.epp. If you do not find anything there, right client on Versions/org.eclipse.epp and select Configure Branches and Versions.... Next, select the file features/org.eclipse.epp.usagedata.feature in the Browse files for tags: pane. As a result of your selection, a list of branches and tags should appear in the New tags found in the selected files: pane. Make sure that all of the items in the New tags found in the selected files: pane are selected. Then, click on the Add Checked Tags and OK buttons. Finally, check out the right version of org.eclipse.epp. For example, if you would like to release for Eclipse Helios, check out Versions/org.eclipse.epp/org.eclipse.epp HELIOS_R/features/org.eclipse.usagedata.feature/. And, if you would like to release for Eclipse Indigo, check out Versions/org.eclipse.epp/org.eclipse.epp INDIGO_R/features/org.eclipse.usagedata.feature/.

Update site

  1. Remove the following folders and files from edu.illinois.codingspectator.updatesite.

    • features/
    • plugins/
    • artifacts.jar
    • content.jar
  2. Open edu.illinois.codingspectator.updatesite/site.xml in Eclipse.

  3. Remove any feature listed in site.xml.

  4. Select the CodingSpectator category in the Site Map. Then, press the Add Feature... button and select edu.illinois.codingspectator (1.0.0.qualifier) from the popped up dialog.

  5. Press the button Build.

  6. Copy the key store file (CodingSpectatorKeyStore) into edu.illinois.codingspectator.updatesite/scripts/sign/. This file is needed to sign the JAR files of the update site.

  7. Run the script scripts/post-process-update-site.rb from the edu.illinois.codingspectator.updatesite folder and enter the password of the key store when the script prompts you for the password.

  8. Open the content.xml file in content.jar and verify the patchScope elements. The following elements should exist in the XML file. Note that the specific values of the range attributes depend on the release of Eclipse that the update site is going to support.

     <patchScope>
     <scope>
         <requires size="1">
             <required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.feature.group" range="[3.6.0,4.0.0)"/>
         </requires>
     </scope>
     </patchScope>
     <patchScope>
     <scope>
         <requires size="1">
             <required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.feature.group" range="[3.6.0,4.0.0)"/>
         </requires>
     </scope>
     </patchScope>
     <patchScope>
     <scope>
         <requires size="1">
             <required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.epp.usagedata.feature.feature.group" range="[1.3.0,2.0.0)"/>
         </requires>
     </scope>
     </patchScope>
    
  9. Use the command jarsigner -verify <jar-file> to make sure that the JAR files are signed.

Publish

  1. Install the new release of CodingSpectator from the local file system into fresh instances of Eclipse to make sure that it installs successfully.
  2. Check whether the update from an old version of CodingSpectator to the new one works.
  3. Copy the contents of the folder edu.illinois.codingspectator.updatesite except the scripts subfolder and hidden files into public_html/updates of the machine hosing the update site.
  4. Repeat the first two steps for the remote update site.

Change Log

Update the change log at the root of the repository by the changes made in the new release. We usually have an issue devoted to releasing a new version of CodingSpectator in which we keep track of the issues that are addressed in the new release. Use the release issue to update the change log. Then, close the release issue.

Tag

  1. Be careful not to delete any build.xml files. For some reason, the build script of the update site sometimes deletes some of the other build scripts.

  2. Commit the changes to the update site and change log. Use a commit message of the following form

     Released v<x>.<y>.<z>.<qualifier> for <eclipse-release>
    
     This commit belongs to issue #<release-issue>.
    

In the above message, <x>, <y>, <z> and <qualifier> are parts of the version of the generated feature, <eclipse-release> is the release of Eclipse that the generated update site is going to support, and, <release-issue> is the number of the issue devoted to this particular release of CodingSpectator.

  1. Push the commit to the remote repository.

  2. Tag the commit containing the new release using the following command.

     git tag v<x>.<y>.<z>.<qualifier>-<eclipse-release> <commit-sha>
    

Push the created tag to the remote repository using the following command.

    git push --tags
Clone this wiki locally