Project

General

Profile

1
<?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>
(5-5/5)