[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