Ed Merks created TIKA-4945:
------------------------------
Summary: Problematic OSGi metadata in MANIFEST.MF of 4.1.0
Key: TIKA-4945
URL: https://issues.apache.org/jira/browse/TIKA-4945
Project: Tika
Issue Type: Bug
Components: core
Affects Versions: 4.1.0
Environment: OSGi/Equinox
Reporter: Ed Merks
When trying to install the following version in an OSGi (Equinox) environment:
[https://repo.maven.apache.org/maven2/org/apache/tika/tika-core/4.1.0/]
It fails like this:
{color:#ff0000} ERROR: org.eclipse.equinox.p2.director code=0 Missing
requirement for filter properties ~= $0: Apache Tika core 4.1.0
(org.apache.tika.core 4.1.0) requires 'osgi.serviceloader;
(osgi.serviceloader=org.apache.tika.detect.Detector),
filter=(!(org.eclipse.equinox.p2.disable.require.capability.osgi.serviceloader=true))'
but it could not be found{color}
I believe the OSGi metadata is ill-defined. In particular the following
aspect. There are Require-Capability declaration for which there do not
appear to be matching ProvideCapability declarations:
Provide-Capability
osgi.service;objectClass:List<String>="org.apache.tika.detect.EncodingDetector";effective:=active
osgi.service;objectClass:List<String>="org.apache.tika.metadata.filter.MetadataFilter";effective:=active
osgi.serviceloader;osgi.serviceloader="org.apache.tika.detect.EncodingDetector";register:="org.apache.tika.detect.BOMDetector"
osgi.serviceloader;osgi.serviceloader="org.apache.tika.detect.EncodingDetector";register:="org.apache.tika.detect.MetadataCharsetDetector"
osgi.serviceloader;osgi.serviceloader="org.apache.tika.metadata.filter.MetadataFilter";register:="org.apache.tika.metadata.filter.NoOpFilter"
Require-Capability osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=17))"
osgi.extender;filter:="(&(osgi.extender=osgi.serviceloader.processor)(version>=1.0.0)(!(version>=2.0.0)))"
osgi.extender;filter:="(&(osgi.extender=osgi.serviceloader.registrar)(version>=1.0.0)(!(version>=2.0.0)))";resolution:=optional
osgi.serviceloader;osgi.serviceloader="org.apache.tika.detect.Detector";filter:="(osgi.serviceloader=org.apache.tika.detect.Detector)"
osgi.serviceloader;osgi.serviceloader="org.apache.tika.detect.EncodingDetector";filter:="(osgi.serviceloader=org.apache.tika.detect.EncodingDetector)"
osgi.serviceloader;osgi.serviceloader="org.apache.tika.language.detect.LanguageDetector";filter:="(osgi.serviceloader=org.apache.tika.language.detect.LanguageDetector)"
osgi.serviceloader;osgi.serviceloader="org.apache.tika.metadata.filter.MetadataFilter";filter:="(osgi.serviceloader=org.apache.tika.metadata.filter.MetadataFilter)"
osgi.serviceloader;osgi.serviceloader="org.apache.tika.parser.Parser";filter:="(osgi.serviceloader=org.apache.tika.parser.Parser)"
I'm trying to update Orbit to include the latest version:
https://github.com/eclipse-orbit/orbit-simrel/blob/main/maven-osgi/tp/Maven.target#L1146-L1148
--
This message was sent by Atlassian Jira
(v8.20.10#820010)