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 "Stefan Bischof (Jira)" <ji...@apache.org> on 2022/03/14 07:29:00 UTC

[jira] [Updated] (BATIK-1322) OSGi Support

     [ https://issues.apache.org/jira/browse/BATIK-1322?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stefan Bischof updated BATIK-1322:
----------------------------------
    Description: 
Several applications and frameworks are OSGi based. To use batik in this applications is a bit tricky, because batik does not declare Exportes and Imported packages in the MANIFEST.MF file of the jars. Also the Service class has some issues because it is not sure that correct classloader is used.  So most developers repackage the batik jars and add the needed information. Or they use repackages batik versions of eclipse or apache. e.g. `org.apache.servicemix.bundles:org.apache.servicemix.bundles.batik`

Best way to is to do the full suport in the main repos.

I would like to add a better OSGi Support for Batik. So I made a PR on 
GitHub.

Could somebody give some comments/review before I start the SVN-Process

Topics:

  * use bnd to create OSGi-Bundle Manifests and simplify build
  * generate META-INF/services files using |@ServiceProvider ( relocate
    ||META-INF/services to correct jar)    |
  * use ServiceLoader to avoid ClassLoader issues in Service.class

could also add ass osgi-based tests if needed

PR:
https://github.com/apache/xmlgraphics-batik/pull/30

Example Manifest for batik-all
{code:java}
Manifest-Version: 1.0
Bnd-LastModified: 1647041193864
Bundle-Description: Batik aggregate artifact
Bundle-DocURL: http://xmlgraphics.apache.org/batik/batik-all/
Bundle-License: "The Apache Software License, Version 2.0";link="http:
 //www.apache.org/licenses/LICENSE-2.0.txt"
Bundle-ManifestVersion: 2
Bundle-Name: org.apache.xmlgraphics:batik-all
Bundle-SCM: url="scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/
 batik/trunk/batik-all/",connection="scm:svn:https://svn.apache.org/re
 pos/asf/xmlgraphics/batik/trunk/batik-all/",tag=HEAD
Bundle-SymbolicName: org.apache.xmlgraphics.batik-all
Bundle-Vendor: Apache Software Foundation
Bundle-Version: 1.14.0.202203112326
Created-By: 17.0.2 (Eclipse Adoptium)
Export-Package: org.apache.batik;version="1.14.0",org.apache.batik.ani
 m;uses:="org.apache.batik.anim.dom,org.apache.batik.anim.timing,org.a
 pache.batik.anim.values,org.apache.batik.ext.awt.geom,org.apache.bati
 k.util,org.w3c.dom";version="1.14.0",org.apache.batik.anim.dom;uses:=
 "org.apache.batik.anim.values,org.apache.batik.css.dom,org.apache.bat
 ik.css.engine,org.apache.batik.css.engine.value,org.apache.batik.css.
 parser,org.apache.batik.dom,org.apache.batik.dom.events,org.apache.ba
 tik.dom.svg,org.apache.batik.dom.util,org.apache.batik.dom.xbl,org.ap
 ache.batik.i18n,org.apache.batik.parser,org.apache.batik.util,org.w3c
 .dom,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.stylesheets,org.w
 3c.dom.svg,org.w3c.dom.views,org.xml.sax";version="1.14.0",org.apache
 .batik.anim.dom.resources;version="1.14.0",org.apache.batik.anim.reso
 urces;version="1.14.0",org.apache.batik.anim.timing;uses:="org.apache
 .batik.anim,org.apache.batik.i18n,org.apache.batik.parser,org.apache.
 batik.util,org.w3c.dom,org.w3c.dom.events";version="1.14.0",org.apach
 e.batik.anim.values;uses:="org.apache.batik.anim.dom,org.apache.batik
 .dom.svg";version="1.14.0",org.apache.batik.apps.rasterizer;uses:="or
 g.apache.batik.i18n,org.apache.batik.transcoder";version="1.14.0",org
 .apache.batik.apps.rasterizer.resources;version="1.14.0",org.apache.b
 atik.apps.slideshow;uses:="javax.swing";version="1.14.0",org.apache.b
 atik.apps.svgbrowser;uses:="javax.swing,javax.swing.event,javax.swing
 .filechooser,javax.swing.table,javax.swing.tree,javax.xml.transform,o
 rg.apache.batik.bridge,org.apache.batik.ext.swing,org.apache.batik.gv
 t,org.apache.batik.i18n,org.apache.batik.swing,org.apache.batik.swing
 .gvt,org.apache.batik.swing.svg,org.apache.batik.util,org.apache.bati
 k.util.gui,org.apache.batik.util.gui.resource,org.apache.batik.util.g
 ui.xmleditor,org.apache.batik.util.resources,org.w3c.dom,org.w3c.dom.
 css,org.w3c.dom.events,org.w3c.dom.svg";version="1.14.0",org.apache.b
 atik.apps.svgbrowser.resources;version="1.14.0",org.apache.batik.apps
 .svgpp;uses:="org.apache.batik.i18n,org.apache.batik.transcoder";vers
 ion="1.14.0",org.apache.batik.apps.svgpp.resources;version="1.14.0",o
 rg.apache.batik.apps.ttf2svg;version="1.14.0",org.apache.batik.bridge
 ;uses:="org.apache.batik.anim,org.apache.batik.anim.dom,org.apache.ba
 tik.anim.timing,org.apache.batik.anim.values,org.apache.batik.constan
 ts,org.apache.batik.css.engine,org.apache.batik.css.engine.value,org.
 apache.batik.css.engine.value.svg,org.apache.batik.css.engine.value.s
 vg12,org.apache.batik.dom,org.apache.batik.dom.events,org.apache.bati
 k.dom.svg,org.apache.batik.dom.xbl,org.apache.batik.ext.awt,org.apach
 e.batik.ext.awt.color,org.apache.batik.ext.awt.geom,org.apache.batik.
 ext.awt.image,org.apache.batik.ext.awt.image.renderable,org.apache.ba
 tik.ext.awt.image.spi,org.apache.batik.gvt,org.apache.batik.gvt.event
 ,org.apache.batik.gvt.filter,org.apache.batik.gvt.font,org.apache.bat
 ik.gvt.renderer,org.apache.batik.gvt.text,org.apache.batik.i18n,org.a
 pache.batik.parser,org.apache.batik.script,org.apache.batik.script.rh
 ino,org.apache.batik.util,org.apache.batik.w3c.dom,org.apache.xmlgrap
 hics.java2d.color,org.mozilla.javascript,org.w3c.dom,org.w3c.dom.css,
 org.w3c.dom.events,org.w3c.dom.svg";version="1.14.0",org.apache.batik
 .bridge.resources;version="1.14.0",org.apache.batik.bridge.svg12;uses
 :="javax.swing.event,org.apache.batik.anim.dom,org.apache.batik.bridg
 e,org.apache.batik.dom,org.apache.batik.dom.events,org.apache.batik.d
 om.svg12,org.apache.batik.dom.util,org.apache.batik.dom.xbl,org.apach
 e.batik.gvt,org.apache.batik.gvt.event,org.apache.batik.gvt.flow,org.
 apache.batik.gvt.text,org.apache.batik.parser,org.apache.batik.script
 ,org.apache.batik.util,org.apache.xml.utils,org.apache.xpath,org.w3c.
 dom,org.w3c.dom.events,org.w3c.dom.svg";version="1.14.0",org.apache.b
 atik.constants;version="1.14.0",org.apache.batik.css;version="1.14.0"
 ,org.apache.batik.css.dom;uses:="org.apache.batik.css.engine,org.apac
 he.batik.css.engine.value,org.w3c.dom,org.w3c.dom.css,org.w3c.dom.svg
 ,org.w3c.dom.views";version="1.14.0",org.apache.batik.css.engine;uses
 :="org.apache.batik.css.engine.sac,org.apache.batik.css.engine.value,
 org.apache.batik.css.parser,org.apache.batik.i18n,org.apache.batik.ut
 il,org.w3c.css.sac,org.w3c.dom,org.w3c.dom.events";version="1.14.0",o
 rg.apache.batik.css.engine.resources;version="1.14.0",org.apache.bati
 k.css.engine.sac;uses:="org.w3c.css.sac,org.w3c.dom";version="1.14.0"
 ,org.apache.batik.css.engine.value;uses:="org.apache.batik.css.engine
 ,org.apache.batik.i18n,org.apache.batik.util,org.w3c.css.sac,org.w3c.
 dom";version="1.14.0",org.apache.batik.css.engine.value.css2;uses:="o
 rg.apache.batik.css.engine,org.apache.batik.css.engine.value,org.w3c.
 css.sac,org.w3c.dom";version="1.14.0",org.apache.batik.css.engine.val
 ue.resources;version="1.14.0",org.apache.batik.css.engine.value.svg;u
 ses:="org.apache.batik.css.engine,org.apache.batik.css.engine.value,o
 rg.w3c.css.sac,org.w3c.dom";version="1.14.0",org.apache.batik.css.eng
 ine.value.svg12;uses:="org.apache.batik.css.engine,org.apache.batik.c
 ss.engine.value,org.apache.batik.css.engine.value.svg,org.w3c.css.sac
 ,org.w3c.dom";version="1.14.0",org.apache.batik.css.parser;uses:="org
 .apache.batik.i18n,org.apache.batik.util.io,org.w3c.css.sac";version=
 "1.14.0",org.apache.batik.css.parser.resources;version="1.14.0",org.a
 pache.batik.dom;uses:="javax.xml.transform,org.apache.batik.css.engin
 e,org.apache.batik.css.engine.value,org.apache.batik.css.parser,org.a
 pache.batik.dom.events,org.apache.batik.dom.traversal,org.apache.bati
 k.dom.xbl,org.apache.batik.i18n,org.apache.batik.util,org.apache.bati
 k.w3c.dom,org.apache.xml.utils,org.apache.xpath,org.apache.xpath.obje
 cts,org.w3c.dom,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.styles
 heets,org.w3c.dom.traversal,org.w3c.dom.views,org.w3c.dom.xpath";vers
 ion="1.14.0",org.apache.batik.dom.events;uses:="org.apache.batik.dom,
 org.apache.batik.dom.util,org.apache.batik.dom.xbl,org.apache.batik.w
 3c.dom.events,org.w3c.dom,org.w3c.dom.events,org.w3c.dom.smil,org.w3c
 .dom.views";version="1.14.0",org.apache.batik.dom.resources;version="
 1.14.0",org.apache.batik.dom.svg;uses:="org.apache.batik.css.engine,o
 rg.apache.batik.dom,org.apache.batik.dom.events,org.apache.batik.dom.
 util,org.apache.batik.parser,org.apache.batik.util,org.w3c.dom,org.w3
 c.dom.smil,org.w3c.dom.svg";version="1.14.0",org.apache.batik.dom.svg
 .resources;version="1.14.0",org.apache.batik.dom.svg12;uses:="org.apa
 che.batik.dom.events,org.apache.batik.dom.xbl,org.w3c.dom.events,org.
 w3c.dom.views";version="1.14.0",org.apache.batik.dom.traversal;uses:=
 "org.apache.batik.dom,org.w3c.dom,org.w3c.dom.traversal";version="1.1
 4.0",org.apache.batik.dom.util;uses:="org.apache.batik.constants,org.
 apache.batik.util,org.apache.batik.xml,org.w3c.dom,org.w3c.dom.css,or
 g.xml.sax,org.xml.sax.ext,org.xml.sax.helpers";version="1.14.0",org.a
 pache.batik.dom.xbl;uses:="org.w3c.dom,org.w3c.dom.events";version="1
 .14.0",org.apache.batik.ext.awt;version="1.14.0",org.apache.batik.ext
 .awt.color;uses:="org.apache.batik.util,org.apache.xmlgraphics.java2d
 .color";version="1.14.0",org.apache.batik.ext.awt.font;version="1.14.
 0",org.apache.batik.ext.awt.g2d;version="1.14.0",org.apache.batik.ext
 .awt.geom;version="1.14.0",org.apache.batik.ext.awt.image;uses:="org.
 apache.batik.ext.awt.image.renderable,org.apache.batik.ext.awt.image.
 rendered,org.apache.batik.util";version="1.14.0",org.apache.batik.ext
 .awt.image.codec;version="1.14.0",org.apache.batik.ext.awt.image.code
 c.imageio;uses:="javax.imageio,javax.imageio.event,javax.imageio.meta
 data,org.apache.batik.ext.awt.image.renderable,org.apache.batik.ext.a
 wt.image.spi,org.apache.batik.transcoder,org.apache.batik.transcoder.
 image,org.apache.batik.util,org.w3c.dom";version="1.14.0",org.apache.
 batik.ext.awt.image.codec.png;uses:="org.apache.batik.ext.awt.image.c
 odec.util,org.apache.batik.ext.awt.image.renderable,org.apache.batik.
 ext.awt.image.rendered,org.apache.batik.ext.awt.image.spi,org.apache.
 batik.transcoder,org.apache.batik.transcoder.image,org.apache.batik.u
 til";version="1.14.0",org.apache.batik.ext.awt.image.codec.util;uses:
 ="org.apache.batik.i18n";version="1.14.0",org.apache.batik.ext.awt.im
 age.renderable;uses:="org.apache.batik.ext.awt.image,org.apache.batik
 .ext.awt.image.rendered,org.apache.xmlgraphics.java2d.color";version=
 "1.14.0",org.apache.batik.ext.awt.image.rendered;uses:="org.apache.ba
 tik.ext.awt.image,org.apache.batik.util,org.apache.xmlgraphics.java2d
 .color";version="1.14.0",org.apache.batik.ext.awt.image.spi;uses:="or
 g.apache.batik.ext.awt.image,org.apache.batik.ext.awt.image.renderabl
 e,org.apache.batik.util,org.apache.xmlgraphics.java2d.color";version=
 "1.14.0",org.apache.batik.ext.awt.image.spi.resources;version="1.14.0
 ",org.apache.batik.ext.swing;uses:="javax.swing,javax.swing.text,org.
 apache.batik.i18n,org.apache.batik.util.resources";version="1.14.0",o
 rg.apache.batik.ext.swing.resources;version="1.14.0",org.apache.batik
 .extension;uses:="org.apache.batik.anim.dom,org.apache.batik.css.engi
 ne,org.apache.batik.dom,org.apache.batik.util,org.w3c.dom,org.w3c.dom
 .css,org.w3c.dom.svg";version="1.14.0",org.apache.batik.extension.svg
 ;uses:="org.apache.batik.anim.dom,org.apache.batik.bridge,org.apache.
 batik.dom,org.apache.batik.ext.awt.image.renderable,org.apache.batik.
 ext.awt.image.rendered,org.apache.batik.extension,org.apache.batik.gv
 t,org.apache.batik.gvt.font,org.apache.batik.gvt.text,org.apache.bati
 k.parser,org.w3c.dom";version="1.14.0",org.apache.batik.extensions;ve
 rsion="1.14.0",org.apache.batik.gvt;uses:="javax.swing.event,org.apac
 he.batik.ext.awt.geom,org.apache.batik.ext.awt.image.renderable,org.a
 pache.batik.gvt.event,org.apache.batik.gvt.filter";version="1.14.0",o
 rg.apache.batik.gvt.event;uses:="javax.swing.event,org.apache.batik.g
 vt";version="1.14.0",org.apache.batik.gvt.filter;uses:="org.apache.ba
 tik.ext.awt.image.renderable,org.apache.batik.ext.awt.image.rendered,
 org.apache.batik.gvt";version="1.14.0",org.apache.batik.gvt.flow;uses
 :="org.apache.batik.ext.awt.geom,org.apache.batik.gvt.font";version="
 1.14.0",org.apache.batik.gvt.font;uses:="org.apache.batik.gvt,org.apa
 che.batik.gvt.text,org.apache.batik.util";version="1.14.0",org.apache
 .batik.gvt.renderer;uses:="org.apache.batik.ext.awt.geom,org.apache.b
 atik.ext.awt.image.renderable,org.apache.batik.ext.awt.image.rendered
 ,org.apache.batik.gvt";version="1.14.0",org.apache.batik.gvt.text;ver
 sion="1.14.0",org.apache.batik.i18n;version="1.14.0",org.apache.batik
 .parser;uses:="org.apache.batik.ext.awt.geom,org.apache.batik.i18n,or
 g.apache.batik.util.io,org.w3c.dom";version="1.14.0",org.apache.batik
 .parser.resources;version="1.14.0",org.apache.batik.parser.style.reso
 urces;version="1.14.0",org.apache.batik.script;uses:="org.apache.bati
 k.i18n,org.w3c.dom";version="1.14.0",org.apache.batik.script.jpython;
 uses:="org.apache.batik.script";version="1.14.0",org.apache.batik.scr
 ipt.rhino;uses:="org.apache.batik.i18n,org.mozilla.javascript";versio
 n="1.14.0",org.apache.batik.script.rhino.resources;version="1.14.0",o
 rg.apache.batik.svggen;uses:="javax.swing,org.apache.batik.constants,
 org.apache.batik.ext.awt.g2d,org.apache.batik.util,org.w3c.dom";versi
 on="1.14.0",org.apache.batik.svggen.font;uses:="org.apache.batik.cons
 tants,org.apache.batik.i18n,org.apache.batik.svggen.font.table,org.ap
 ache.batik.util";version="1.14.0",org.apache.batik.svggen.font.resour
 ces;version="1.14.0",org.apache.batik.svggen.font.table;version="1.14
 .0",org.apache.batik.swing;uses:="javax.swing,javax.swing.event,org.a
 pache.batik.bridge,org.apache.batik.constants,org.apache.batik.i18n,o
 rg.apache.batik.swing.gvt,org.apache.batik.swing.svg,org.w3c.dom,org.
 w3c.dom.events,org.w3c.dom.svg";version="1.14.0",org.apache.batik.swi
 ng.gvt;uses:="javax.swing,org.apache.batik.bridge,org.apache.batik.gv
 t,org.apache.batik.gvt.event,org.apache.batik.gvt.renderer,org.apache
 .batik.util";version="1.14.0",org.apache.batik.swing.resources;versio
 n="1.14.0",org.apache.batik.swing.svg;uses:="javax.swing.filechooser,
 org.apache.batik.anim.dom,org.apache.batik.bridge,org.apache.batik.gv
 t,org.apache.batik.gvt.event,org.apache.batik.gvt.renderer,org.apache
 .batik.i18n,org.apache.batik.script,org.apache.batik.swing.gvt,org.ap
 ache.batik.util,org.w3c.dom,org.w3c.dom.svg";version="1.14.0",org.apa
 che.batik.swing.svg.resources;version="1.14.0",org.apache.batik.trans
 coder;uses:="org.apache.batik.anim.dom,org.apache.batik.bridge,org.ap
 ache.batik.dom.util,org.apache.batik.gvt,org.apache.batik.svggen,org.
 apache.batik.util,org.w3c.dom,org.xml.sax";version="1.14.0",org.apach
 e.batik.transcoder.image;uses:="org.apache.batik.bridge,org.apache.ba
 tik.gvt.renderer,org.apache.batik.transcoder,org.w3c.dom";version="1.
 14.0",org.apache.batik.transcoder.image.resources;uses:="org.apache.b
 atik.i18n";version="1.14.0",org.apache.batik.transcoder.keys;uses:="o
 rg.apache.batik.transcoder";version="1.14.0",org.apache.batik.transco
 der.print;uses:="org.apache.batik.transcoder,org.w3c.dom";version="1.
 14.0",org.apache.batik.transcoder.svg2svg;uses:="org.apache.batik.tra
 nscoder,org.apache.batik.xml";version="1.14.0",org.apache.batik.trans
 coder.wmf;version="1.14.0",org.apache.batik.transcoder.wmf.tosvg;uses
 :="org.apache.batik.transcoder";version="1.14.0",org.apache.batik.uti
 l;uses:="org.apache.batik.constants,org.apache.batik.i18n,org.apache.
 batik.util.resources";version="1.14.0",org.apache.batik.util.gui;uses
 :="javax.swing,javax.swing.event,javax.swing.filechooser,org.apache.b
 atik.util.gui.resource,org.apache.batik.util.resources";version="1.14
 .0",org.apache.batik.util.gui.resource;uses:="javax.swing,org.apache.
 batik.util.resources";version="1.14.0",org.apache.batik.util.gui.reso
 urces;version="1.14.0",org.apache.batik.util.gui.resources.flags;vers
 ion="1.14.0",org.apache.batik.util.gui.xmleditor;uses:="javax.swing,j
 avax.swing.text,javax.swing.undo";version="1.14.0",org.apache.batik.u
 til.io;uses:="org.apache.batik.i18n";version="1.14.0",org.apache.bati
 k.util.io.resources;version="1.14.0",org.apache.batik.util.resources;
 uses:="org.apache.batik.i18n";version="1.14.0",org.apache.batik.w3c.d
 om;uses:="org.w3c.dom";version="1.14.0",org.apache.batik.w3c.dom.even
 ts;uses:="org.w3c.dom,org.w3c.dom.events,org.w3c.dom.views";version="
 1.14.0",org.apache.batik.xml;uses:="org.apache.batik.i18n,org.apache.
 batik.util.io";version="1.14.0",org.apache.batik.xml.scanner.resource
 s;version="1.14.0"
Import-Package: com.apple.eawt;resolution=optional,javax.imageio,javax
 .imageio.event,javax.imageio.metadata,javax.imageio.plugins.jpeg,java
 x.imageio.stream,javax.swing,javax.swing.border,javax.swing.event,jav
 ax.swing.filechooser,javax.swing.plaf,javax.swing.plaf.basic,javax.sw
 ing.table,javax.swing.text,javax.swing.tree,javax.swing.undo,javax.xm
 l.parsers,javax.xml.transform,javax.xml.transform.dom,javax.xml.trans
 form.stream,org.apache.batik,org.apache.batik.anim,org.apache.batik.a
 nim.dom,org.apache.batik.anim.timing,org.apache.batik.anim.values,org
 .apache.batik.bridge,org.apache.batik.bridge.svg12,org.apache.batik.c
 onstants,org.apache.batik.css.dom,org.apache.batik.css.engine,org.apa
 che.batik.css.engine.sac,org.apache.batik.css.engine.value,org.apache
 .batik.css.engine.value.css2,org.apache.batik.css.engine.value.svg,or
 g.apache.batik.css.engine.value.svg12,org.apache.batik.css.parser,org
 .apache.batik.dom,org.apache.batik.dom.events,org.apache.batik.dom.sv
 g,org.apache.batik.dom.svg12,org.apache.batik.dom.traversal,org.apach
 e.batik.dom.util,org.apache.batik.dom.xbl,org.apache.batik.ext.awt,or
 g.apache.batik.ext.awt.color,org.apache.batik.ext.awt.g2d,org.apache.
 batik.ext.awt.geom,org.apache.batik.ext.awt.image,org.apache.batik.ex
 t.awt.image.codec.util,org.apache.batik.ext.awt.image.renderable,org.
 apache.batik.ext.awt.image.rendered,org.apache.batik.ext.awt.image.sp
 i,org.apache.batik.ext.swing,org.apache.batik.extension,org.apache.ba
 tik.gvt,org.apache.batik.gvt.event,org.apache.batik.gvt.filter,org.ap
 ache.batik.gvt.flow,org.apache.batik.gvt.font,org.apache.batik.gvt.re
 nderer,org.apache.batik.gvt.text,org.apache.batik.i18n,org.apache.bat
 ik.parser,org.apache.batik.script,org.apache.batik.script.rhino,org.a
 pache.batik.svggen,org.apache.batik.svggen.font,org.apache.batik.svgg
 en.font.table,org.apache.batik.swing,org.apache.batik.swing.gvt,org.a
 pache.batik.swing.svg,org.apache.batik.transcoder,org.apache.batik.tr
 anscoder.image,org.apache.batik.transcoder.image.resources,org.apache
 .batik.transcoder.keys,org.apache.batik.transcoder.print,org.apache.b
 atik.transcoder.svg2svg,org.apache.batik.util,org.apache.batik.util.g
 ui,org.apache.batik.util.gui.resource,org.apache.batik.util.gui.xmled
 itor,org.apache.batik.util.io,org.apache.batik.util.resources,org.apa
 che.batik.w3c.dom,org.apache.batik.w3c.dom.events,org.apache.batik.xm
 l,org.apache.fop.svg,org.apache.xml.utils,org.apache.xmlgraphics.java
 2d.color,org.apache.xmlgraphics.java2d.color.profile,org.apache.xpath
 ,org.apache.xpath.objects,org.mozilla.javascript,org.mozilla.javascri
 pt.tools.debugger,org.python.core,org.python.util,org.w3c.css.sac,org
 .w3c.dom,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.smil,org.w3c.
 dom.stylesheets,org.w3c.dom.svg,org.w3c.dom.traversal,org.w3c.dom.vie
 ws,org.w3c.dom.xpath,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers
Main-Class: org.apache.batik.apps.svgbrowser.Main
Provide-Capability: osgi.service;objectClass:List<String>="javax.image
 io.ImageWriter";mimeType="image/jpeg";codec=ImageIO;effective:=active
 ,osgi.service;objectClass:List<String>="javax.imageio.ImageWriter";mi
 meType="image/png";codec=ImageIO;effective:=active,osgi.service;objec
 tClass:List<String>="javax.imageio.ImageWriter";mimeType="image/tiff"
 ;codec=ImageIO;effective:=active,osgi.service;objectClass:List<String
 >="org.apache.batik.bridge.BridgeExtension";effective:=active,osgi.se
 rvice;objectClass:List<String>="org.apache.batik.dom.DomExtension";ef
 fective:=active,osgi.service;objectClass:List<String>="org.apache.bat
 ik.ext.awt.image.spi.RegistryEntry";mimeTypes:List<String>="image/gif
 ";extensions:List<String>="";effective:=active,osgi.service;objectCla
 ss:List<String>="org.apache.batik.ext.awt.image.spi.RegistryEntry";mi
 meTypes:List<String>="image/jpeg,image/jpg";extensions:List<String>="
 jpg,jpeg";effective:=active,osgi.service;objectClass:List<String>="or
 g.apache.batik.ext.awt.image.spi.RegistryEntry";mimeTypes:List<String
 >="image/png";extensions:List<String>=png;effective:=active,osgi.serv
 ice;objectClass:List<String>="org.apache.batik.ext.awt.image.spi.Regi
 stryEntry";mimeTypes:List<String>="image/tif,image/tiff";extensions:L
 ist<String>="tif,tiff";effective:=active,osgi.service;objectClass:Lis
 t<String>="org.apache.batik.script.InterpreterFactory";mimeTypes:List
 <String>="text/javascript,text/ecmascript,application/javascript,appl
 ication/ecmascript";effective:=active,osgi.service;objectClass:List<S
 tring>="org.apache.batik.script.InterpreterFactory";mimeTypes:List<St
 ring>="text/python";effective:=active,osgi.serviceloader;osgi.service
 loader="javax.imageio.ImageWriter";register:="org.apache.batik.ext.aw
 t.image.codec.imageio.ImageIOJPEGImageWriter";mimeType="image/jpeg";c
 odec=ImageIO,osgi.serviceloader;osgi.serviceloader="javax.imageio.Ima
 geWriter";register:="org.apache.batik.ext.awt.image.codec.imageio.Ima
 geIOPNGImageWriter";mimeType="image/png";codec=ImageIO,osgi.servicelo
 ader;osgi.serviceloader="javax.imageio.ImageWriter";register:="org.ap
 ache.batik.ext.awt.image.codec.imageio.ImageIOTIFFImageWriter";mimeTy
 pe="image/tiff";codec=ImageIO,osgi.serviceloader;osgi.serviceloader="
 org.apache.batik.bridge.BridgeExtension";register:="org.apache.batik.
 bridge.SVGBridgeExtension",osgi.serviceloader;osgi.serviceloader="org
 .apache.batik.bridge.BridgeExtension";register:="org.apache.batik.bri
 dge.svg12.SVG12BridgeExtension",osgi.serviceloader;osgi.serviceloader
 ="org.apache.batik.bridge.BridgeExtension";register:="org.apache.bati
 k.extension.svg.BatikBridgeExtension",osgi.serviceloader;osgi.service
 loader="org.apache.batik.dom.DomExtension";register:="org.apache.bati
 k.extension.svg.BatikDomExtension",osgi.serviceloader;osgi.serviceloa
 der="org.apache.batik.ext.awt.image.spi.RegistryEntry";register:="org
 .apache.batik.ext.awt.image.codec.imageio.ImageIOJPEGRegistryEntry";m
 imeTypes:List<String>="image/jpeg,image/jpg";extensions:List<String>=
 "jpg,jpeg",osgi.serviceloader;osgi.serviceloader="org.apache.batik.ex
 t.awt.image.spi.RegistryEntry";register:="org.apache.batik.ext.awt.im
 age.codec.imageio.ImageIOPNGRegistryEntry";mimeTypes:List<String>="im
 age/png";extensions:List<String>=png,osgi.serviceloader;osgi.servicel
 oader="org.apache.batik.ext.awt.image.spi.RegistryEntry";register:="o
 rg.apache.batik.ext.awt.image.codec.imageio.ImageIOTIFFRegistryEntry"
 ;mimeTypes:List<String>="image/tif,image/tiff";extensions:List<String
 >="tif,tiff",osgi.serviceloader;osgi.serviceloader="org.apache.batik.
 ext.awt.image.spi.RegistryEntry";register:="org.apache.batik.ext.awt.
 image.codec.png.PNGRegistryEntry";mimeTypes:List<String>="image/png";
 extensions:List<String>=png,osgi.serviceloader;osgi.serviceloader="or
 g.apache.batik.ext.awt.image.spi.RegistryEntry";register:="org.apache
 .batik.ext.awt.image.spi.JDKRegistryEntry";mimeTypes:List<String>="im
 age/gif";extensions:List<String>="",osgi.serviceloader;osgi.servicelo
 ader="org.apache.batik.script.InterpreterFactory";register:="org.apac
 he.batik.bridge.RhinoInterpreterFactory";mimeTypes:List<String>="text
 /javascript,text/ecmascript,application/javascript,application/ecmasc
 ript",osgi.serviceloader;osgi.serviceloader="org.apache.batik.script.
 InterpreterFactory";register:="org.apache.batik.script.jpython.JPytho
 nInterpreterFactory";mimeTypes:List<String>="text/python"
Require-Capability: osgi.extender;filter:="(&(osgi.extender=osgi.servi
 celoader.registrar)(version>=1.0.0)(!(version>=2.0.0)))",osgi.ee;filt
 er:="(&(osgi.ee=JavaSE)(version=1.7))"
