Import Debian changes 1.2.2-5.1
[debian/freetts] / docs / release_checklist.txt
1 Steps to Release a new FreeTTS Version
2 ======================================
3
4 Before you do anything, read this document:
5
6    https://sourceforge.net/docman/display_doc.php?docid=6445&group_id=1
7
8 Here are the steps to release a new version of FreeTTS:
9
10 0. Update versioning and date info:
11
12    ./docs/index.html: <title>FreeTTS 1.2
13    ./docs/index.html: <h2><i>FreeTTS 1.2</i>
14    ./build.xml:    <property name="version"          value="1.2"/>
15    ./build.xml:    <property name="javadoc_desc"     value="FreeTTS 1.2"/>
16    ./com/sun/speech/freetts/FreeTTS.java:    
17          private final static String VERSION = "FreeTTS 1.2, May, 2004";
18
19 1. RELEASE_NOTES
20
21    Make sure that the RELEASE_NOTES file contain all the latest change
22    notes.
23
24 2. Check in everything
25
26    Make sure that you have checked in all the changes by doing a
27    
28        cvs -nq update
29
30    and that everything compiles by doing a
31
32        ant clean all javadoc
33
34 3. Check out a clean version of FreeTTS
35
36    Check out a clean CVS version of FreeTTS to make sure that the
37    tests results are not affected by other files in your FreeTTS
38    directory.
39
40    cvs -z3 -d:ext:developername@cvs.sourceforge.net:/cvsroot/freetts co FreeTTS
41
42 4. Run the regression tests on all platforms
43
44    Do the following to run the tests:
45
46      cd lib
47      chmod a+x jsapi.sh
48      ./jsapi.sh
49      cd ..
50      ant
51      cd tests
52      chmod a+x regression.sh
53      ./regression.sh
54
55    Make sure that all tests pass.
56
57 5. Run all Demos
58
59    Run each of the demos. Refer to the individual demo directories for
60    instructions.
61
62    As part of this, you also need to make sure the emacspeak-server 
63    build works.  To do this:
64
65    1) Run "ant freetts_only_tarball" to create
66       deploy/freetts-only-1.2.tar.gz.
67
68    2) Gunzip/untar freetts-only-1.2.tar.gz into
69       a separate directory.  Cd to that dir.
70
71    3) Run "ant emacspeak-server" to create
72       emacspeak-server.jar.  This is a standalone
73       jar file you can run for emacspeak and yasr.
74       It should build without problem or having to
75       build anything else.  
76
77    4) Run java -jar emacspeak-server.jar
78
79 6. Build the release tarball
80
81    At the top level directory, type:
82    
83        ant deploy
84
85    This will create the freetts candidates.
86
87 7. Test the tar ball
88
89    Testing the FreeTTS tarball before making a SourceForge release is
90    very important. Consider that several hundred people to several
91    thousand may download the tarball in a single day, making a mistake
92    will cause trouble for lots of people.
93
94    Test in the order that a typical new user would. This involves the
95    following steps:
96
97      o view release notes
98      o viewing index.html and programmer's guide
99      o unpacking jsapi
100      o running all demos from the jar files
101      o unpacking srcs and tests
102      o viewing docs (also run a link checker such as linklint)
103      o compiling all sources and tests
104      o running all tests (note that some tests don't run on NT, last I knew).
105
106    In addition, also check the following:
107
108      o No unreleased code has leaked out
109      o All the license and acknowlegment files are in place
110
111    When we release a tarball we want to ideally test it on the
112    following platforms:
113  
114      o Solaris
115      o Linux
116      o Win (cyg-win?)
117
118 8. Tag the CVS tree
119
120    Now that you know all the code is fine, label the FreeTTS module
121    with the version number. (Note that you should replace '.' in the
122    version number with '-' since a CVS tag cannot contain a '.')
123
124        % cvs tag rel1_1_0 . 
125  
126    is a good way to label release 1.1.0.
127
128 9. Rebuild the tarball
129
130        ant deploy
131
132    This tarball will have the tags in it.
133
134 10. FTP the tarball to SourceForge
135
136         % rftp upload.sourceforge.net   # login as 'anonymous', and type 
137                                         # in your email as password
138         ftp> bin
139         ftp> cd incoming
140         ftp> put freetts-VERSION.tar.gz
141
142     
143 11. Edit the packages page
144
145     Edit or add a release on this page:
146
147         https://sourceforge.net/project/admin/editpackages.php?group_id=42080
148
149 12. Update the FreeTTS.SourceForge.net web page
150
151     Go to the ./docs directory:
152     
153         ./create_php.sh
154
155     scp content to the project web space:
156
157         scp foo.tar \
158             wwalker@shell.sourceforge.net:/home/groups/f/fr/freetts/htdocs
159
160     ssh to sourceforge and unpack things:
161
162         ssh shell.sourceforge.net
163         cd /home/groups/f/fr/freetts/htdocs
164
165 13. Check to make sure freetts.sourceforge.net still works.
166     Also check to make sure the WebStartClock still works.