Deploying
=========

--- 0) Keep track of the changes between release in the Changes Log
in trunk/deployment/shared/changes.html


--- 1) Make sure all unit tests pass

Do a full rebuild of the Maven build:
mvn clean install from trunk


--- 2) Make sure platform-specific dependencies are downloaded:
from trunk/okapi-ui/swt/core-ui run
mvn -PWIN_SWT -PWIN_64_SWT -PCOCOA_SWT -PCOCOA_64_SWT -PLinux_x86_swt -PLinux_x86_64_swt dependency:resolve


--- 3) Make sure the following files have the proper version and release numbers for this release:

-- All the POM.XML files
For example from M10-SNAPSHOT to M10:
- go to /trunk
- search is the are any existing <version>0.10</version>. If there are you'll need to remmember them and change them back manually when moving to M11-SNAPSHOT.
- search all pom for <version>0.10-SNAPSHOT</version> and replace by <version>0.10</version>

- trunk/deployment/shared/release.properties

- The Change Log has its titles set with the proper versions

--- 4) Make also sure the readme files are up-to-date:

- trunk/deployment/maven/data/okapi-lib/readme.html
- trunk/deployment/maven/data/okapi-apps/readme.html


--- 5) Rebuild all

/trunk> mvn clean install
/trunk/deployment/maven> ant
/trunk/applications/integration-tests> mvn integration-test -Dmaven.test.skip=true

This will re-compile, tests, and create the packages.
Then rebuild all distributions for all platforms.
Then run the integration tests for the applications
(The skip option is because you don't need to re-run the unit tests)

NOTE: If you are not using the default local maven repository you will need to update the mavenStore property in build_okapi_apps.xml

--- 6) If you have trunk/deployment/privateTests
Go there and run the tests with non-sharable material

--- 6bis) Test under different platforms

--- 7) Post each package of the distributions (stored in maven/done) to the GoogleCode download area.
Use the labels: OpSys-... and Featured
Use the following summary, in this order (one by one to ensure the order!):

Okapi Libraries for all platforms
Okapi Longhorn for all platforms
Okapi Plugin for OmegaT for all platforms
Okapi Applications for Macintosh Cocoa 64-bit (Includes Libraries)
Okapi Applications for Macintosh Cocoa (Includes Libraries)
Okapi Applications for Linux 64-bit (Includes Libraries)
Okapi Applications for Linux (Includes Libraries)
Okapi Applications for Windows 64-bit (Includes Libraries)
Okapi Applications for Windows (Includes Libraries)

Make sure the previous featured downloads are set to Deprecated


--- 8) Make sure all files of the Web site are modified if needed (trunk/website).
e.g. the update.html file needs the latest version info
Build the Web site: 
/trunk/deployment/website> ant
And update the actual Web site with the result of the build (which is in: trunk/deployment/website/dist) 

Host: ftp.opentag.com
Username: same as for the shared documents
Password: same as for the shared documents
Start directory: okapi

The structure in the okapi directory is the same as in trunk/website


--- 8.bis) Update the Main Page in the OkapiWiki
http://www.opentag.com/okapi/wiki/index.php?title=Main_Page


--- 9) Commit all changed files
This revision is the one for this release.


--- 10) Update the versions numbers in the files for the next version
- All the POM.XML files
- trunk/deployment/shared/release.properties
- trunk/deployment/shared/changes.html (make the Changes Log ready for next set of changes)
- Rebuild all. Make sure tests pass.
- Commit all changed files.
Now any new build will be a snapshot of the next release


--- 11) Post notification that a new release is available.
At least here: http://tech.groups.yahoo.com/group/okapitools/


-end-
