You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-dev@xmlgraphics.apache.org by de...@apache.org on 2003/09/30 02:30:54 UTC
cvs commit: xml-batik/sources/org/apache/batik/svggen SVGRenderingHints.java
deweese 2003/09/29 17:30:54
Modified: . MAINTAIN build.xml
sources/org/apache/batik/gvt/font AWTGVTGlyphVector.java
sources/org/apache/batik/gvt/renderer
StrokingTextPainter.java
sources/org/apache/batik/svggen SVGRenderingHints.java
Log:
Updated MAINTAIN file to explain how to make a release with new
apache mirror structure.
PR: 23030 - SVG Graphics2D has inverted text anti-aliasing
PR: 23038 - Docs for all-jar target
PR: 23079 - TextNode.getBounds returns wrong bounds.
PR: 23177 - javadocs now uses splitindex
Revision Changes Path
1.10 +87 -21 xml-batik/MAINTAIN
Index: MAINTAIN
===================================================================
RCS file: /home/cvs/xml-batik/MAINTAIN,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- MAINTAIN 8 Jul 2003 07:32:36 -0000 1.9
+++ MAINTAIN 30 Sep 2003 00:30:54 -0000 1.10
@@ -17,19 +17,31 @@
For creating a distribution the following steps must be done:
- 1) modify build.xml with the distribution version. Only modify the version
+ 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")
+ candidates or beta versions where only the revision type and
+ number should be updated(e.g. revisionType value="beta" and
+ revisionNumber value="3")
- 2) update the splash screens:
+ 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://nagoya.apache.org/wiki/apachewiki.cgi?SigningReleases
+
+ 3) Update the splash screens:
build splash
- 3) commit the updated splash screens into CVS:
- cvs commit xdocs/images/splash.png xdocs/images/splash.svg
- cvs commit resources/org/apache/batik/apps/svgbrowser/resources/squiggle.png
+ 4) Commit these changes to CVS, in general only the following files
+ should be modified:
+
+ build.xml
+ KEYS
+ xdocs/images/splash.png
+ xdocs/images/splash.svg
+ resources/org/apache/batik/apps/svgbrowser/resources/squiggle.png
- 4) tag the release on CVS:
+ 5) tag the release on CVS:
cvs rtag <tag> <module>
e.g., cvs rtag batik-1_1rc3 xml-batik.
Note: sometimes, it is necessary to remove a tag because the
@@ -38,16 +50,16 @@
cvs rtag -d <tag> <module>
e.g., cvs rtag -d batik-1_1rc3 xml-batik
- 5) checkout the tagged release:
+ 6) checkout the tagged release to a new directory:
cvs co -r <tag> xml-batik
e.g., cvs co -r batik-1_1rc3 xml-batik
- 6) run the build script with target "dist-zip"
+ 7) 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
+ 8) test the distributions
build regard
build regard.manual
The build results are in xml-batik/test-reports. Check that there
@@ -62,29 +74,78 @@
http://www.w3.org/Graphics/SVG for instructions on how to get
the SVG test suite.
- 8) Update the README file describing the content of the release and
+ 9) Update the README file describing the content of the release and
the modifications which have taken place:
http://xml.apache.org/batik/dist/README
- 9) - If you are creating a release candidate, rename the distribution files
- to an rc name. For example:
+10) 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
- - scp the distributions and the README under /www/xml.apache.org/dist/batik/
- e.g., scp batik-1.1rc1.zip vhardy@xml.apache.org:/www/xml.apache.org/dist/batik/
-
-10) send an email to the batik-dev and batik-users mailing lists announcing the
- release.
+11) 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://nagoya.apache.org/wiki/apachewiki.cgi?SigningReleases
+
+ e.g. gpg --output batik-1.5.zip.asc --detach-sig --armor 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/xml/batik/
+
+ e.g., 'scp batik-1.1rc1.zip* vhardy@xml.apache.org:/www/www.apache.org/dist/xml/batik/'
+
+11) Finish setting up the distribution directory in accordance with:
+
+ http://www.apache.org/dev/mirrors.html
+ http://cvs.apache.org/~bodewig/mirror.html
+
+ This makes sure that the distribution is mirrored nicely around
+ the world.
+
+ Start by logging into cvs.apache.org (e.g. 'ssh vhardy@cvs.apache.org').
+
+ First make sure file permissions are correct. The
+ new files should be owned by group 'xml' and be group writable.
+ The following commands can do this (don't worry about links):
+ chgrp xml 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/xml/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 'archives.apache.org/dist/xml/batik' from
+ 'www.apache.org/dist/xml/batik' so you can just remove an old
+ release from www.apache.org:
+ rm batik-1.5b4.zip
+
+10) 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) make sure you checked out the module "xml-site" in the same directory
- as your project module
+ 1) make sure you checked out the module "xml-site/targets/batik" in
+ the same directory as your project module
2) run the build script with target "site"
3) commit the xml-site/targets/[project] directory
4) connect to xml.apache.org with your account
@@ -93,3 +154,8 @@
[NOTE: you must have commit access on xml-site to be able to do this]
+Nightly Builds
+--------------
+
+The nightly builds are current performed by a crontab entry in
+Thomas DeWeese's cvs.apache.org account: /home/deweese/bin/nightly.csh
1.142 +4 -1 xml-batik/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/xml-batik/build.xml,v
retrieving revision 1.141
retrieving revision 1.142
diff -u -r1.141 -r1.142
--- build.xml 26 Sep 2003 12:28:28 -0000 1.141
+++ build.xml 30 Sep 2003 00:30:54 -0000 1.142
@@ -164,6 +164,8 @@
<echo message=" clean --> cleans up the directory"/>
<echo message=" splash --> Updates documentation and browser splash screens"/>
<echo message=" jarDepend --> Updates jar files dependency image"/>
+ <echo message=" all-jar --> Creates a combined JAR file of the Batik"/>
+ <echo message=" libraries in ${build}/lib"/>
<echo message=""/>
<echo message=" See the comments in the build.xml file for more details."/>
<echo message=""/>
@@ -1221,6 +1223,7 @@
author="false"
version="false"
use="true"
+ splitindex="true"
windowtitle="${Project} Javadoc"
doctitle="${Project} API Specification"
bottom="Copyright © ${year} Apache Software Foundation. All Rights Reserved.">
1.30 +17 -14 xml-batik/sources/org/apache/batik/gvt/font/AWTGVTGlyphVector.java
Index: AWTGVTGlyphVector.java
===================================================================
RCS file: /home/cvs/xml-batik/sources/org/apache/batik/gvt/font/AWTGVTGlyphVector.java,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- AWTGVTGlyphVector.java 15 Sep 2003 00:17:59 -0000 1.29
+++ AWTGVTGlyphVector.java 30 Sep 2003 00:30:54 -0000 1.30
@@ -205,10 +205,9 @@
TextPaintInfo.equivilent(tpi, cacheTPI))
return bounds2D;
- if (tpi == null) {
- bounds2D = new Rectangle2D.Float();
- return bounds2D;
- }
+ if (tpi == null)
+ return null;
+
cacheTPI = new TextPaintInfo(tpi);
Shape outline = null;
if (tpi.fillPaint != null) {
@@ -231,7 +230,11 @@
bounds2D = bounds2D.createUnion(strokeBounds);
}
if (bounds2D == null)
- bounds2D = new Rectangle2D.Float();
+ return null;
+
+ if ((bounds2D.getWidth() == 0) ||
+ (bounds2D.getHeight() == 0))
+ bounds2D = null;
return bounds2D;
}
@@ -638,16 +641,16 @@
* of this GlyphVector.
*/
public Shape getOutline() {
- if (outline == null) {
- outline = new GeneralPath();
- for (int i = 0; i < getNumGlyphs(); i++) {
- if (glyphVisible[i]) {
- Shape glyphOutline = getGlyphOutline(i);
- outline.append(glyphOutline, false);
- }
+ if (outline != null)
+ return outline;
+
+ outline = new GeneralPath();
+ for (int i = 0; i < getNumGlyphs(); i++) {
+ if (glyphVisible[i]) {
+ Shape glyphOutline = getGlyphOutline(i);
+ outline.append(glyphOutline, false);
}
}
-
return outline;
}
1.51 +9 -9 xml-batik/sources/org/apache/batik/gvt/renderer/StrokingTextPainter.java
Index: StrokingTextPainter.java
===================================================================
RCS file: /home/cvs/xml-batik/sources/org/apache/batik/gvt/renderer/StrokingTextPainter.java,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -r1.50 -r1.51
--- StrokingTextPainter.java 7 Sep 2003 22:25:28 -0000 1.50
+++ StrokingTextPainter.java 30 Sep 2003 00:30:54 -0000 1.51
@@ -1144,16 +1144,17 @@
for (int i = 0; i < textRuns.size(); ++i) {
TextRun textRun = (TextRun)textRuns.get(i);
AttributedCharacterIterator textRunACI = textRun.getACI();
- textRunACI.first();
-
TextSpanLayout textRunLayout = textRun.getLayout();
-
- if (bounds == null)
- bounds = textRunLayout.getBounds2D();
- else
- bounds = bounds.createUnion(textRunLayout.getBounds2D());
+ Rectangle2D runBounds = textRunLayout.getBounds2D();
+ if (runBounds != null) {
+ if (bounds == null)
+ bounds = runBounds;
+ else
+ bounds = bounds.createUnion(runBounds);
+ }
}
+
// append any stroked decoration outlines
Shape underline = getDecorationStrokeOutline
(textRuns, TextSpanLayout.DECORATION_UNDERLINE);
@@ -1182,7 +1183,6 @@
else
bounds = bounds.createUnion(overline.getBounds2D());
}
-
return bounds;
}
1.17 +2 -2 xml-batik/sources/org/apache/batik/svggen/SVGRenderingHints.java
Index: SVGRenderingHints.java
===================================================================
RCS file: /home/cvs/xml-batik/sources/org/apache/batik/svggen/SVGRenderingHints.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- SVGRenderingHints.java 9 Aug 2003 16:58:39 -0000 1.16
+++ SVGRenderingHints.java 30 Sep 2003 00:30:54 -0000 1.17
@@ -174,7 +174,7 @@
//
Object textAntialiasing = hints.get(RenderingHints.KEY_TEXT_ANTIALIASING);
if(textAntialiasing == RenderingHints.VALUE_TEXT_ANTIALIAS_ON)
- textRendering = SVG_OPTIMIZE_LEGIBILITY_VALUE;
+ textRendering = SVG_GEOMETRIC_PRECISION_VALUE;
else if(textAntialiasing == RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)
textRendering = SVG_OPTIMIZE_SPEED_VALUE;
else if(textAntialiasing == RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT)
---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-dev-help@xml.apache.org