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)

Reply via email to