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