1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214
|
====================
shUnit2 2.1.x README
====================
code.google.com
===============
This project is stored on code.google.com as http://code.google.com/p/shunit2/.
All releases as of 2.1.4 and full source are available there. Documentation is
included as part of the source and each release. Source code is stored in
Subversion and can be accessed using the following information.
Browse the code in a web browser:
- http://code.google.com/p/shunit2/source/browse
- svn > trunk > source > 2.1
Check out the code locally ::
$ svn checkout http://shunit2.googlecode.com/svn/trunk/ shflags-read-only
SourceForge
===========
DEPRECATED
This project is stored on SourceForge as http://sf.net/projects/shunit2. The
source code is stored in Subversion and can be accessed using the following
information.
Check out the code locally ::
$ svn co https://shunit2.svn.sourceforge.net/svnroot/shunit2/trunk/source/2.1 shunit2
Browse the code in a web browser:
- http://shunit2.svn.sourceforge.net/viewvc/shunit2/trunk/source/2.1/
- http://shunit2.svn.sourceforge.net/svnroot/shunit2/trunk/source/2.1/
Making a release
================
For these steps, it is assumed we are working with release 2.0.0.
Steps:
- write release notes
- update version
- finish changelog
- check all the code in
- tag the release
- export the release
- create tarball
- md5sum the tarball and sign with gpg
- update website
- post to SourceForge and Freshmeat
Write Release Notes
-------------------
This should be pretty self explanatory. Use one of the release notes from a
previous release as an example.
The versions of the various platforms and shells are included when the
master unit test script is run, or when ``bin/gen_test_results.sh`` is
used. To determine the versions of the installed shells by hand, use the
``lib/versions`` script.
Alternatively, do the following:
+-------+---------+-----------------------------------------------------------+
| Shell | OS | Notes |
+=======+=========+===========================================================+
| bash | | ``$ bash --version`` |
+-------+---------+-----------------------------------------------------------+
| dash | Linux | ``$ dpkg -l |grep dash`` |
+-------+---------+-----------------------------------------------------------+
| ksh | | ``$ ksh --version`` |
| | | -or- |
| | | ``$ echo 'echo $KSH_VERSION' |ksh`` |
| +---------+-----------------------------------------------------------+
| | Cygwin | see pdksh |
| +---------+-----------------------------------------------------------+
| | Solaris | ``$ strings /usr/bin/ksh |grep 'Version'`` |
+-------+---------+-----------------------------------------------------------+
| pdksh | | ``$ strings /bin/pdksh |grep 'PD KSH'`` |
| +---------+-----------------------------------------------------------+
| | Cygwin | look in the downloaded Cygwin directory |
+-------+---------+-----------------------------------------------------------+
| sh | Solaris | not possible |
+-------+---------+-----------------------------------------------------------+
| zsh | | ``$ zsh --version`` |
+-------+---------+-----------------------------------------------------------+
Update Version
--------------
Edit ``src/shell/shunit2`` and change the version number in the comment, as well
as in the ``SHUNIT_VERSION`` variable.
Finish Documentation
--------------------
Make sure that any remaining changes get put into the ``CHANGES-X.X.txt`` file.
Finish writing the ``RELEASE_NOTES-X.X.X.txt``. If necessary, run it
through the **fmt** command to make it pretty (hopefully it is already). ::
$ fmt -w 80 RELEASE_NOTES-2.0.0.txt >RELEASE_NOTES-2.0.0.txt.new
$ mv RELEASE_NOTES-2.0.0.txt.new RELEASE_NOTES-2.0.0.txt
We want to have an up-to-date version of the documentation in the release, so
we'd better build it. ::
$ pwd
.../shunit2/source/2.1
$ cd doc
$ RST2HTML_OPTS='--stylesheet-path=rst2html.css'
$ rst2html ${RST2HTML_OPTS} shunit2.txt >shunit2.html
$ rst2html ${RST2HTML_OPTS} README.txt >README.html
Check In All the Code
---------------------
This step is pretty self-explanatory ::
$ pwd
.../shunit2/source/2.0
$ svn ci -m "finalizing release"
Tag the Release
---------------
::
$ pwd
.../shunit2/source
$ ls
2.0 2.1
$ svn cp -m "Release 2.0.0" 2.0 https://shunit2.googlecode.com/svn/tags/source/2.0.0
Export the Release
------------------
::
$ pwd
.../shunit2/builds
$ svn export https://shunit2.googlecode.com/svn/tags/source/2.0.0 shunit2-2.0.0
Create Tarball
--------------
::
$ tar cfz ../releases/shunit2-2.0.0.tgz shunit2-2.0.0
Sign the Tarball with gpg
-------------------------
::
$ cd ../releases
$ gpg --default-key kate.ward@forestent.com --detach-sign shunit2-2.0.0.tgz
Update Website
--------------
Again, pretty self-explanatory. Make sure to copy the GPG signature file. Once
that is done, make sure to tag the website so we can go back in time if needed.
::
$ pwd
.../shunit2
$ ls
source website
$ svn cp -m "Release 2.0.0" \
website https://shunit2.googlecode.com/svn/tags/website/20060916
Now, update the website. It too is held in Subversion, so **ssh** into the web
server and use ``svn up`` to grab the latest version.
Post to code.google.com and Freshmeat
-------------------------------------
- http://code.google.com/p/shunit2/
- http://freshmeat.net/
Related Documentation
=====================
Docbook:
http://www.docbook.org/
Docbook XML
docbook-xml-4.4.zip:
http://www.docbook.org/xml/4.4/docbook-xml-4.4.zip
http://www.oasis-open.org/docbook/xml/4.4/docbook-xml-4.4.zip
docbook-xml-4.5.zip:
http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip
Docbook XSL
docbook-xsl-1.71.0.tar.bz2:
http://prdownloads.sourceforge.net/docbook/docbook-xsl-1.71.0.tar.bz2?download
docbook-xsl-1.71.1.tar.bz2:
http://downloads.sourceforge.net/docbook/docbook-xsl-1.71.1.tar.bz2?use_mirror=puzzle
JUnit:
http://www.junit.org/
reStructuredText:
http://docutils.sourceforge.net/docs/user/rst/quickstart.html
.. generate HTML using rst2html from Docutils of
.. http://docutils.sourceforge.net/
..
.. vim:fileencoding=latin1:ft=rst:spell:tw=80
.. $Revision: 310 $
|