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 [EMAIL PROTECTED]:/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* [EMAIL PROTECTED]:/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 [EMAIL PROTECTED]'). + + 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]