Tool: Bnd-6.2.0.202202251641


{code}


  was:
Several applications and frameworks are OSGi based. To use batik in this applications is a bit tricky, because batik does not declare Exportes and Imported packages in the MANIFEST.MF file of the jars. Also the Service class has some issues because it is not sure that correct classloader is used.  So most developers repackage the batik jars and add the needed information. Or they use repackages batik versions of eclipse or apache. e.g. `org.apache.servicemix.bundles:org.apache.servicemix.bundles.batik`

Best way to is to do the full suport in the main repos.

I would like to add a better OSGi Support for Batik. So I made a PR on 
GitHub.

Could somebody give some comments/review before I start the SVN-Process

Topics:

  * use bnd to create OSGi-Bundle Manifests and simplify build
  * generate META-INF/services files using |@ServiceProvider ( relocate
    ||META-INF/services to correct jar)    |
  * use ServiceLoader to avoid ClassLoader issues in Service.class

could also add ass osgi-based tests if needed

PR:
https://github.com/apache/xmlgraphics-batik/pull/30



> OSGi Support
> ------------
>
>                 Key: BATIK-1322
>                 URL: https://issues.apache.org/jira/browse/BATIK-1322
>             Project: Batik
>          Issue Type: New Feature
>            Reporter: Stefan Bischof
>            Priority: Major
>
> Several applications and frameworks are OSGi based. To use batik in this applications is a bit tricky, because batik does not declare Exportes and Imported packages in the MANIFEST.MF file of the jars. Also the Service class has some issues because it is not sure that correct classloader is used.  So most developers repackage the batik jars and add the needed information. Or they use repackages batik versions of eclipse or apache. e.g. `org.apache.servicemix.bundles:org.apache.servicemix.bundles.batik`
> Best way to is to do the full suport in the main repos.
> I would like to add a better OSGi Support for Batik. So I made a PR on 
> GitHub.
> Could somebody give some comments/review before I start the SVN-Process
> Topics:
>   * use bnd to create OSGi-Bundle Manifests and simplify build
>   * generate META-INF/services files using |@ServiceProvider ( relocate
>     ||META-INF/services to correct jar)    |
>   * use ServiceLoader to avoid ClassLoader issues in Service.class
> could also add ass osgi-based tests if needed
> PR:
> https://github.com/apache/xmlgraphics-batik/pull/30
> Example Manifest for batik-all
> {code:java}
> Manifest-Version: 1.0
> Bnd-LastModified: 1647041193864
> Bundle-Description: Batik aggregate artifact
> Bundle-DocURL: http://xmlgraphics.apache.org/batik/batik-all/
> Bundle-License: "The Apache Software License, Version 2.0";link="http:
>  //www.apache.org/licenses/LICENSE-2.0.txt"
> Bundle-ManifestVersion: 2
> Bundle-Name: org.apache.xmlgraphics:batik-all
> Bundle-SCM: url="scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/
>  batik/trunk/batik-all/",connection="scm:svn:https://svn.apache.org/re
>  pos/asf/xmlgraphics/batik/trunk/batik-all/",tag=HEAD
> Bundle-SymbolicName: org.apache.xmlgraphics.batik-all
> Bundle-Vendor: Apache Software Foundation
> Bundle-Version: 1.14.0.202203112326
> Created-By: 17.0.2 (Eclipse Adoptium)
> Export-Package: org.apache.batik;version="1.14.0",org.apache.batik.ani
>  m;uses:="org.apache.batik.anim.dom,org.apache.batik.anim.timing,org.a
>  pache.batik.anim.values,org.apache.batik.ext.awt.geom,org.apache.bati
>  k.util,org.w3c.dom";version="1.14.0",org.apache.batik.anim.dom;uses:=
>  "org.apache.batik.anim.values,org.apache.batik.css.dom,org.apache.bat
>  ik.css.engine,org.apache.batik.css.engine.value,org.apache.batik.css.
>  parser,org.apache.batik.dom,org.apache.batik.dom.events,org.apache.ba
>  tik.dom.svg,org.apache.batik.dom.util,org.apache.batik.dom.xbl,org.ap
>  ache.batik.i18n,org.apache.batik.parser,org.apache.batik.util,org.w3c
>  .dom,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.stylesheets,org.w
>  3c.dom.svg,org.w3c.dom.views,org.xml.sax";version="1.14.0",org.apache
>  .batik.anim.dom.resources;version="1.14.0",org.apache.batik.anim.reso
>  urces;version="1.14.0",org.apache.batik.anim.timing;uses:="org.apache
>  .batik.anim,org.apache.batik.i18n,org.apache.batik.parser,org.apache.
>  batik.util,org.w3c.dom,org.w3c.dom.events";version="1.14.0",org.apach
>  e.batik.anim.values;uses:="org.apache.batik.anim.dom,org.apache.batik
>  .dom.svg";version="1.14.0",org.apache.batik.apps.rasterizer;uses:="or
>  g.apache.batik.i18n,org.apache.batik.transcoder";version="1.14.0",org
>  .apache.batik.apps.rasterizer.resources;version="1.14.0",org.apache.b
>  atik.apps.slideshow;uses:="javax.swing";version="1.14.0",org.apache.b
>  atik.apps.svgbrowser;uses:="javax.swing,javax.swing.event,javax.swing
>  .filechooser,javax.swing.table,javax.swing.tree,javax.xml.transform,o
>  rg.apache.batik.bridge,org.apache.batik.ext.swing,org.apache.batik.gv
>  t,org.apache.batik.i18n,org.apache.batik.swing,org.apache.batik.swing
>  .gvt,org.apache.batik.swing.svg,org.apache.batik.util,org.apache.bati
>  k.util.gui,org.apache.batik.util.gui.resource,org.apache.batik.util.g
>  ui.xmleditor,org.apache.batik.util.resources,org.w3c.dom,org.w3c.dom.
>  css,org.w3c.dom.events,org.w3c.dom.svg";version="1.14.0",org.apache.b
>  atik.apps.svgbrowser.resources;version="1.14.0",org.apache.batik.apps
>  .svgpp;uses:="org.apache.batik.i18n,org.apache.batik.transcoder";vers
>  ion="1.14.0",org.apache.batik.apps.svgpp.resources;version="1.14.0",o
>  rg.apache.batik.apps.ttf2svg;version="1.14.0",org.apache.batik.bridge
>  ;uses:="org.apache.batik.anim,org.apache.batik.anim.dom,org.apache.ba
>  tik.anim.timing,org.apache.batik.anim.values,org.apache.batik.constan
>  ts,org.apache.batik.css.engine,org.apache.batik.css.engine.value,org.
>  apache.batik.css.engine.value.svg,org.apache.batik.css.engine.value.s
>  vg12,org.apache.batik.dom,org.apache.batik.dom.events,org.apache.bati
>  k.dom.svg,org.apache.batik.dom.xbl,org.apache.batik.ext.awt,org.apach
>  e.batik.ext.awt.color,org.apache.batik.ext.awt.geom,org.apache.batik.
>  ext.awt.image,org.apache.batik.ext.awt.image.renderable,org.apache.ba
>  tik.ext.awt.image.spi,org.apache.batik.gvt,org.apache.batik.gvt.event
>  ,org.apache.batik.gvt.filter,org.apache.batik.gvt.font,org.apache.bat
>  ik.gvt.renderer,org.apache.batik.gvt.text,org.apache.batik.i18n,org.a
>  pache.batik.parser,org.apache.batik.script,org.apache.batik.script.rh
>  ino,org.apache.batik.util,org.apache.batik.w3c.dom,org.apache.xmlgrap
>  hics.java2d.color,org.mozilla.javascript,org.w3c.dom,org.w3c.dom.css,
>  org.w3c.dom.events,org.w3c.dom.svg";version="1.14.0",org.apache.batik
>  .bridge.resources;version="1.14.0",org.apache.batik.bridge.svg12;uses
>  :="javax.swing.event,org.apache.batik.anim.dom,org.apache.batik.bridg
>  e,org.apache.batik.dom,org.apache.batik.dom.events,org.apache.batik.d
>  om.svg12,org.apache.batik.dom.util,org.apache.batik.dom.xbl,org.apach
>  e.batik.gvt,org.apache.batik.gvt.event,org.apache.batik.gvt.flow,org.
>  apache.batik.gvt.text,org.apache.batik.parser,org.apache.batik.script
>  ,org.apache.batik.util,org.apache.xml.utils,org.apache.xpath,org.w3c.
>  dom,org.w3c.dom.events,org.w3c.dom.svg";version="1.14.0",org.apache.b
>  atik.constants;version="1.14.0",org.apache.batik.css;version="1.14.0"
>  ,org.apache.batik.css.dom;uses:="org.apache.batik.css.engine,org.apac
>  he.batik.css.engine.value,org.w3c.dom,org.w3c.dom.css,org.w3c.dom.svg
>  ,org.w3c.dom.views";version="1.14.0",org.apache.batik.css.engine;uses
>  :="org.apache.batik.css.engine.sac,org.apache.batik.css.engine.value,
>  org.apache.batik.css.parser,org.apache.batik.i18n,org.apache.batik.ut
>  il,org.w3c.css.sac,org.w3c.dom,org.w3c.dom.events";version="1.14.0",o
>  rg.apache.batik.css.engine.resources;version="1.14.0",org.apache.bati
>  k.css.engine.sac;uses:="org.w3c.css.sac,org.w3c.dom";version="1.14.0"
>  ,org.apache.batik.css.engine.value;uses:="org.apache.batik.css.engine
>  ,org.apache.batik.i18n,org.apache.batik.util,org.w3c.css.sac,org.w3c.
>  dom";version="1.14.0",org.apache.batik.css.engine.value.css2;uses:="o
>  rg.apache.batik.css.engine,org.apache.batik.css.engine.value,org.w3c.
>  css.sac,org.w3c.dom";version="1.14.0",org.apache.batik.css.engine.val
>  ue.resources;version="1.14.0",org.apache.batik.css.engine.value.svg;u
>  ses:="org.apache.batik.css.engine,org.apache.batik.css.engine.value,o
>  rg.w3c.css.sac,org.w3c.dom";version="1.14.0",org.apache.batik.css.eng
>  ine.value.svg12;uses:="org.apache.batik.css.engine,org.apache.batik.c
>  ss.engine.value,org.apache.batik.css.engine.value.svg,org.w3c.css.sac
>  ,org.w3c.dom";version="1.14.0",org.apache.batik.css.parser;uses:="org
>  .apache.batik.i18n,org.apache.batik.util.io,org.w3c.css.sac";version=
>  "1.14.0",org.apache.batik.css.parser.resources;version="1.14.0",org.a
>  pache.batik.dom;uses:="javax.xml.transform,org.apache.batik.css.engin
>  e,org.apache.batik.css.engine.value,org.apache.batik.css.parser,org.a
>  pache.batik.dom.events,org.apache.batik.dom.traversal,org.apache.bati
>  k.dom.xbl,org.apache.batik.i18n,org.apache.batik.util,org.apache.bati
>  k.w3c.dom,org.apache.xml.utils,org.apache.xpath,org.apache.xpath.obje
>  cts,org.w3c.dom,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.styles
>  heets,org.w3c.dom.traversal,org.w3c.dom.views,org.w3c.dom.xpath";vers
>  ion="1.14.0",org.apache.batik.dom.events;uses:="org.apache.batik.dom,
>  org.apache.batik.dom.util,org.apache.batik.dom.xbl,org.apache.batik.w
>  3c.dom.events,org.w3c.dom,org.w3c.dom.events,org.w3c.dom.smil,org.w3c
>  .dom.views";version="1.14.0",org.apache.batik.dom.resources;version="
>  1.14.0",org.apache.batik.dom.svg;uses:="org.apache.batik.css.engine,o
>  rg.apache.batik.dom,org.apache.batik.dom.events,org.apache.batik.dom.
>  util,org.apache.batik.parser,org.apache.batik.util,org.w3c.dom,org.w3
>  c.dom.smil,org.w3c.dom.svg";version="1.14.0",org.apache.batik.dom.svg
>  .resources;version="1.14.0",org.apache.batik.dom.svg12;uses:="org.apa
>  che.batik.dom.events,org.apache.batik.dom.xbl,org.w3c.dom.events,org.
>  w3c.dom.views";version="1.14.0",org.apache.batik.dom.traversal;uses:=
>  "org.apache.batik.dom,org.w3c.dom,org.w3c.dom.traversal";version="1.1
>  4.0",org.apache.batik.dom.util;uses:="org.apache.batik.constants,org.
>  apache.batik.util,org.apache.batik.xml,org.w3c.dom,org.w3c.dom.css,or
>  g.xml.sax,org.xml.sax.ext,org.xml.sax.helpers";version="1.14.0",org.a
>  pache.batik.dom.xbl;uses:="org.w3c.dom,org.w3c.dom.events";version="1
>  .14.0",org.apache.batik.ext.awt;version="1.14.0",org.apache.batik.ext
>  .awt.color;uses:="org.apache.batik.util,org.apache.xmlgraphics.java2d
>  .color";version="1.14.0",org.apache.batik.ext.awt.font;version="1.14.
>  0",org.apache.batik.ext.awt.g2d;version="1.14.0",org.apache.batik.ext
>  .awt.geom;version="1.14.0",org.apache.batik.ext.awt.image;uses:="org.
>  apache.batik.ext.awt.image.renderable,org.apache.batik.ext.awt.image.
>  rendered,org.apache.batik.util";version="1.14.0",org.apache.batik.ext
>  .awt.image.codec;version="1.14.0",org.apache.batik.ext.awt.image.code
>  c.imageio;uses:="javax.imageio,javax.imageio.event,javax.imageio.meta
>  data,org.apache.batik.ext.awt.image.renderable,org.apache.batik.ext.a
>  wt.image.spi,org.apache.batik.transcoder,org.apache.batik.transcoder.
>  image,org.apache.batik.util,org.w3c.dom";version="1.14.0",org.apache.
>  batik.ext.awt.image.codec.png;uses:="org.apache.batik.ext.awt.image.c
>  odec.util,org.apache.batik.ext.awt.image.renderable,org.apache.batik.
>  ext.awt.image.rendered,org.apache.batik.ext.awt.image.spi,org.apache.
>  batik.transcoder,org.apache.batik.transcoder.image,org.apache.batik.u
>  til";version="1.14.0",org.apache.batik.ext.awt.image.codec.util;uses:
>  ="org.apache.batik.i18n";version="1.14.0",org.apache.batik.ext.awt.im
>  age.renderable;uses:="org.apache.batik.ext.awt.image,org.apache.batik
>  .ext.awt.image.rendered,org.apache.xmlgraphics.java2d.color";version=
>  "1.14.0",org.apache.batik.ext.awt.image.rendered;uses:="org.apache.ba
>  tik.ext.awt.image,org.apache.batik.util,org.apache.xmlgraphics.java2d
>  .color";version="1.14.0",org.apache.batik.ext.awt.image.spi;uses:="or
>  g.apache.batik.ext.awt.image,org.apache.batik.ext.awt.image.renderabl
>  e,org.apache.batik.util,org.apache.xmlgraphics.java2d.color";version=
>  "1.14.0",org.apache.batik.ext.awt.image.spi.resources;version="1.14.0
>  ",org.apache.batik.ext.swing;uses:="javax.swing,javax.swing.text,org.
>  apache.batik.i18n,org.apache.batik.util.resources";version="1.14.0",o
>  rg.apache.batik.ext.swing.resources;version="1.14.0",org.apache.batik
>  .extension;uses:="org.apache.batik.anim.dom,org.apache.batik.css.engi
>  ne,org.apache.batik.dom,org.apache.batik.util,org.w3c.dom,org.w3c.dom
>  .css,org.w3c.dom.svg";version="1.14.0",org.apache.batik.extension.svg
>  ;uses:="org.apache.batik.anim.dom,org.apache.batik.bridge,org.apache.
>  batik.dom,org.apache.batik.ext.awt.image.renderable,org.apache.batik.
>  ext.awt.image.rendered,org.apache.batik.extension,org.apache.batik.gv
>  t,org.apache.batik.gvt.font,org.apache.batik.gvt.text,org.apache.bati
>  k.parser,org.w3c.dom";version="1.14.0",org.apache.batik.extensions;ve
>  rsion="1.14.0",org.apache.batik.gvt;uses:="javax.swing.event,org.apac
>  he.batik.ext.awt.geom,org.apache.batik.ext.awt.image.renderable,org.a
>  pache.batik.gvt.event,org.apache.batik.gvt.filter";version="1.14.0",o
>  rg.apache.batik.gvt.event;uses:="javax.swing.event,org.apache.batik.g
>  vt";version="1.14.0",org.apache.batik.gvt.filter;uses:="org.apache.ba
>  tik.ext.awt.image.renderable,org.apache.batik.ext.awt.image.rendered,
>  org.apache.batik.gvt";version="1.14.0",org.apache.batik.gvt.flow;uses
>  :="org.apache.batik.ext.awt.geom,org.apache.batik.gvt.font";version="
>  1.14.0",org.apache.batik.gvt.font;uses:="org.apache.batik.gvt,org.apa
>  che.batik.gvt.text,org.apache.batik.util";version="1.14.0",org.apache
>  .batik.gvt.renderer;uses:="org.apache.batik.ext.awt.geom,org.apache.b
>  atik.ext.awt.image.renderable,org.apache.batik.ext.awt.image.rendered
>  ,org.apache.batik.gvt";version="1.14.0",org.apache.batik.gvt.text;ver
>  sion="1.14.0",org.apache.batik.i18n;version="1.14.0",org.apache.batik
>  .parser;uses:="org.apache.batik.ext.awt.geom,org.apache.batik.i18n,or
>  g.apache.batik.util.io,org.w3c.dom";version="1.14.0",org.apache.batik
>  .parser.resources;version="1.14.0",org.apache.batik.parser.style.reso
>  urces;version="1.14.0",org.apache.batik.script;uses:="org.apache.bati
>  k.i18n,org.w3c.dom";version="1.14.0",org.apache.batik.script.jpython;
>  uses:="org.apache.batik.script";version="1.14.0",org.apache.batik.scr
>  ipt.rhino;uses:="org.apache.batik.i18n,org.mozilla.javascript";versio
>  n="1.14.0",org.apache.batik.script.rhino.resources;version="1.14.0",o
>  rg.apache.batik.svggen;uses:="javax.swing,org.apache.batik.constants,
>  org.apache.batik.ext.awt.g2d,org.apache.batik.util,org.w3c.dom";versi
>  on="1.14.0",org.apache.batik.svggen.font;uses:="org.apache.batik.cons
>  tants,org.apache.batik.i18n,org.apache.batik.svggen.font.table,org.ap
>  ache.batik.util";version="1.14.0",org.apache.batik.svggen.font.resour
>  ces;version="1.14.0",org.apache.batik.svggen.font.table;version="1.14
>  .0",org.apache.batik.swing;uses:="javax.swing,javax.swing.event,org.a
>  pache.batik.bridge,org.apache.batik.constants,org.apache.batik.i18n,o
>  rg.apache.batik.swing.gvt,org.apache.batik.swing.svg,org.w3c.dom,org.
>  w3c.dom.events,org.w3c.dom.svg";version="1.14.0",org.apache.batik.swi
>  ng.gvt;uses:="javax.swing,org.apache.batik.bridge,org.apache.batik.gv
>  t,org.apache.batik.gvt.event,org.apache.batik.gvt.renderer,org.apache
>  .batik.util";version="1.14.0",org.apache.batik.swing.resources;versio
>  n="1.14.0",org.apache.batik.swing.svg;uses:="javax.swing.filechooser,
>  org.apache.batik.anim.dom,org.apache.batik.bridge,org.apache.batik.gv
>  t,org.apache.batik.gvt.event,org.apache.batik.gvt.renderer,org.apache
>  .batik.i18n,org.apache.batik.script,org.apache.batik.swing.gvt,org.ap
>  ache.batik.util,org.w3c.dom,org.w3c.dom.svg";version="1.14.0",org.apa
>  che.batik.swing.svg.resources;version="1.14.0",org.apache.batik.trans
>  coder;uses:="org.apache.batik.anim.dom,org.apache.batik.bridge,org.ap
>  ache.batik.dom.util,org.apache.batik.gvt,org.apache.batik.svggen,org.
>  apache.batik.util,org.w3c.dom,org.xml.sax";version="1.14.0",org.apach
>  e.batik.transcoder.image;uses:="org.apache.batik.bridge,org.apache.ba
>  tik.gvt.renderer,org.apache.batik.transcoder,org.w3c.dom";version="1.
>  14.0",org.apache.batik.transcoder.image.resources;uses:="org.apache.b
>  atik.i18n";version="1.14.0",org.apache.batik.transcoder.keys;uses:="o
>  rg.apache.batik.transcoder";version="1.14.0",org.apache.batik.transco
>  der.print;uses:="org.apache.batik.transcoder,org.w3c.dom";version="1.
>  14.0",org.apache.batik.transcoder.svg2svg;uses:="org.apache.batik.tra
>  nscoder,org.apache.batik.xml";version="1.14.0",org.apache.batik.trans
>  coder.wmf;version="1.14.0",org.apache.batik.transcoder.wmf.tosvg;uses
>  :="org.apache.batik.transcoder";version="1.14.0",org.apache.batik.uti
>  l;uses:="org.apache.batik.constants,org.apache.batik.i18n,org.apache.
>  batik.util.resources";version="1.14.0",org.apache.batik.util.gui;uses
>  :="javax.swing,javax.swing.event,javax.swing.filechooser,org.apache.b
>  atik.util.gui.resource,org.apache.batik.util.resources";version="1.14
>  .0",org.apache.batik.util.gui.resource;uses:="javax.swing,org.apache.
>  batik.util.resources";version="1.14.0",org.apache.batik.util.gui.reso
>  urces;version="1.14.0",org.apache.batik.util.gui.resources.flags;vers
>  ion="1.14.0",org.apache.batik.util.gui.xmleditor;uses:="javax.swing,j
>  avax.swing.text,javax.swing.undo";version="1.14.0",org.apache.batik.u
>  til.io;uses:="org.apache.batik.i18n";version="1.14.0",org.apache.bati
>  k.util.io.resources;version="1.14.0",org.apache.batik.util.resources;
>  uses:="org.apache.batik.i18n";version="1.14.0",org.apache.batik.w3c.d
>  om;uses:="org.w3c.dom";version="1.14.0",org.apache.batik.w3c.dom.even
>  ts;uses:="org.w3c.dom,org.w3c.dom.events,org.w3c.dom.views";version="
>  1.14.0",org.apache.batik.xml;uses:="org.apache.batik.i18n,org.apache.
>  batik.util.io";version="1.14.0",org.apache.batik.xml.scanner.resource
>  s;version="1.14.0"
> Import-Package: com.apple.eawt;resolution=optional,javax.imageio,javax
>  .imageio.event,javax.imageio.metadata,javax.imageio.plugins.jpeg,java
>  x.imageio.stream,javax.swing,javax.swing.border,javax.swing.event,jav
>  ax.swing.filechooser,javax.swing.plaf,javax.swing.plaf.basic,javax.sw
>  ing.table,javax.swing.text,javax.swing.tree,javax.swing.undo,javax.xm
>  l.parsers,javax.xml.transform,javax.xml.transform.dom,javax.xml.trans
>  form.stream,org.apache.batik,org.apache.batik.anim,org.apache.batik.a
>  nim.dom,org.apache.batik.anim.timing,org.apache.batik.anim.values,org
>  .apache.batik.bridge,org.apache.batik.bridge.svg12,org.apache.batik.c
>  onstants,org.apache.batik.css.dom,org.apache.batik.css.engine,org.apa
>  che.batik.css.engine.sac,org.apache.batik.css.engine.value,org.apache
>  .batik.css.engine.value.css2,org.apache.batik.css.engine.value.svg,or
>  g.apache.batik.css.engine.value.svg12,org.apache.batik.css.parser,org
>  .apache.batik.dom,org.apache.batik.dom.events,org.apache.batik.dom.sv
>  g,org.apache.batik.dom.svg12,org.apache.batik.dom.traversal,org.apach
>  e.batik.dom.util,org.apache.batik.dom.xbl,org.apache.batik.ext.awt,or
>  g.apache.batik.ext.awt.color,org.apache.batik.ext.awt.g2d,org.apache.
>  batik.ext.awt.geom,org.apache.batik.ext.awt.image,org.apache.batik.ex
>  t.awt.image.codec.util,org.apache.batik.ext.awt.image.renderable,org.
>  apache.batik.ext.awt.image.rendered,org.apache.batik.ext.awt.image.sp
>  i,org.apache.batik.ext.swing,org.apache.batik.extension,org.apache.ba
>  tik.gvt,org.apache.batik.gvt.event,org.apache.batik.gvt.filter,org.ap
>  ache.batik.gvt.flow,org.apache.batik.gvt.font,org.apache.batik.gvt.re
>  nderer,org.apache.batik.gvt.text,org.apache.batik.i18n,org.apache.bat
>  ik.parser,org.apache.batik.script,org.apache.batik.script.rhino,org.a
>  pache.batik.svggen,org.apache.batik.svggen.font,org.apache.batik.svgg
>  en.font.table,org.apache.batik.swing,org.apache.batik.swing.gvt,org.a
>  pache.batik.swing.svg,org.apache.batik.transcoder,org.apache.batik.tr
>  anscoder.image,org.apache.batik.transcoder.image.resources,org.apache
>  .batik.transcoder.keys,org.apache.batik.transcoder.print,org.apache.b
>  atik.transcoder.svg2svg,org.apache.batik.util,org.apache.batik.util.g
>  ui,org.apache.batik.util.gui.resource,org.apache.batik.util.gui.xmled
>  itor,org.apache.batik.util.io,org.apache.batik.util.resources,org.apa
>  che.batik.w3c.dom,org.apache.batik.w3c.dom.events,org.apache.batik.xm
>  l,org.apache.fop.svg,org.apache.xml.utils,org.apache.xmlgraphics.java
>  2d.color,org.apache.xmlgraphics.java2d.color.profile,org.apache.xpath
>  ,org.apache.xpath.objects,org.mozilla.javascript,org.mozilla.javascri
>  pt.tools.debugger,org.python.core,org.python.util,org.w3c.css.sac,org
>  .w3c.dom,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.smil,org.w3c.
>  dom.stylesheets,org.w3c.dom.svg,org.w3c.dom.traversal,org.w3c.dom.vie
>  ws,org.w3c.dom.xpath,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers
> Main-Class: org.apache.batik.apps.svgbrowser.Main
> Provide-Capability: osgi.service;objectClass:List<String>="javax.image
>  io.ImageWriter";mimeType="image/jpeg";codec=ImageIO;effective:=active
>  ,osgi.service;objectClass:List<String>="javax.imageio.ImageWriter";mi
>  meType="image/png";codec=ImageIO;effective:=active,osgi.service;objec
>  tClass:List<String>="javax.imageio.ImageWriter";mimeType="image/tiff"
>  ;codec=ImageIO;effective:=active,osgi.service;objectClass:List<String
>  >="org.apache.batik.bridge.BridgeExtension";effective:=active,osgi.se
>  rvice;objectClass:List<String>="org.apache.batik.dom.DomExtension";ef
>  fective:=active,osgi.service;objectClass:List<String>="org.apache.bat
>  ik.ext.awt.image.spi.RegistryEntry";mimeTypes:List<String>="image/gif
>  ";extensions:List<String>="";effective:=active,osgi.service;objectCla
>  ss:List<String>="org.apache.batik.ext.awt.image.spi.RegistryEntry";mi
>  meTypes:List<String>="image/jpeg,image/jpg";extensions:List<String>="
>  jpg,jpeg";effective:=active,osgi.service;objectClass:List<String>="or
>  g.apache.batik.ext.awt.image.spi.RegistryEntry";mimeTypes:List<String
>  >="image/png";extensions:List<String>=png;effective:=active,osgi.serv
>  ice;objectClass:List<String>="org.apache.batik.ext.awt.image.spi.Regi
>  stryEntry";mimeTypes:List<String>="image/tif,image/tiff";extensions:L
>  ist<String>="tif,tiff";effective:=active,osgi.service;objectClass:Lis
>  t<String>="org.apache.batik.script.InterpreterFactory";mimeTypes:List
>  <String>="text/javascript,text/ecmascript,application/javascript,appl
>  ication/ecmascript";effective:=active,osgi.service;objectClass:List<S
>  tring>="org.apache.batik.script.InterpreterFactory";mimeTypes:List<St
>  ring>="text/python";effective:=active,osgi.serviceloader;osgi.service
>  loader="javax.imageio.ImageWriter";register:="org.apache.batik.ext.aw
>  t.image.codec.imageio.ImageIOJPEGImageWriter";mimeType="image/jpeg";c
>  odec=ImageIO,osgi.serviceloader;osgi.serviceloader="javax.imageio.Ima
>  geWriter";register:="org.apache.batik.ext.awt.image.codec.imageio.Ima
>  geIOPNGImageWriter";mimeType="image/png";codec=ImageIO,osgi.servicelo
>  ader;osgi.serviceloader="javax.imageio.ImageWriter";register:="org.ap
>  ache.batik.ext.awt.image.codec.imageio.ImageIOTIFFImageWriter";mimeTy
>  pe="image/tiff";codec=ImageIO,osgi.serviceloader;osgi.serviceloader="
>  org.apache.batik.bridge.BridgeExtension";register:="org.apache.batik.
>  bridge.SVGBridgeExtension",osgi.serviceloader;osgi.serviceloader="org
>  .apache.batik.bridge.BridgeExtension";register:="org.apache.batik.bri
>  dge.svg12.SVG12BridgeExtension",osgi.serviceloader;osgi.serviceloader
>  ="org.apache.batik.bridge.BridgeExtension";register:="org.apache.bati
>  k.extension.svg.BatikBridgeExtension",osgi.serviceloader;osgi.service
>  loader="org.apache.batik.dom.DomExtension";register:="org.apache.bati
>  k.extension.svg.BatikDomExtension",osgi.serviceloader;osgi.serviceloa
>  der="org.apache.batik.ext.awt.image.spi.RegistryEntry";register:="org
>  .apache.batik.ext.awt.image.codec.imageio.ImageIOJPEGRegistryEntry";m
>  imeTypes:List<String>="image/jpeg,image/jpg";extensions:List<String>=
>  "jpg,jpeg",osgi.serviceloader;osgi.serviceloader="org.apache.batik.ex
>  t.awt.image.spi.RegistryEntry";register:="org.apache.batik.ext.awt.im
>  age.codec.imageio.ImageIOPNGRegistryEntry";mimeTypes:List<String>="im
>  age/png";extensions:List<String>=png,osgi.serviceloader;osgi.servicel
>  oader="org.apache.batik.ext.awt.image.spi.RegistryEntry";register:="o
>  rg.apache.batik.ext.awt.image.codec.imageio.ImageIOTIFFRegistryEntry"
>  ;mimeTypes:List<String>="image/tif,image/tiff";extensions:List<String
>  >="tif,tiff",osgi.serviceloader;osgi.serviceloader="org.apache.batik.
>  ext.awt.image.spi.RegistryEntry";register:="org.apache.batik.ext.awt.
>  image.codec.png.PNGRegistryEntry";mimeTypes:List<String>="image/png";
>  extensions:List<String>=png,osgi.serviceloader;osgi.serviceloader="or
>  g.apache.batik.ext.awt.image.spi.RegistryEntry";register:="org.apache
>  .batik.ext.awt.image.spi.JDKRegistryEntry";mimeTypes:List<String>="im
>  age/gif";extensions:List<String>="",osgi.serviceloader;osgi.servicelo
>  ader="org.apache.batik.script.InterpreterFactory";register:="org.apac
>  he.batik.bridge.RhinoInterpreterFactory";mimeTypes:List<String>="text
>  /javascript,text/ecmascript,application/javascript,application/ecmasc
>  ript",osgi.serviceloader;osgi.serviceloader="org.apache.batik.script.
>  InterpreterFactory";register:="org.apache.batik.script.jpython.JPytho
>  nInterpreterFactory";mimeTypes:List<String>="text/python"
> Require-Capability: osgi.extender;filter:="(&(osgi.extender=osgi.servi
>  celoader.registrar)(version>=1.0.0)(!(version>=2.0.0)))",osgi.ee;filt
>  er:="(&(osgi.ee=JavaSE)(version=1.7))"
> Tool: Bnd-6.2.0.202202251641
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: batik-dev-help@xmlgraphics.apache.org