Project

General

Profile

1 3032 perry
<?xml version="1.0" encoding="UTF-8"?>
2
<!DOCTYPE section PUBLIC "-//OASIS//DTD Simplified DocBook XML V1.0//EN"
3
"http://www.oasis-open.org/docbook/xml/simple/1.0/sdocbook.dtd">
4
<section>
5
  <title>mapbuilder-lib release process</title>
6
7
  <para>This article describes the steps to follow when building a
8
  mapbuilder-lib release.</para>
9
10
  <variablelist>
11
    <varlistentry>
12
      <term>Install programs required for build</term>
13
14
      <listitem>
15
        <para>In order to build the documentation, you will need the following
16
        installed:</para>
17
18
        <orderedlist>
19
          <listitem>
20
            <para>xsltproc, install procedure at: <ulink
21
            url="http://www.sagehill.net/docbookxsl/InstallingAProcessor.html#InstallXsltproc">http://www.sagehill.net/docbookxsl/InstallingAProcessor.html#InstallXsltproc</ulink>.</para>
22
          </listitem>
23
24
          <listitem>
25
            <para>perl and the Template.PM perl module which is used by jsdoc.
26
            Refer to install instructions at: <ulink
27
            url="http://jsdoc.sourceforge.net/#install">http://jsdoc.sourceforge.net/#install</ulink>.</para>
28
          </listitem>
29
        </orderedlist>
30
      </listitem>
31
    </varlistentry>
32
33
    <varlistentry>
34
      <term>Notify developers that you are about to make a release</term>
35
36
      <listitem>
37
        <para>At least 24 hours before building a release, send an email to
38
        the mapbuilder-lib developers notifying them you are about to cut a
39
        release. This should allow them to ensure their fixes are in the code
40
        base.</para>
41
      </listitem>
42
    </varlistentry>
43
44
    <varlistentry>
45
      <term>Check all code back into CVS</term>
46
47
      <listitem>
48
        <para>If you have not done so already, check all the code you have
49
        been editing into CVS.</para>
50
51
        <programlisting>cvs commit -m"Fixed xxx bugs" &lt;filenames&gt;</programlisting>
52
      </listitem>
53
    </varlistentry>
54
55
    <varlistentry>
56
      <term>Update the CHANGES file</term>
57
58
      <listitem>
59
        <para>Update and commit CHANGES file with updates between the last
60
        release and this one. These files should be in the base
61
        directory.</para>
62
63
        <para>Each update should contain:</para>
64
65
        <itemizedlist>
66
          <listitem>
67
            <para>Release name.</para>
68
          </listitem>
69
70
          <listitem>
71
            <para>Status - alpha, beta, stable</para>
72
          </listitem>
73
74
          <listitem>
75
            <para>Description of changes.</para>
76
          </listitem>
77
78
          <listitem>
79
            <para>List of problems fixed since last build:</para>
80
81
            <itemizedlist>
82
              <listitem>
83
                <para>Select Bugs on sourceforge site: <ulink
84
                url="https://sourceforge.net/tracker/?group_id=35246&amp;atid=413775">https://sourceforge.net/tracker/?group_id=35246&amp;atid=413775</ulink></para>
85
              </listitem>
86
87
              <listitem>
88
                <para>Select Status=Closed, Group=[last release], Sort
89
                By=Priority</para>
90
              </listitem>
91
            </itemizedlist>
92
          </listitem>
93
94
          <listitem>
95
            <para>List of known outstanding problems.</para>
96
97
            <itemizedlist>
98
              <listitem>
99
                <para>Select Bugs on sourceforge site: <ulink
100
                url="https://sourceforge.net/tracker/?group_id=35246&amp;atid=413775">https://sourceforge.net/tracker/?group_id=35246&amp;atid=413775</ulink></para>
101
              </listitem>
102
103
              <listitem>
104
                <para>Select Status=Open, Group=[last release]</para>
105
              </listitem>
106
            </itemizedlist>
107
          </listitem>
108
109
          <listitem>
110
            <para>Commit CHANGES back into CVS.</para>
111
          </listitem>
112
        </itemizedlist>
113
      </listitem>
114
    </varlistentry>
115
116
    <varlistentry>
117
      <term>Get latest updates from CVS</term>
118
119
      <listitem>
120
        <para>Ensure you have the latest files from CVS.</para>
121
122
        <programlisting>cd mapbuilder/
123
cvs update -d .</programlisting>
124
      </listitem>
125
    </varlistentry>
126
127
    <varlistentry>
128
      <term>Tag the release</term>
129
130
      <listitem>
