mirror of https://gitee.com/openkylin/batik.git
181 lines
6.4 KiB
Plaintext
181 lines
6.4 KiB
Plaintext
|
|
Project Maintenance Howto
|
|
-------------------------
|
|
|
|
This document introduces newcomers to the management and maintenance of
|
|
the Batik project hosted under xmlgraphics.apache.org
|
|
(http://xmlgraphics.apache.org/batik/).
|
|
|
|
Each project is required to use Ant as build tool and to be coherent with the
|
|
rest of the build systems of the other projects, so that nightly builds and
|
|
distribution creation can be done automatically without per-project scripts.
|
|
|
|
This implies it is *very* important that property names are not changed
|
|
but kept consistent with the other projects.
|
|
|
|
Distribution Creation
|
|
---------------------
|
|
|
|
For creating a distribution the following steps must be done:
|
|
|
|
1) Modify build.xml with the distribution version. Only modify the version
|
|
for main releases (e.g. version value="1.1") but not for release
|
|
candidates or beta versions where only the revision type and
|
|
number should be updated (e.g. revisionType value="beta" and
|
|
revisionNumber value="3")
|
|
|
|
2) Add your public key to the KEYS file in the root directory of
|
|
Batik if it isn't already there. The following link has the
|
|
details on what this means and how to do it.
|
|
|
|
http://wiki.apache.org/old/SigningReleases
|
|
|
|
3) Commit these changes to SVN, in general only the following files
|
|
should be modified:
|
|
|
|
build.xml
|
|
KEYS
|
|
|
|
4) Tag the release on SVN:
|
|
|
|
svn copy https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk \
|
|
https://svn.apache.org/repos/asf/xmlgraphics/batik/tags/<tag>
|
|
|
|
where <tag> is the version name, e.g. "batik-1_1rc3".
|
|
|
|
Note: sometimes, it is necessary to remove a tag because the
|
|
tests failed and a fix was required. To remove a tag, use
|
|
the delete command:
|
|
|
|
svn delete https://svn.apache.org/repos/asf/xmlgraphics/batik/tags/<tag>
|
|
|
|
5) Check out the tagged release to a new directory:
|
|
|
|
svn co https://svn.apache.org/repos/asf/xmlgraphics/batik/tags/<tag>
|
|
|
|
6) Run the build script with target "dist-zip":
|
|
|
|
build dist-zip
|
|
|
|
This will create the binary release zip, the source release zip and the
|
|
javadoc zip.
|
|
|
|
7) Test the distributions
|
|
|
|
build regard
|
|
build regard.manual
|
|
|
|
The build results are in the test-reports directory. Check that there
|
|
are no show-stoppers for the release. If there are fixes required,
|
|
you need to remove the tag (as explained in step 2) and then fix
|
|
any problem that requires attention. Then, you need to start at
|
|
step 1) again.
|
|
|
|
Note that you will need to have a copy of the W3C SVG
|
|
working group test suite in the 'beSuite' directory and
|
|
have that directory under the same root as xml-batik. See
|
|
http://www.w3.org/Graphics/SVG for instructions on how to get
|
|
the SVG test suite.
|
|
|
|
8) Update the README and CHANGES files describing the content of the
|
|
release and the modifications which have taken place,
|
|
http://www.apache.org/dist/xmlgraphics/batik/README. This file has a
|
|
small header followed by the contents of the CHANGES file from the
|
|
distribution.
|
|
|
|
9) If you are creating a release candidate, rename the distribution files
|
|
to an rc name. For example:
|
|
|
|
mv batik-src-1.1.zip batik-src-1.1rc1.zip
|
|
|
|
10) Sign and create md5 hashes for the releases. The following link
|
|
has full details on how to sign things (if you don't want to know
|
|
anything the last section 'Using GPG' tells you what commands work).
|
|
|
|
http://wiki.apache.org/old/SigningReleases
|
|
|
|
For example:
|
|
|
|
gpg --detach-sig --armor --output batik-1.5.zip.asc batik-1.5.zip
|
|
md5 batik-1.5.zip > batik-1.5.zip.md5
|
|
|
|
11) Use 'scp' to copy the distributions (with md5 hashes, and signature
|
|
files), the README, and the KEYS file under
|
|
|
|
/www/www.apache.org/dist/xmlgraphics/batik/
|
|
|
|
For example:
|
|
|
|
scp batik-1.1rc1.zip* vhardy@people.apache.org:/www/www.apache.org/dist/xml/batik/
|
|
|
|
12) Finish setting up the distribution directory in accordance with:
|
|
|
|
http://www.apache.org/dev/mirrors.html
|
|
http://people.apache.org/~bodewig/mirror.html
|
|
|
|
This makes sure that the distribution is mirrored nicely around
|
|
the world.
|
|
|
|
Start by logging into svn.apache.org (e.g. 'ssh vhardy@svn.apache.org').
|
|
|
|
First make sure file permissions are correct. The
|
|
new files should be owned by group 'xmlgraphics' and be group writable.
|
|
The following commands can do this (don't worry about links):
|
|
|
|
chgrp xmlgraphics batik-1.5.zip
|
|
chmod 664 batik-1.5.zip
|
|
|
|
If you are making a 'final' release you should delete the existing
|
|
'current' links and re-point them at the new release (do this
|
|
for every file with a version number in it - including md5, and
|
|
asc files):
|
|
|
|
cd /www/www.apache.org/dist/xmlgraphics/batik
|
|
rm batik-current.zip
|
|
ln -s batik-1.5.zip batik-current.zip
|
|
rm batik-current.zip.md5
|
|
ln -s batik-1.5.zip.md5 batik-current.zip.md5
|
|
rm batik-current.zip.asc
|
|
ln -s batik-1.5.zip.asc batik-current.zip.asc
|
|
<- lots more files ->
|
|
|
|
Finally remove the old releases (every release is automatically copied
|
|
to 'archive.apache.org/dist/xmlgraphics/batik' from
|
|
'www.apache.org/dist/xmlgraphics/batik' so you can just remove an old
|
|
release from www.apache.org):
|
|
|
|
rm batik-1.5b4.zip
|
|
|
|
13) Wait approximately 24hrs for the files to get to all the mirrors,
|
|
then send an email to the batik-dev and batik-users mailing lists
|
|
announcing the release.
|
|
|
|
Site Creation
|
|
-------------
|
|
|
|
For creating the web site, the following steps must be done:
|
|
|
|
[Note: due to JVM font-rendering problems, this is best done on a
|
|
Windows machine]
|
|
|
|
1) run the build script with target "publish", which will generate the
|
|
site and use ForrestBot to commit it to the repository
|
|
2) connect to people.apache.org with your account
|
|
3) execute "cd /www/xmlgraphics.apache.org/batik"
|
|
4) execute "svn update"
|
|
|
|
If the javadocs don't need to be regenerated, the "publishdoc" build
|
|
target can be used instead of "publish". This will be much quicker.
|
|
|
|
Note that because of the way ForrestBot works, any files that are no
|
|
longer part of the site will still remain in Subversion, and thus will
|
|
still be deployed. To delete files permanently, check out
|
|
https://svn.apache.org/repos/asf/xmlgraphics/site/deploy/batik/ and make
|
|
changes there directly.
|
|
|
|
Nightly Builds
|
|
--------------
|
|
|
|
The nightly builds are currently performed by a crontab entry in
|
|
Thomas DeWeese's people.apache.org account: /home/deweese/bin/nightly.csh
|