[
https://issues.apache.org/jira/browse/COMPRESS-660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17818511#comment-17818511
]
Gary D. Gregory commented on COMPRESS-660:
------------------------------------------
The POM says:
{code:xml}
<commons.osgi.import>
org.tukaani.xz;resolution:=optional,
org.brotli.dec;resolution:=optional,
com.github.luben.zstd;resolution:=optional,
org.objectweb.asm;resolution:=optional,
javax.crypto.*;resolution:=optional,
org.apache.commons.commons-codec;resolution:=optional,
org.apache.commons.commons-io;resolution:=optional,
org.apache.commons.lang3.reflect;resolution:=optional,
*
</commons.osgi.import>
{code}
and if I unzip the jar I see:
{noformat}
Manifest-Version: 1.0
Created-By: Apache Maven Bundle Plugin 5.1.9
Build-Jdk-Spec: 17
Automatic-Module-Name: org.apache.commons.compress
Extension-Name: org.apache.commons.compress
Implementation-Title: Apache Commons Compress
Implementation-Vendor: The Apache Software Foundation
Implementation-Vendor-Id: org.apache
Implementation-Version: 1.26.0
Main-Class: org.apache.commons.compress.archivers.Lister
Specification-Title: Apache Commons Compress
Specification-Vendor: The Apache Software Foundation
Specification-Version: 1.26.0
X-Compile-Source-JDK: 1.8
X-Compile-Target-JDK: 1.8
Bundle-Description: Apache Commons Compress defines an API for working w
ithcompression and archive formats. These include bzip2, gzip, pack200,
LZMA, XZ, Snappy, traditional Unix Compress, DEFLATE, DEFLATE64, LZ4,Br
otli, Zstandard and ar, cpio, jar, tar, zip, dump, 7z, arj.
Bundle-DocURL: https://commons.apache.org/proper/commons-compress/
Bundle-License: https://www.apache.org/licenses/LICENSE-2.0.txt
Bundle-ManifestVersion: 2
Bundle-Name: Apache Commons Compress
Bundle-SymbolicName: org.apache.commons.commons-compress
Bundle-Vendor: The Apache Software Foundation
Bundle-Version: 1.26.0
Export-Package: org.apache.commons.compress;version="1.26.0",org.apache.
commons.compress.archivers;version="1.26.0",org.apache.commons.compress
.archivers.ar;version="1.26.0",org.apache.commons.compress.archivers.ar
j;version="1.26.0",org.apache.commons.compress.archivers.cpio;version="
1.26.0",org.apache.commons.compress.archivers.dump;version="1.26.0",org
.apache.commons.compress.archivers.examples;version="1.26.0",org.apache
.commons.compress.archivers.jar;version="1.26.0",org.apache.commons.com
press.archivers.sevenz;version="1.26.0",org.apache.commons.compress.arc
hivers.tar;version="1.26.0",org.apache.commons.compress.archivers.zip;v
ersion="1.26.0",org.apache.commons.compress.changes;version="1.26.0",or
g.apache.commons.compress.compressors;version="1.26.0",org.apache.commo
ns.compress.compressors.brotli;version="1.26.0",org.apache.commons.comp
ress.compressors.bzip2;version="1.26.0",org.apache.commons.compress.com
pressors.deflate;version="1.26.0",org.apache.commons.compress.compresso
rs.deflate64;version="1.26.0",org.apache.commons.compress.compressors.g
zip;version="1.26.0",org.apache.commons.compress.compressors.lz4;versio
n="1.26.0",org.apache.commons.compress.compressors.lz77support;version=
"1.26.0",org.apache.commons.compress.compressors.lzma;version="1.26.0",
org.apache.commons.compress.compressors.lzw;version="1.26.0",org.apache
.commons.compress.compressors.pack200;version="1.26.0",org.apache.commo
ns.compress.compressors.snappy;version="1.26.0",org.apache.commons.comp
ress.compressors.xz;version="1.26.0",org.apache.commons.compress.compre
ssors.z;version="1.26.0",org.apache.commons.compress.compressors.zstand
ard;version="1.26.0",org.apache.commons.compress.harmony;version="1.26.
0",org.apache.commons.compress.harmony.archive.internal.nls;version="1.
26.0",org.apache.commons.compress.harmony.pack200;version="1.26.0",org.
apache.commons.compress.harmony.unpack200;version="1.26.0",org.apache.c
ommons.compress.harmony.unpack200.bytecode;version="1.26.0",org.apache.
commons.compress.harmony.unpack200.bytecode.forms;version="1.26.0",org.
apache.commons.compress.java.util.jar;version="1.26.0",org.apache.commo
ns.compress.parallel;version="1.26.0",org.apache.commons.compress.utils
;version="1.26.0"
Import-Package: org.tukaani.xz;resolution:=optional,org.brotli.dec;resol
ution:=optional,com.github.luben.zstd;resolution:=optional,org.objectwe
b.asm;resolution:=optional,javax.crypto;resolution:=optional,javax.cryp
to.spec;resolution:=optional,org.apache.commons.lang3.reflect;resolutio
n:=optional,org.apache.commons.codec,org.apache.commons.codec.digest,or
g.apache.commons.io,org.apache.commons.io.build,org.apache.commons.io.f
ile.attribute,org.apache.commons.io.input,org.apache.commons.io.output,
org.apache.commons.commons-codec;resolution:=optional,org.apache.common
s.commons-io;resolution:=optional
Include-Resource: META-INF/LICENSE.txt=LICENSE.txt,META-INF/NOTICE.txt=N
OTICE.txt
Originally-Created-By: Apache Maven Bundle Plugin 5.1.9
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))"
Tool: Bnd-6.4.1.202306080939
Multi-Release: true
{noformat}
which includes
{noformat}
org.apache.commons.commons-codec;resolution:=optional
{noformat}
Which instead should be:
{noformat}
org.apache.commons.codec;resolution:=optional
{noformat}
?
> OSGi Manifest requires optional dependency commons-codec
> --------------------------------------------------------
>
> Key: COMPRESS-660
> URL: https://issues.apache.org/jira/browse/COMPRESS-660
> Project: Commons Compress
> Issue Type: Bug
> Components: Build
> Affects Versions: 1.26.0
> Reporter: Christoph Loy
> Priority: Major
>
> Since version 1.26, commons-compress *optionally* [requires
> commons-codec|https://github.com/apache/commons-compress/blob/09a271dfd73e3ce01815f3f65057f92b5b7009bb/pom.xml#L134].
> In the OSGi-Manifest, the Import-Package declaration for
> org.apache.commons.codec does not have the resolution:=optional attribute.
>
> In our case, we have commons-compress as maven dependency. Since
> commons-codec is an optional dependency, it is not downloaded automatically.
> But when we start our application, we get an OSGi error that commons-codec
> cannot be resolved.
>
>
> To fix this issue, the Import-Package delcaration to all
> apache.commons.compress packages has to be marked with resolution:=optional
> in META-INF/MANIFEST.MF.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)