131
        <para>Tag the files that should be in the release. (Usually, not all
132
        files in CVS are included in a release).</para>
133
134
        <para>The &lt;tag&gt; should be of the form:
135
        <literal>mapbuilder-lib-[number]-[status]</literal></para>
136
137
        <para>For example:</para>
138
139
        <itemizedlist>
140
          <listitem>
141
            <para>mapbuilder-lib-0_1</para>
142
          </listitem>
143
144
          <listitem>
145
            <para>mapbuilder-lib-0_1-rc3</para>
146
          </listitem>
147
148
          <listitem>
149
            <para>mapbuilder-lib-0_2-alpha</para>
150
          </listitem>
151
        </itemizedlist>
152
153
        <programlisting>cd mapbuilder/
154
cvs tag &lt;tag&gt; bin CHANGES demo design docs LGPL index.html lib LICENSE metrics README server</programlisting>
155
      </listitem>
156
    </varlistentry>
157
158
    <varlistentry>
159
      <term>Create a temporary directory</term>
160
161
      <listitem>
162
        <programlisting>mkdir ~/tmp
163
</programlisting>
164
      </listitem>
165
    </varlistentry>
166
167
    <varlistentry>
168
      <term>Export the release</term>
169
170
      <listitem>
171
        <para>Exporting code from CVS is the same as checking it out, except
172
        that the CVS/ directories are not checked out as well.</para>
173
174
        <programlisting>cd ~/tmp
175
export CVS_RSH=ssh
176
export CVSROOT=:ext:camerons@cvs.sourceforge.net:/cvsroot/mapbuilder
177
cvs export -r &lt;tag&gt; mapbuilder</programlisting>
178
      </listitem>
179
    </varlistentry>
180
181
    <varlistentry>
182
      <term>Build the distribution</term>
183
184
      <listitem>
185
        <programlisting>cd ~/tmp/mapbuilder/bin
186
ant dist
187
</programlisting>
188
      </listitem>
189
    </varlistentry>
190
191
    <varlistentry>
192
      <term>Check WAR file</term>
193
194
      <listitem>
195
        <programlisting>$CATALINA_HOME/bin/shutdown.sh
196
cp ~/tmp/dist/mapbuilder-lib-[version]-war.zip $CATALINA_HOME/webapps
197
unzip mapbuilder-lib-[version]-war.zip
198
$CATALINA_HOME/bin/startup.sh</programlisting>
199
200
        <para>In a broswer, view all the demos at <ulink
201
        url="http://localhost:8080/mapbuilder/demo">http://localhost:8080/mapbuilder/demo</ulink></para>
202
      </listitem>
203
    </varlistentry>
204
205
    <varlistentry>
206
      <term>Ftp release file Sourceforge</term>
207
208
      <listitem>
209
        <para>Refer to the Sourceforge <ulink
210
        url="http://sourceforge.net/docman/display_doc.php?docid=6445&amp;group_id=1#frsinterface">File
211
        Release System</ulink> for more information.</para>
212
213
        <itemizedlist>
214
          <listitem>
215
            <para>ftp to upload.sourceforge.net</para>
216
          </listitem>
217
218
          <listitem>
219
            <para>login as "anonymous"</para>
220
          </listitem>
221
222
          <listitem>
223
            <para>use email address as password</para>
224
          </listitem>
225
226
          <listitem>
227
            <para>set ftp client to binary mode</para>
228
          </listitem>
229
230
          <listitem>
231
            <para>cd /incoming (on the server)</para>
232
          </listitem>
233
234
          <listitem>
235
            <para>upload release file(s)</para>
236
          </listitem>
237
        </itemizedlist>
238
      </listitem>
239
    </varlistentry>
240
241
    <varlistentry>
242
      <term>Move to mapbuilder release directory</term>
243
244
      <listitem>
245
        <itemizedlist>
246
          <listitem>
247
            <para>From the <ulink
248
            url="http://sourceforge.net/projects/generguide">https://sourceforge.net/projects/mapbuilder</ulink>,
249
            select <literal>Admin</literal>, <literal>File Releases</literal>,
250
            <literal>Add Release (for mapbuilder-lib)</literal>.</para>
251
          </listitem>
252
253
          <listitem>
254
            <para>Walk through the various forms. For description of changes,
255
            use the text from the CHANGES file.</para>
256
257
            <variablelist>
258
              <varlistentry>
259
                <term>Select release name</term>
260
261
                <listitem>
262
                  <para>Something like: mapbuilder-lib-0.2-alpha . Note that
263
                  underscores have been replaced with full stops.</para>
264
                </listitem>
265
              </varlistentry>
