Steps to Release a new FreeTTS Version
======================================
Before you do anything, read this document:
https://sourceforge.net/docman/display_doc.php?docid=6445&group_id=1
Here are the steps to release a new version of FreeTTS:
0. Update versioning and date info:
./docs/index.html:
FreeTTS 1.2
./docs/index.html: FreeTTS 1.2
./build.xml:
./build.xml:
./com/sun/speech/freetts/FreeTTS.java:
private final static String VERSION = "FreeTTS 1.2, May, 2004";
1. RELEASE_NOTES
Make sure that the RELEASE_NOTES file contain all the latest change
notes.
2. Check in everything
Make sure that you have checked in all the changes by doing a
cvs -nq update
and that everything compiles by doing a
ant clean all javadoc
3. Check out a clean version of FreeTTS
Check out a clean CVS version of FreeTTS to make sure that the
tests results are not affected by other files in your FreeTTS
directory.
cvs -z3 -d:ext:developername@cvs.sourceforge.net:/cvsroot/freetts co FreeTTS
4. Run the regression tests on all platforms
Do the following to run the tests:
cd lib
chmod a+x jsapi.sh
./jsapi.sh
cd ..
ant
cd tests
chmod a+x regression.sh
./regression.sh
Make sure that all tests pass.
5. Run all Demos
Run each of the demos. Refer to the individual demo directories for
instructions.
As part of this, you also need to make sure the emacspeak-server
build works. To do this:
1) Run "ant freetts_only_tarball" to create
deploy/freetts-only-1.2.tar.gz.
2) Gunzip/untar freetts-only-1.2.tar.gz into
a separate directory. Cd to that dir.
3) Run "ant emacspeak-server" to create
emacspeak-server.jar. This is a standalone
jar file you can run for emacspeak and yasr.
It should build without problem or having to
build anything else.
4) Run java -jar emacspeak-server.jar
6. Build the release tarball
At the top level directory, type:
ant deploy
This will create the freetts candidates.
7. Test the tar ball
Testing the FreeTTS tarball before making a SourceForge release is
very important. Consider that several hundred people to several
thousand may download the tarball in a single day, making a mistake
will cause trouble for lots of people.
Test in the order that a typical new user would. This involves the
following steps:
o view release notes
o viewing index.html and programmer's guide
o unpacking jsapi
o running all demos from the jar files
o unpacking srcs and tests
o viewing docs (also run a link checker such as linklint)
o compiling all sources and tests
o running all tests (note that some tests don't run on NT, last I knew).
In addition, also check the following:
o No unreleased code has leaked out
o All the license and acknowlegment files are in place
When we release a tarball we want to ideally test it on the
following platforms:
o Solaris
o Linux
o Win (cyg-win?)
8. Tag the CVS tree
Now that you know all the code is fine, label the FreeTTS module
with the version number. (Note that you should replace '.' in the
version number with '-' since a CVS tag cannot contain a '.')
% cvs tag rel1_1_0 .
is a good way to label release 1.1.0.
9. Rebuild the tarball
ant deploy
This tarball will have the tags in it.
10. FTP the tarball to SourceForge
% rftp upload.sourceforge.net # login as 'anonymous', and type
# in your email as password
ftp> bin
ftp> cd incoming
ftp> put freetts-VERSION.tar.gz
11. Edit the packages page
Edit or add a release on this page:
https://sourceforge.net/project/admin/editpackages.php?group_id=42080
12. Update the FreeTTS.SourceForge.net web page
Go to the ./docs directory:
./create_php.sh
scp content to the project web space:
scp foo.tar \
wwalker@shell.sourceforge.net:/home/groups/f/fr/freetts/htdocs
ssh to sourceforge and unpack things:
ssh shell.sourceforge.net
cd /home/groups/f/fr/freetts/htdocs
13. Check to make sure freetts.sourceforge.net still works.
Also check to make sure the WebStartClock still works.