|
| 1 | +# AIMA3e-Java aima-all |
| 2 | +This project is used solely for creating combined releases of all of the AIMA3e projects. |
| 3 | + |
| 4 | +## CHECK LIST FOR CREATING A AIMA3e-JAVA RELEASE |
| 5 | + |
| 6 | +### Create the Release |
| 7 | +* Checkout the latest version of all the projects into a clean workspace. |
| 8 | +* Ensure the revisions # in the build.properties files of each project are updated. |
| 9 | +* Ensure the revision #s in the pom.xml file in aima-core is set to match the one in |
| 10 | + build.properties. |
| 11 | +* Ensure the README.txt file in each project is updated to reflect the release (i.e. |
| 12 | + update the 'Current Release' section at a minimum). |
| 13 | +* Commit changes to SVN server for each project updated. |
| 14 | +* run the aima-all.release ant task from the aima-all project. |
| 15 | + |
| 16 | +### Update the JavaDoc |
| 17 | +* Upload the latest version of the aima-core Javadoc:<br> |
| 18 | + This can be done by running the aima-core.makedocs ant task and replacing |
| 19 | + the current generated docs in the `gh-pages` branch:<br> |
| 20 | + `aima3e/javadoc/aima-core` |
| 21 | +* push the changes to the `gh-pages` branch. |
| 22 | + |
| 23 | +### Update the Java Web Start Applications |
| 24 | + |
| 25 | +* Copy the .jar files generated by the aima-all.release ant task from:<br> |
| 26 | + `aima-all/build/release/release` <br> |
| 27 | + to the `gh-pages` branch:<br> |
| 28 | + `aima3e/jars` |
| 29 | +* push the changes to the `gh-pages` branch. |
| 30 | + |
| 31 | +* Create a keystore which will be used to sign the copied jars, e.g.: |
| 32 | +``` |
| 33 | + > keytool -genkey -keystore c:/temp/aima3e.keystore -alias aima3e |
| 34 | + |
| 35 | + > Enter keystore password: <Enter an appropriate password> |
| 36 | + > Re-enter new password: <Same password> |
| 37 | + > What is your first and last name? |
| 38 | + [Unknown]: <Your Name> |
| 39 | + > What is the name of your organizational unit? |
| 40 | + [Unknown]: AIMA-Java Open Source Project |
| 41 | + > What is the name of your organization? |
| 42 | + [Unknown]: AIMA-Java Open Source Project |
| 43 | + > What is the name of your City or Locality? |
| 44 | + [Unknown]: Mountain View |
| 45 | + > What is the name of your State or Province? |
| 46 | + [Unknown]: California |
| 47 | + > What is the two-letter country code for this unit? |
| 48 | + [Unknown]: US |
| 49 | + > ... |
| 50 | + [no]: yes |
| 51 | +``` |
| 52 | + * Sign each jar individually, e.g.: |
| 53 | +``` |
| 54 | + > jarsigner -keystore c:/temp/aima3e.keystore aima-core.jar aima3e |
| 55 | + > jarsigner -keystore c:/temp/aima3e.keystore aima-gui.jar aima3e |
| 56 | + > jarsigner -keystore c:/temp/aima3e.keystore aimax-osm.jar aima3e |
| 57 | + > jarsigner -keystore c:/temp/aima3e.keystore commons-compress-1.1.jar aima3e |
| 58 | +``` |
| 59 | +* push the changes to the `gh-pages` branch. |
| 60 | + |
| 61 | +### Publish the Release to the Maven Central Repository |
| 62 | +#### Relevant Background: |
| 63 | +* [Deploying via Nexus Guide](http://central.sonatype.org/pages/ossrh-guide.html) |
| 64 | +* [The Sonatype/Nexus Open Source Respository](https://oss.sonatype.org/) |
| 65 | +* [The Complete Maven Reference](http://www.sonatype.com/books/mvnref-book/reference/public-book.html) |
| 66 | +* [The Maven Central Repository](http://search.maven.org/) |
| 67 | +* [Maven Home](http://maven.apache.org/) |
| 68 | + |
| 69 | +#### Publish to Maven Central |
| 70 | +* Run this command in the aima-core project (currently only releasing this on Maven):<br> |
| 71 | + `mvn -P sonatype-oss-release deploy` |
| 72 | +* Close and Release. [Follow Releasing to Central from](http://central.sonatype.org/pages/ossrh-guide.html) |
| 73 | + |
| 74 | +## Publish the Release to the AIMA Website |
| 75 | +* Upload the .zip file from aima-all/build/release to the project's releases page. Delete the previous release. |
| 76 | +* Update the AIMA3e `README.md` to indicate the latest revision # (ensure Maven info also updated). |
| 77 | +* Update the `AIMA3e Overview` wiki page with the latest release information. |
| 78 | +* Send an email to team members letting them know the release has gone out the door. |
0 commit comments