266
267
              <varlistentry>
268
                <term>Step 1</term>
269
270
                <listitem>
271
                  <para>Notes comes from the description of release and
272
                  Outstanding Bugs in the mapbuilder/CHANGES file.</para>
273
274
                  <para>Changes comes from the Bugs Fixed in
275
                  mapbuilder/CHANGES file.</para>
276
                </listitem>
277
              </varlistentry>
278
279
              <varlistentry>
280
                <term>Step 2</term>
281
282
                <listitem>
283
                  <para></para>
284
                </listitem>
285
              </varlistentry>
286
287
              <varlistentry>
288
                <term>Step 3</term>
289
290
                <listitem>
291
                  <para>Processor=Any, File Type=.zip</para>
292
                </listitem>
293
              </varlistentry>
294
295
              <varlistentry>
296
                <term>Step 4</term>
297
298
                <listitem>
299
                  <para></para>
300
                </listitem>
301
              </varlistentry>
302
            </variablelist>
303
          </listitem>
304
        </itemizedlist>
305
      </listitem>
306
    </varlistentry>
307
308
    <varlistentry>
309
      <term>Download and test</term>
310
311
      <listitem>
312
        <para>Download the release from sourceforge, uncompress it, and check
313
        it.</para>
314
      </listitem>
315
    </varlistentry>
316
317
    <varlistentry>
318
      <term>Copy to Sourceforge demo directory</term>
319
320
      <listitem>
321
        <programlisting>scp ~/tmp/mapbuilder/dist/mapbuilder-lib-[version].zip \
322
  username@mapbuilder.sf.net
323
ssh -l username mapbuilder.sf.net
324
unzip mapbuilder-lib-[version].zip
325
mv mapbuilder /home/groups/m/ma/mapbuilder/htdocs/mapbuilder-lib-[version]
326
cd /home/groups/m/ma/mapbuilder/htdocs
327
rm mapbuilder
328
ln -s mapbuilder-lib-[version] mapbuilder</programlisting>
329
      </listitem>
330
    </varlistentry>
331
332
    <varlistentry>
333
      <term>Update links on the mapbuilder demo's webpage</term>
334
335
      <listitem>
336
        <para>Edit links on <ulink
337
        url="http://mapbuilder.sourceforge.net/?q=taxonomy/term/5">http://mapbuilder.sourceforge.net/?q=taxonomy/term/5</ulink></para>
338
      </listitem>
339
    </varlistentry>
340
341
    <varlistentry>
342
      <term>Install release on the Demonstration server</term>
343
344
      <listitem>
345
        <programlisting>scp ~/tmp/mapbuilder/dist/mapbuilder-lib-0.3.1-alpha-war.zip bikemap.openearth.com.au:
346
ssh bikemap.openearth.com.au
347
unzip mapbuilder-lib-0.3.1-alpha-war.zip
348
mv mapbuilder.war $CATALINA_HOME/webapps/mapbuilder-lib-0.3.1-alpha.war</programlisting>
349
      </listitem>
350
    </varlistentry>
351
352
    <varlistentry>
353
      <term>Email release message</term>
354
355
      <listitem>
356
        <para>Send an email notification to
357
        mapbuilder-announce@lists.sourceforge.net with text from the CHANGES
358
        file.</para>
359
      </listitem>
360
    </varlistentry>
361
362
    <varlistentry>
363
      <term>Create a new group in in the Sourceforge bug list</term>
364
365
      <listitem>
366
        <para>Note: This step requires Administrator prividges on the
367
        Sourceforge Mapbuilder project.</para>
368
369
        <para>Select Bugs-&gt;Admin-&gt;Bugs-&gt;Add/Update Group</para>
370
      </listitem>
371
    </varlistentry>
372
373
    <varlistentry>
374
      <term>Select all the Open bugs</term>
375
376
      <listitem>
377
        <para>Select Bugs, then</para>
378
379
        <para>Assignee=Any</para>
380
381
        <para>Status=Open</para>
382
383
        <para>Catagory=mapbuilder-lib</para>
384
385
        <para>Group=Any</para>
386
387
        <para>Then press the Browse button.</para>
388
      </listitem>
389
    </varlistentry>
390
391
    <varlistentry>
392
      <term>Set all Open bugs to the new release group</term>
393
394
      <listitem>
395
        <para>Down the bottom of the bug list, select "Check All" to select
396
        all Open bugs.</para>
397
398
        <para>Select Group=The new release group.</para>
399
400
        <para>Select "Mass Update"</para>
401
      </listitem>
402
    </varlistentry>
403
  </variablelist>
404
</section>