[Git][java-team/ditaa][master] 3 commits: Import Debian changes 0.10+ds1-1.1
Markus Koschany
gitlab at salsa.debian.org
Wed Jun 13 22:14:51 BST 2018
Markus Koschany pushed to branch master at Debian Java Maintainers / ditaa
Commits:
9e746915 by Adrian Bunk at 2018-06-13T22:46:06+02:00
Import Debian changes 0.10+ds1-1.1
ditaa (0.10+ds1-1.1) unstable; urgency=medium
* Non-maintainer upload.
* Apply FTBFS fix from Julien Pinon. (Closes: #802065)
- - - - -
6920a907 by Markus Koschany at 2018-06-13T23:02:34+02:00
Work around the FTBFS with Java 10 by removing the JavadocTaglet class.
Closes: #897494
- - - - -
358fe62b by Markus Koschany at 2018-06-13T23:03:37+02:00
Update changelog
- - - - -
4 changed files:
- debian/changelog
- + debian/patches/SAXSVGDocumentFactory_import.patch
- + debian/patches/remove-JavadocTaglet.patch
- debian/patches/series
Changes:
=====================================
debian/changelog
=====================================
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,18 @@
+ditaa (0.10+ds1-1.2) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Work around the FTBFS with Java 10 by removing the JavadocTaglet class.
+ (Closes: #897494)
+
+ -- Markus Koschany <apo at debian.org> Wed, 13 Jun 2018 23:03:10 +0200
+
+ditaa (0.10+ds1-1.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Apply FTBFS fix from Julien Pinon. (Closes: #802065)
+
+ -- Adrian Bunk <bunk at debian.org> Fri, 13 Jan 2017 19:13:14 +0200
+
ditaa (0.10+ds1-1) unstable; urgency=medium
* Team upload of new upstream release.
=====================================
debian/patches/SAXSVGDocumentFactory_import.patch
=====================================
--- /dev/null
+++ b/debian/patches/SAXSVGDocumentFactory_import.patch
@@ -0,0 +1,26 @@
+Description: FTBFS fix
+Author: Julien Pinon <jpinon at free.fr>
+Bug-Debian: https://bugs.debian.org/802065
+
+--- ditaa-0.10+ds1.orig/src/org/stathissideris/ascii2image/graphics/ImageHandler.java
++++ ditaa-0.10+ds1/src/org/stathissideris/ascii2image/graphics/ImageHandler.java
+@@ -42,7 +42,7 @@ import javax.swing.JLabel;
+ import org.apache.batik.bridge.BridgeContext;
+ import org.apache.batik.bridge.GVTBuilder;
+ import org.apache.batik.bridge.UserAgentAdapter;
+-import org.apache.batik.dom.svg.SAXSVGDocumentFactory;
++import org.apache.batik.anim.dom.SAXSVGDocumentFactory;
+ import org.apache.batik.dom.util.DocumentFactory;
+ import org.apache.batik.ext.awt.image.codec.png.PNGEncodeParam;
+ import org.apache.batik.ext.awt.image.codec.png.PNGImageEncoder;
+--- ditaa-0.10+ds1.orig/src/org/stathissideris/ascii2image/graphics/OffScreenSVGRenderer.java
++++ ditaa-0.10+ds1/src/org/stathissideris/ascii2image/graphics/OffScreenSVGRenderer.java
+@@ -29,7 +29,7 @@ import java.io.StringReader;
+ import org.apache.batik.bridge.BridgeContext;
+ import org.apache.batik.bridge.GVTBuilder;
+ import org.apache.batik.bridge.UserAgentAdapter;
+-import org.apache.batik.dom.svg.SAXSVGDocumentFactory;
++import org.apache.batik.anim.dom.SAXSVGDocumentFactory;
+ import org.apache.batik.gvt.GraphicsNode;
+ import org.apache.batik.gvt.renderer.ConcreteImageRendererFactory;
+ import org.apache.batik.gvt.renderer.ImageRenderer;
=====================================
debian/patches/remove-JavadocTaglet.patch
=====================================
--- /dev/null
+++ b/debian/patches/remove-JavadocTaglet.patch
@@ -0,0 +1,345 @@
+From: Markus Koschany <apo at debian.org>
+Date: Wed, 13 Jun 2018 22:58:25 +0200
+Subject: remove JavadocTaglet
+
+Remove JavadocTaglet class because the Taglet class has been removed in
+Java 10.
+
+Bug-Debian: https://bugs.debian.org/897494
+---
+ .../ascii2image/core/JavadocTaglet.java | 326 ---------------------
+ 1 file changed, 326 deletions(-)
+ delete mode 100644 src/org/stathissideris/ascii2image/core/JavadocTaglet.java
+
+diff --git a/src/org/stathissideris/ascii2image/core/JavadocTaglet.java b/src/org/stathissideris/ascii2image/core/JavadocTaglet.java
+deleted file mode 100644
+index f1642ef..0000000
+--- a/src/org/stathissideris/ascii2image/core/JavadocTaglet.java
++++ /dev/null
+@@ -1,326 +0,0 @@
+-/*
+- * Text Diagram Taglet
+- *
+- * Copyright (C) 2006 Nordic Growth Market NGM AB,
+- * Mikael Brannstrom.
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write to the Free Software
+- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+- *
+- */
+-package org.stathissideris.ascii2image.core;
+-
+-import com.sun.javadoc.ProgramElementDoc;
+-import com.sun.javadoc.Tag;
+-import com.sun.tools.doclets.Taglet;
+-import com.sun.tools.doclets.internal.toolkit.Configuration;
+-import com.sun.tools.doclets.standard.Standard;
+-import java.awt.image.RenderedImage;
+-import java.io.File;
+-import java.io.IOException;
+-import java.io.UnsupportedEncodingException;
+-import java.lang.reflect.Field;
+-import java.lang.reflect.Method;
+-import java.util.Map;
+-import java.util.regex.Pattern;
+-import javax.imageio.ImageIO;
+-
+-import org.stathissideris.ascii2image.text.TextGrid;
+-import org.stathissideris.ascii2image.graphics.Diagram;
+-import org.stathissideris.ascii2image.core.ConversionOptions;
+-import org.stathissideris.ascii2image.graphics.BitmapRenderer;
+-
+-/** This class is a custom Javadoc taglet for embedding ditaa diagrams in
+- * javadoc comments. The tag is an inline which can be used in any javadoc
+- * comment. The tag can also be used in package documentation and in the
+- * overview.
+- * This taglet assumes that the Standard Javadoc Doclet is being used.
+- * <p>
+- * The syntax is:<br>
+- * <code>
+- * {<b>@textdiagram</b> <i>diagram_name</i><br>
+- * <i>the ascii art diagram</i><br>
+- * }
+- * </code>
+- * <p>
+- * The diagram name will be used when generating the image, so that the image
+- * can be referenced to somewhere else (by using an a-href HTML tag). The
+- * diagram name can only contain letters, numbers and underscore. The name of
+- * the generated image will become "<classname>-<diagram name>.png".
+- * <p>
+- * The syntax for the ditaa diagram is described at
+- * <a href="http://ditaa.sourceforge.net/">http://ditaa.sourceforge.net/</a>.
+- * <p>
+- * <b>Note:</b> The overview file needs to be named "overview.html" if it lies
+- * in the source path, otherwise it is sufficient that it ends with ".html".
+- *
+- * @author Mikael Brannstrom
+- */
+-public class JavadocTaglet implements Taglet {
+-
+- private static final String NAME = "textdiagram";
+- private static final Pattern FIGURE_NAME_PATTERN = Pattern.compile("\\w+");
+-
+- private final File[] srcPath;
+- private final File dstDir;
+-
+- private final boolean simpleMode;
+-
+- /** Creates a new instance of TextDiagramTaglet */
+- public JavadocTaglet() {
+-
+- String configSourcepath = null;
+- String configDestDirName = null;
+- // Try to get configuration
+- try {
+- // Do this: Configuration config = Standard.htmlDoclet.configuration();
+- Field htmlDocletField = Standard.class.getField("htmlDoclet");
+- Object htmlDoclet = htmlDocletField.get(null); // static field
+- Method configurationMethod = htmlDoclet.getClass().getMethod("configuration", null);
+- Object config = configurationMethod.invoke(htmlDoclet, null);
+- // Do this: configSourcepath = config.sourcepath;
+- Field sourcepathField = config.getClass().getField("sourcepath");
+- configSourcepath = (String)sourcepathField.get(config);
+- // Do this: configDestDirName = config.destDirName;
+- Field destDirNameField = config.getClass().getField("destDirName");
+- configDestDirName = (String)destDirNameField.get(config);
+- } catch(Exception e) {
+- warning("Could not setup taglet. Falling back to simple mode.\n"+e);
+- }
+-
+- if(configDestDirName == null) {
+- srcPath = null;
+- dstDir = null;
+- simpleMode = true;
+- } else {
+- // setup srcPath
+- String[] srcPathStr = configSourcepath.split("[;:]");
+- srcPath = new File[srcPathStr.length];
+- for(int i=0; i<srcPath.length; i++) {
+- srcPath[i] = new File(srcPathStr[i]).getAbsoluteFile();
+- try {
+- srcPath[i] = srcPath[i].getCanonicalFile();
+- } catch (IOException ex) {
+- warning("Could not get canonical path of file: "+srcPath[i]);
+- }
+- }
+- // setup dstDir
+- dstDir = new File(configDestDirName);
+-
+- simpleMode = false;
+- }
+- }
+-
+- public boolean inField() {
+- return false; // inline tag
+- }
+-
+- public boolean inConstructor() {
+- return false; // inline tag
+- }
+-
+- public boolean inMethod() {
+- return false; // inline tag
+- }
+-
+- public boolean inOverview() {
+- return false; // inline tag
+- }
+-
+- public boolean inPackage() {
+- return false; // inline tag
+- }
+-
+- public boolean inType() {
+- return false; // inline tag
+- }
+-
+- /** This tag is an inline tag. */
+- public boolean isInlineTag() {
+- return true;
+- }
+-
+- public String getName() {
+- return NAME;
+- }
+-
+- /** Generates the diagram image and returns an img html tag that references
+- * to the image.
+- */
+- public String toString(Tag tag) {
+- String text = tag.text().trim();
+- String figureName, figureText;
+- int i1=text.indexOf(" "), i2=text.indexOf("\n");
+- if(i1 == -1 && -2 == -1) {
+- return "<!-- Empty "+getName()+" tag -->";
+- }
+-
+- int i;
+- if(i1 == -1 || i1 == -1)
+- i = Math.max(i1, i2);
+- else
+- i = Math.min(i1, i2);
+-
+- figureName = text.substring(0, i);
+- figureText = text.substring(i+1);
+-
+- if(!FIGURE_NAME_PATTERN.matcher(figureName).matches()) {
+- error("Illegal "+getName()+" name: \""+figureName+"\"");
+- }
+-
+- // Convert [d] to {d} where d can be 1 character and more
+- figureText = figureText.replaceAll("\\[(\\w+)\\]", "{$1}");
+-
+- if(simpleMode) {
+- StringBuffer strBuf = new StringBuffer();
+- strBuf.append("<pre>");
+- strBuf.append(figureText);
+- strBuf.append("</pre>");
+- return strBuf.toString();
+- } else {
+- File outputFile = getOutputFile(tag.position().file(), figureName);
+- generateImage(figureText, outputFile);
+-
+- StringBuffer strBuf = new StringBuffer();
+- strBuf.append("<img src=\"");
+- strBuf.append(outputFile.getName());
+- strBuf.append("\" alt=\"");
+- strBuf.append(figureName);
+- strBuf.append("\"/>");
+- return strBuf.toString();
+- }
+- }
+-
+- /** Returns null since this is an inline tag.
+- */
+- public String toString(Tag[] tag) {
+- return null; // should return null, this is an inline tag
+- }
+-
+- /** Returns the path of the output file given
+- * the source file and the diagram name.
+- * @param srcFile the source file which contains the tag
+- * @param name the diagram name that will be used for generating the output
+- * filename.
+- */
+- private File getOutputFile(File srcFile, String name) {
+- String relPath = getRelativePath(srcFile);
+-
+- // Special hack for the overview file
+- if(srcFile.getName().toLowerCase().equals("overview.html") ||
+- (relPath == null && srcFile.getName().toLowerCase().endsWith(".html"))) {
+- relPath = "overview";
+- }
+-
+- if(relPath == null) {
+- error("The file is not relative to the source path: "+srcFile);
+- }
+-
+- // get the filename and dirname
+- String dirname=null, filename=null;
+- int i = relPath.lastIndexOf(File.separatorChar);
+- if(i == -1) {
+- filename = relPath;
+- } else if(i == 0) {
+- filename = relPath.substring(1);
+- } else {
+- filename = relPath.substring(i+1);
+- dirname = relPath.substring(0, i);
+- }
+-
+- // skip file ending in filename
+- i = filename.lastIndexOf('.');
+- if(i != -1)
+- filename = filename.substring(0, i);
+-
+- String path;
+- if(dirname == null) {
+- path = filename;
+- } else {
+- path = dirname+File.separator+filename;
+- }
+-
+- return new File(dstDir, path+"-"+name+".png");
+- }
+-
+- /** Returns the relative path of a (source) file.
+- * The path is relative to one of the source dirs specified to the
+- * standard doclet.
+- * @returns the relative path. If a relative path could not be found
+- * null is returned.
+- */
+- private String getRelativePath(File file) {
+- file = file.getAbsoluteFile();
+- try {
+- file = file.getCanonicalFile();
+- } catch (IOException ex) {
+- warning("Could not get canonical path of file: "+file);
+- }
+- String filePath = file.getAbsolutePath();
+- for(int i=0; i<srcPath.length; i++) {
+- String s = srcPath[i].getAbsolutePath();
+- if(filePath.startsWith(s)) {
+- filePath = filePath.substring(s.length());
+- if(filePath.startsWith(File.separator))
+- filePath = filePath.substring(1);
+- return filePath;
+- }
+- }
+- return null;
+- }
+-
+- /** Generates the image from the specified text to the output file.
+- * @param text the ascii art text.
+- * @param outputFile the file name of the image that is generated.
+- */
+- private void generateImage(String text, File outputFile) {
+- ConversionOptions options = new ConversionOptions();
+- TextGrid textGrid = new TextGrid();
+- try {
+- if(!textGrid.initialiseWithText(text, null)) {
+- error("Cannot initialize text grid");
+- }
+- } catch (UnsupportedEncodingException e1) {
+- error("Cannot initialize text grid");
+- }
+- Diagram diagram = new Diagram(textGrid, options);
+- RenderedImage image = new BitmapRenderer().renderToImage(diagram,
+- options.renderingOptions);
+-
+- try {
+- ImageIO.write(image, "png", outputFile);
+- } catch (IOException e) {
+- error("Cannot write to file "+outputFile.getAbsolutePath());
+- }
+- }
+-
+- /** Prints an error message and exits. */
+- private void error(String msg) {
+- System.err.println("Error: "+msg);
+- System.exit(1);
+- }
+-
+- /** Prints a warning message. */
+- private void warning(String msg) {
+- System.err.println("Warning: "+msg);
+- }
+-
+- /** Register this Taglet.
+- * @param tagletMap the map to register this tag to.
+- */
+- public static void register(Map tagletMap) {
+- JavadocTaglet taglet = new JavadocTaglet();
+- tagletMap.put(taglet.getName(), taglet);
+- }
+-}
=====================================
debian/patches/series
=====================================
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,4 @@
00-fix_imports.patch
02-fix_usage_message.patch
+SAXSVGDocumentFactory_import.patch
+remove-JavadocTaglet.patch
View it on GitLab: https://salsa.debian.org/java-team/ditaa/compare/724a547b2c9fdafa2c2efffbe5cc7971bd679518...358fe62b3349e534cc6134168646e18932b4dc2d
--
View it on GitLab: https://salsa.debian.org/java-team/ditaa/compare/724a547b2c9fdafa2c2efffbe5cc7971bd679518...358fe62b3349e534cc6134168646e18932b4dc2d
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20180613/0fdebe0f/attachment.html>
More information about the pkg-java-commits
mailing list