1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-06-19 00:17:51 +02:00

Create key value pairs from a MANIFEST.MF file, to include key multiline value pairs.

This commit is contained in:
listuser
2021-12-29 12:15:15 -08:00
parent 3ac8d0362b
commit 7edad3f676
8 changed files with 3042 additions and 0 deletions

228
jc/parsers/metamf.py Normal file
View File

@ -0,0 +1,228 @@
"""jc - JSON CLI output utility `metamf` command output parser
Options supported:
- none
Create key value pairs from a MANIFEST.MF file, to include key multiline value pairs.
Usage (cli):
$ cat MANIFEST.MF | jc --metamf
Usage (module):
import jc.parsers.metamf
result = jc.parsers.metamf.parse(metamf_command_output)
Schema:
[
{
"key1": string/int/float/boolean/null/array/object,
"key2": string/int/float/boolean/null/array/object
}
]
Examples:
$ cat MANIFEST.MF | jc --metamf -p
$ unzip -c apache-log4j-2.16.0-bin/log4j-core-2.16.0.jar META-INF/MANIFEST.MF | jc --metamf -p
$ unzip -c 'apache-log4j-2.16.0-bin/*.jar' META-INF/MANIFEST.MF | jc --metamf -p
$ cat MANIFEST.MF | jc --metamf -p
[
{
"Import_Package": "com.conversantmedia.util.concurrent;resolution:=optional,com.fasterxml.jackson.annotation;version=\"[2.12,3)\";resolution:=optional,com.fasterxml.jackson.core;version=\"[2.12,3)\";resolution:=optional,com.fasterxml.jackson.core.type;version=\"[2.12,3)\";resolution:=optional,com.fasterxml.jackson.cor...",
"Export_Package": "org.apache.logging.log4j.core;uses:=\"org.apache.logging.log4j,org.apache.logging.log4j.core.config,org.apache.logging.log4j.core.impl,org.apache.logging.log4j.core.layout,org.apache.logging.log4j.core.time,org.apache.logging.log4j.message,org.apache.logging.log4j.spi,org.apache.logging.log4j.status...",
"Manifest_Version": "1.0",
"Bundle_License": "https://www.apache.org/licenses/LICENSE-2.0.txt",
"Bundle_SymbolicName": "org.apache.logging.log4j.core",
"Built_By": "matt",
"Bnd_LastModified": "1639373735804",
"Implementation_Vendor_Id": "org.apache.logging.log4j",
"Specification_Title": "Apache Log4j Core",
"Log4jReleaseManager": "Matt Sicker",
...
}
]
$ unzip -c 'apache-log4j-2.16.0-bin/*.jar' META-INF/MANIFEST.MF | jc --metamf -p
[
...
{
"inflating": "META-INF/MANIFEST.MF",
"Archive": "apache-log4j-2.16.0-bin/log4j-spring-boot-2.16.0-sources.jar",
"Manifest_Version": "1.0",
"Built_By": "matt",
"Created_By": "Apache Maven 3.8.4",
"Build_Jdk": "1.8.0_312"
},
{
"inflating": "META-INF/MANIFEST.MF",
"Archive": "apache-log4j-2.16.0-bin/log4j-spring-boot-2.16.0-javadoc.jar",
"Manifest_Version": "1.0",
"Built_By": "matt",
"Created_By": "Apache Maven 3.8.4",
"Build_Jdk": "1.8.0_312"
},
{
"inflating": "META-INF/MANIFEST.MF",
"Bundle_SymbolicName": "org.apache.logging.log4j.spring-cloud-config-client.logging.log4j.core.util;version=\"[2.16,3)\",org.springframework.boot.autoconfigure.condition,org.springframework.cloud.context.environment,org.springframework.context,org.springframework.stereotype",
"Export_Package": "org.apache.logging.log4j.spring.cloud.config.controller;version=\"2.16.0\"ient",
"Archive": "apache-log4j-2.16.0-bin/log4j-spring-cloud-config-client-2.16.0.jar",
"Manifest_Version": "1.0",
"Bundle_License": "https://www.apache.org/licenses/LICENSE-2.0.txt",
...
}
...
]
"""
import jc.utils
import jc.parsers.universal
import re
class info():
"""Provides parser metadata (version, author, etc.)"""
version = '0.01'
description = 'MANIFEST.MF file parser'
author = 'Matt J'
author_email = 'https://github.com/listuser'
compatible = ['linux']
__version__ = info.version
def _process(proc_data):
"""
Final processing to conform to the schema.
Parameters:
proc_data: (List of Dictionaries) raw structured data to process
Returns:
List of Dictionaries. Structured data to conform to the schema.
"""
return proc_data
def parse(data, raw=False, quiet=False):
"""
Main text parsing function
Parameters:
data: (string) text data to parse
raw: (boolean) output preprocessed JSON if True
quiet: (boolean) suppress warning messages if True
Returns:
List of Dictionaries. Raw or processed structured data.
"""
jc.utils.compatibility(__name__, info.compatible, quiet)
jc.utils.input_type_check(data)
raw_output = []
archives = []
if jc.utils.has_data(data):
datalines = data.splitlines()
# remove last line of multi-archive output since it is not needed
if datalines[-1].endswith('archives were successfully processed.'):
datalines.pop(-1)
# extract each archive into its own list of lines.
# archives are separated by a blank line
this_archive = []
for row in datalines:
if row == '':
archives.append(this_archive)
this_archive = []
continue
this_archive.append(row)
if this_archive:
archives.append(this_archive)
# iterate through list of archives and parse
for archive_item in archives:
manifests = []
this_manifest = {}
plines = []
for i, line in enumerate(archive_item):
last = archive_item[-1]
# handle this line separately
if (re.match(r'^\s+inflating\s*:\s*META-INF/MANIFEST.MF', line, re.IGNORECASE)):
k, v = line.split(":", maxsplit=1)
v = re.sub(r'\s', '', v)
manifests.append({k: v})
archive_item.pop(i)
continue
# if line starts with "space"
# begin key multiline value pair concatenation
if (re.match(r'\s', line)):
# expectation is this "if" sets a key once
if (not this_manifest):
# previous line contains a key
k, v = archive_item[i - 1].split(":", maxsplit=1)
v = v + line
v = re.sub(r'\s', '', v)
this_manifest = {k: v}
plines.append(i - 1)
plines.append(i)
# continue key multiline value pair concatenation
else:
plines.append(i)
linecmp = line
for k, v in this_manifest.items():
line = v + line
line = re.sub(r'\s', '', line)
this_manifest.update({k:line})
if linecmp is not last:
nextline = archive_item[i + 1]
# if next line starts with not "space",
# end key multiline value pair concatenation
if (re.match(r'\S', nextline)):
manifests.append(this_manifest)
this_manifest = False
else:
manifests.append(this_manifest)
# pop key multiline value pair lines
if plines:
for p in reversed(plines):
archive_item.pop(p)
# all other key value pairs
for i, line in enumerate(archive_item):
k, v = line.split(":", maxsplit=1)
v = v.rstrip()
v = v.lstrip()
manifests.append({k: v})
if manifests:
this_manifest = {}
for d in manifests:
for k, v in d.items():
k = re.sub(r'\s', '', k)
k = re.sub(r'-', '_', k)
this_manifest.update({k: v})
raw_output.append(this_manifest)
return raw_output if raw else _process(raw_output)

292
tests/fixtures/rhel-8/MANIFEST.MF vendored Normal file
View File

@ -0,0 +1,292 @@
Manifest-Version: 1.0
Bundle-License: https://www.apache.org/licenses/LICENSE-2.0.txt
Bundle-SymbolicName: org.apache.logging.log4j.core
Built-By: rgoers
Bnd-LastModified: 1639792304782
Implementation-Vendor-Id: org.apache.logging.log4j
Specification-Title: Apache Log4j Core
Log4jReleaseManager: Ralph Goers
Bundle-DocURL: https://www.apache.org/
Import-Package: com.conversantmedia.util.concurrent;resolution:=option
al,com.fasterxml.jackson.annotation;version="[2.12,3)";resolution:=op
tional,com.fasterxml.jackson.core;version="[2.12,3)";resolution:=opti
onal,com.fasterxml.jackson.core.type;version="[2.12,3)";resolution:=o
ptional,com.fasterxml.jackson.core.util;version="[2.12,3)";resolution
:=optional,com.fasterxml.jackson.databind;version="[2.12,3)";resoluti
on:=optional,com.fasterxml.jackson.databind.annotation;version="[2.12
,3)";resolution:=optional,com.fasterxml.jackson.databind.deser.std;ve
rsion="[2.12,3)";resolution:=optional,com.fasterxml.jackson.databind.
module;version="[2.12,3)";resolution:=optional,com.fasterxml.jackson.
databind.node;version="[2.12,3)";resolution:=optional,com.fasterxml.j
ackson.databind.ser;version="[2.12,3)";resolution:=optional,com.faste
rxml.jackson.databind.ser.impl;version="[2.12,3)";resolution:=optiona
l,com.fasterxml.jackson.databind.ser.std;version="[2.12,3)";resolutio
n:=optional,com.fasterxml.jackson.dataformat.xml;version="[2.12,3)";r
esolution:=optional,com.fasterxml.jackson.dataformat.xml.annotation;v
ersion="[2.12,3)";resolution:=optional,com.fasterxml.jackson.dataform
at.xml.util;version="[2.12,3)";resolution:=optional,com.fasterxml.jac
kson.dataformat.yaml;version="[2.12,3)";resolution:=optional,com.lmax
.disruptor;version="[3.4,4)";resolution:=optional,com.lmax.disruptor.
dsl;version="[3.4,4)";resolution:=optional,javax.activation;version="
[1.2,2)";resolution:=optional,javax.annotation.processing,javax.crypt
o,javax.jms;version="[1.1,2)";resolution:=optional,javax.lang.model,j
avax.lang.model.element,javax.lang.model.util,javax.mail;version="[1.
6,2)";resolution:=optional,javax.mail.internet;version="[1.6,2)";reso
lution:=optional,javax.mail.util;version="[1.6,2)";resolution:=option
al,javax.management,javax.naming,javax.net,javax.net.ssl,javax.script
,javax.sql,javax.tools,javax.xml.parsers,javax.xml.stream,javax.xml.t
ransform,javax.xml.transform.stream,javax.xml.validation,org.apache.c
ommons.compress.compressors;version="[1.21,2)";resolution:=optional,o
rg.apache.commons.compress.utils;version="[1.21,2)";resolution:=optio
nal,org.apache.commons.csv;version="[1.9,2)";resolution:=optional,org
.apache.kafka.clients.producer;resolution:=optional,org.apache.loggin
g.log4j;version="[2.17,3)",org.apache.logging.log4j.core,org.apache.l
ogging.log4j.core.appender,org.apache.logging.log4j.core.appender.db,
org.apache.logging.log4j.core.appender.rewrite,org.apache.logging.log
4j.core.appender.rolling,org.apache.logging.log4j.core.appender.rolli
ng.action,org.apache.logging.log4j.core.async,org.apache.logging.log4
j.core.config,org.apache.logging.log4j.core.config.arbiters,org.apach
e.logging.log4j.core.config.builder.api,org.apache.logging.log4j.core
.config.builder.impl,org.apache.logging.log4j.core.config.composite,o
rg.apache.logging.log4j.core.config.json,org.apache.logging.log4j.cor
e.config.plugins,org.apache.logging.log4j.core.config.plugins.convert
,org.apache.logging.log4j.core.config.plugins.processor,org.apache.lo
gging.log4j.core.config.plugins.util,org.apache.logging.log4j.core.co
nfig.plugins.validation,org.apache.logging.log4j.core.config.plugins.
validation.constraints,org.apache.logging.log4j.core.config.plugins.v
alidation.validators,org.apache.logging.log4j.core.config.plugins.vis
itors,org.apache.logging.log4j.core.config.status,org.apache.logging.
log4j.core.filter,org.apache.logging.log4j.core.impl,org.apache.loggi
ng.log4j.core.jackson,org.apache.logging.log4j.core.jmx,org.apache.lo
gging.log4j.core.layout,org.apache.logging.log4j.core.layout.internal
,org.apache.logging.log4j.core.lookup,org.apache.logging.log4j.core.n
et,org.apache.logging.log4j.core.net.ssl,org.apache.logging.log4j.cor
e.pattern,org.apache.logging.log4j.core.script,org.apache.logging.log
4j.core.selector,org.apache.logging.log4j.core.time,org.apache.loggin
g.log4j.core.tools.picocli,org.apache.logging.log4j.core.util,org.apa
che.logging.log4j.core.util.datetime,org.apache.logging.log4j.message
;version="[2.17,3)",org.apache.logging.log4j.spi;version="[2.17,3)",o
rg.apache.logging.log4j.status;version="[2.17,3)",org.apache.logging.
log4j.util;version="[2.17,3)",org.codehaus.stax2;version="[4.2,5)";re
solution:=optional,org.fusesource.jansi;version="[2.3,3)";resolution:
=optional,org.jctools.queues;resolution:=optional,org.osgi.framework;
version="[1.6,2)",org.osgi.framework.wiring;version="[1.0,2)",org.w3c
.dom,org.xml.sax,org.zeromq;version="[0.4,1)";resolution:=optional,su
n.reflect;resolution:=optional
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))"
Export-Package: org.apache.logging.log4j.core;uses:="org.apache.loggin
g.log4j,org.apache.logging.log4j.core.config,org.apache.logging.log4j
.core.impl,org.apache.logging.log4j.core.layout,org.apache.logging.lo
g4j.core.time,org.apache.logging.log4j.message,org.apache.logging.log
4j.spi,org.apache.logging.log4j.status,org.apache.logging.log4j.util"
;version="2.17.0",org.apache.logging.log4j.core.appender;uses:="org.a
pache.logging.log4j,org.apache.logging.log4j.core,org.apache.logging.
log4j.core.appender.rolling,org.apache.logging.log4j.core.async,org.a
pache.logging.log4j.core.config,org.apache.logging.log4j.core.config.
plugins,org.apache.logging.log4j.core.config.plugins.validation.const
raints,org.apache.logging.log4j.core.filter,org.apache.logging.log4j.
core.impl,org.apache.logging.log4j.core.layout,org.apache.logging.log
4j.core.net,org.apache.logging.log4j.core.net.ssl,org.apache.logging.
log4j.core.script,org.apache.logging.log4j.core.util,org.apache.loggi
ng.log4j.status";version="2.17.0",org.apache.logging.log4j.core.appen
der.db;uses:="org.apache.logging.log4j.core,org.apache.logging.log4j.
core.appender,org.apache.logging.log4j.core.config,org.apache.logging
.log4j.core.config.plugins,org.apache.logging.log4j.core.util";versio
n="2.17.0",org.apache.logging.log4j.core.appender.db.jdbc;uses:="org.
apache.logging.log4j,org.apache.logging.log4j.core,org.apache.logging
.log4j.core.appender.db,org.apache.logging.log4j.core.config,org.apac
he.logging.log4j.core.config.plugins,org.apache.logging.log4j.core.co
nfig.plugins.validation.constraints,org.apache.logging.log4j.core.lay
out,org.apache.logging.log4j.core.util";version="2.17.0",org.apache.l
ogging.log4j.core.appender.mom;uses:="javax.jms,org.apache.logging.lo
g4j.core,org.apache.logging.log4j.core.appender,org.apache.logging.lo
g4j.core.config,org.apache.logging.log4j.core.config.plugins,org.apac
he.logging.log4j.core.net,org.apache.logging.log4j.core.util";version
="2.17.0",org.apache.logging.log4j.core.appender.mom.jeromq;uses:="or
g.apache.logging.log4j.core,org.apache.logging.log4j.core.appender,or
g.apache.logging.log4j.core.config,org.apache.logging.log4j.core.conf
ig.plugins,org.apache.logging.log4j.core.config.plugins.validation.co
nstraints,org.zeromq";version="2.17.0",org.apache.logging.log4j.core.
appender.mom.kafka;uses:="org.apache.kafka.clients.producer,org.apach
e.logging.log4j.core,org.apache.logging.log4j.core.appender,org.apach
e.logging.log4j.core.config,org.apache.logging.log4j.core.config.plug
ins,org.apache.logging.log4j.core.util";version="2.17.0",org.apache.l
ogging.log4j.core.appender.nosql;uses:="org.apache.logging.log4j.core
,org.apache.logging.log4j.core.appender,org.apache.logging.log4j.core
.appender.db,org.apache.logging.log4j.core.config.plugins,org.apache.
logging.log4j.core.util";version="2.17.0",org.apache.logging.log4j.co
re.appender.rewrite;uses:="org.apache.logging.log4j,org.apache.loggin
g.log4j.core,org.apache.logging.log4j.core.appender,org.apache.loggin
g.log4j.core.config,org.apache.logging.log4j.core.config.plugins,org.
apache.logging.log4j.core.util";version="2.17.0",org.apache.logging.l
og4j.core.appender.rolling;uses:="org.apache.logging.log4j,org.apache
.logging.log4j.core,org.apache.logging.log4j.core.appender,org.apache
.logging.log4j.core.appender.rolling.action,org.apache.logging.log4j.
core.config,org.apache.logging.log4j.core.config.plugins,org.apache.l
ogging.log4j.core.lookup,org.apache.logging.log4j.core.util";version=
"2.17.0",org.apache.logging.log4j.core.appender.rolling.action;uses:=
"org.apache.logging.log4j,org.apache.logging.log4j.core.config,org.ap
ache.logging.log4j.core.config.plugins,org.apache.logging.log4j.core.
lookup,org.apache.logging.log4j.core.script,org.apache.logging.log4j.
core.util";version="2.17.0",org.apache.logging.log4j.core.appender.ro
uting;uses:="org.apache.logging.log4j.core,org.apache.logging.log4j.c
ore.appender,org.apache.logging.log4j.core.appender.rewrite,org.apach
e.logging.log4j.core.config,org.apache.logging.log4j.core.config.plug
ins,org.apache.logging.log4j.core.script,org.apache.logging.log4j.cor
e.util";version="2.17.0",org.apache.logging.log4j.core.async;uses:="c
om.conversantmedia.util.concurrent,com.lmax.disruptor,org.apache.logg
ing.log4j,org.apache.logging.log4j.core,org.apache.logging.log4j.core
.appender,org.apache.logging.log4j.core.config,org.apache.logging.log
4j.core.config.plugins,org.apache.logging.log4j.core.config.plugins.v
alidation.constraints,org.apache.logging.log4j.core.impl,org.apache.l
ogging.log4j.core.jmx,org.apache.logging.log4j.core.selector,org.apac
he.logging.log4j.core.time,org.apache.logging.log4j.core.util,org.apa
che.logging.log4j.message,org.apache.logging.log4j.util";version="2.1
7.0",org.apache.logging.log4j.core.config;uses:="org.apache.logging.l
og4j,org.apache.logging.log4j.core,org.apache.logging.log4j.core.asyn
c,org.apache.logging.log4j.core.config.builder.api,org.apache.logging
.log4j.core.config.plugins,org.apache.logging.log4j.core.config.plugi
ns.util,org.apache.logging.log4j.core.config.plugins.validation.const
raints,org.apache.logging.log4j.core.filter,org.apache.logging.log4j.
core.impl,org.apache.logging.log4j.core.lookup,org.apache.logging.log
4j.core.net,org.apache.logging.log4j.core.script,org.apache.logging.l
og4j.core.util,org.apache.logging.log4j.message,org.apache.logging.lo
g4j.util";version="2.17.0",org.apache.logging.log4j.core.config.arbit
ers;uses:="org.apache.logging.log4j.core.config,org.apache.logging.lo
g4j.core.config.plugins,org.apache.logging.log4j.core.util";version="
2.17.0",org.apache.logging.log4j.core.config.builder.api;uses:="org.a
pache.logging.log4j,org.apache.logging.log4j.core,org.apache.logging.
log4j.core.config,org.apache.logging.log4j.core.config.builder.impl,o
rg.apache.logging.log4j.core.util";version="2.17.0",org.apache.loggin
g.log4j.core.config.builder.impl;uses:="javax.xml.transform,org.apach
e.logging.log4j,org.apache.logging.log4j.core,org.apache.logging.log4
j.core.config,org.apache.logging.log4j.core.config.builder.api,org.ap
ache.logging.log4j.core.config.plugins.util,org.apache.logging.log4j.
core.config.status";version="2.17.0",org.apache.logging.log4j.core.co
nfig.composite;uses:="org.apache.logging.log4j.core.config,org.apache
.logging.log4j.core.config.plugins.util";version="2.17.0",org.apache.
logging.log4j.core.config.json;uses:="com.fasterxml.jackson.databind,
org.apache.logging.log4j.core,org.apache.logging.log4j.core.config,or
g.apache.logging.log4j.core.config.plugins";version="2.17.0",org.apac
he.logging.log4j.core.config.plugins;uses:="org.apache.logging.log4j.
core.config.plugins.visitors";version="2.17.0",org.apache.logging.log
4j.core.config.plugins.convert;uses:="org.apache.logging.log4j,org.ap
ache.logging.log4j.core.appender.rolling.action,org.apache.logging.lo
g4j.core.config.plugins,org.apache.logging.log4j.core.util";version="
2.17.0",org.apache.logging.log4j.core.config.plugins.processor;uses:=
"javax.annotation.processing,javax.lang.model,javax.lang.model.elemen
t";version="2.17.0",org.apache.logging.log4j.core.config.plugins.util
;uses:="org.apache.logging.log4j.core,org.apache.logging.log4j.core.c
onfig,org.apache.logging.log4j.core.config.plugins.processor,org.apac
he.logging.log4j.core.util";version="2.17.0",org.apache.logging.log4j
.core.config.plugins.validation;version="2.17.0",org.apache.logging.l
og4j.core.config.plugins.validation.constraints;uses:="org.apache.log
ging.log4j.core.config.plugins.validation,org.apache.logging.log4j.co
re.config.plugins.validation.validators";version="2.17.0",org.apache.
logging.log4j.core.config.plugins.validation.validators;uses:="org.ap
ache.logging.log4j.core.config.plugins.validation,org.apache.logging.
log4j.core.config.plugins.validation.constraints";version="2.17.0",or
g.apache.logging.log4j.core.config.plugins.visitors;uses:="org.apache
.logging.log4j,org.apache.logging.log4j.core,org.apache.logging.log4j
.core.config,org.apache.logging.log4j.core.config.plugins,org.apache.
logging.log4j.core.lookup";version="2.17.0",org.apache.logging.log4j.
core.config.properties;uses:="org.apache.logging.log4j.core,org.apach
e.logging.log4j.core.config,org.apache.logging.log4j.core.config.buil
der.api,org.apache.logging.log4j.core.config.builder.impl,org.apache.
logging.log4j.core.config.plugins,org.apache.logging.log4j.core.util"
;version="2.17.0",org.apache.logging.log4j.core.config.status;uses:="
org.apache.logging.log4j";version="2.17.0",org.apache.logging.log4j.c
ore.config.xml;uses:="org.apache.logging.log4j.core,org.apache.loggin
g.log4j.core.config,org.apache.logging.log4j.core.config.plugins";ver
sion="2.17.0",org.apache.logging.log4j.core.config.yaml;uses:="com.fa
sterxml.jackson.databind,org.apache.logging.log4j.core,org.apache.log
ging.log4j.core.config,org.apache.logging.log4j.core.config.json,org.
apache.logging.log4j.core.config.plugins";version="2.17.0",org.apache
.logging.log4j.core.filter;uses:="org.apache.logging.log4j,org.apache
.logging.log4j.core,org.apache.logging.log4j.core.config,org.apache.l
ogging.log4j.core.config.plugins,org.apache.logging.log4j.core.script
,org.apache.logging.log4j.core.util,org.apache.logging.log4j.message,
org.apache.logging.log4j.util";version="2.17.0",org.apache.logging.lo
g4j.core.impl;uses:="org.apache.logging.log4j,org.apache.logging.log4
j.core,org.apache.logging.log4j.core.config,org.apache.logging.log4j.
core.pattern,org.apache.logging.log4j.core.selector,org.apache.loggin
g.log4j.core.time,org.apache.logging.log4j.core.util,org.apache.loggi
ng.log4j.message,org.apache.logging.log4j.spi,org.apache.logging.log4
j.util";version="2.17.0",org.apache.logging.log4j.core.jackson;uses:=
"com.fasterxml.jackson.core,com.fasterxml.jackson.databind,com.faster
xml.jackson.databind.deser.std,com.fasterxml.jackson.databind.ser.std
,com.fasterxml.jackson.dataformat.xml,com.fasterxml.jackson.dataforma
t.yaml,org.apache.logging.log4j.message,org.apache.logging.log4j.util
";version="2.17.0",org.apache.logging.log4j.core.jmx;uses:="com.lmax.
disruptor,javax.management,org.apache.logging.log4j,org.apache.loggin
g.log4j.core,org.apache.logging.log4j.core.appender,org.apache.loggin
g.log4j.core.config,org.apache.logging.log4j.core.selector,org.apache
.logging.log4j.status";version="2.17.0",org.apache.logging.log4j.core
.layout;uses:="com.fasterxml.jackson.annotation,com.fasterxml.jackson
.core,com.fasterxml.jackson.databind,com.fasterxml.jackson.dataformat
.xml.annotation,org.apache.commons.csv,org.apache.logging.log4j,org.a
pache.logging.log4j.core,org.apache.logging.log4j.core.config,org.apa
che.logging.log4j.core.config.plugins,org.apache.logging.log4j.core.i
mpl,org.apache.logging.log4j.core.net,org.apache.logging.log4j.core.p
attern,org.apache.logging.log4j.core.script,org.apache.logging.log4j.
core.util,org.apache.logging.log4j.message";version="2.17.0",org.apac
he.logging.log4j.core.layout.internal;version="2.17.0",org.apache.log
ging.log4j.core.lookup;uses:="org.apache.logging.log4j.core,org.apach
e.logging.log4j.core.config,org.apache.logging.log4j.core.config.plug
ins";version="2.17.0",org.apache.logging.log4j.core.message;uses:="or
g.apache.logging.log4j.message";version="2.17.0",org.apache.logging.l
og4j.core.net;uses:="javax.mail,javax.mail.internet,javax.naming,org.
apache.logging.log4j,org.apache.logging.log4j.core,org.apache.logging
.log4j.core.appender,org.apache.logging.log4j.core.config,org.apache.
logging.log4j.core.config.plugins,org.apache.logging.log4j.core.net.s
sl,org.apache.logging.log4j.core.util";version="2.17.0",org.apache.lo
gging.log4j.core.net.ssl;uses:="javax.net.ssl,org.apache.logging.log4
j.core.config.plugins,org.apache.logging.log4j.status";version="2.17.
0",org.apache.logging.log4j.core.osgi;uses:="org.apache.logging.log4j
.core,org.apache.logging.log4j.core.selector,org.osgi.framework";vers
ion="2.17.0",org.apache.logging.log4j.core.parser;uses:="org.apache.l
ogging.log4j.core";version="2.17.0",org.apache.logging.log4j.core.pat
tern;uses:="org.apache.logging.log4j,org.apache.logging.log4j.core,or
g.apache.logging.log4j.core.config,org.apache.logging.log4j.core.conf
ig.plugins,org.apache.logging.log4j.core.impl,org.apache.logging.log4
j.core.time,org.apache.logging.log4j.message,org.fusesource.jansi";ve
rsion="2.17.0",org.apache.logging.log4j.core.script;uses:="javax.scri
pt,org.apache.logging.log4j,org.apache.logging.log4j.core.config,org.
apache.logging.log4j.core.config.plugins,org.apache.logging.log4j.cor
e.util";version="2.17.0",org.apache.logging.log4j.core.selector;uses:
="org.apache.logging.log4j.core,org.apache.logging.log4j.spi,org.apac
he.logging.log4j.status";version="2.17.0",org.apache.logging.log4j.co
re.time;uses:="org.apache.logging.log4j.core.util,org.apache.logging.
log4j.util";version="2.17.0",org.apache.logging.log4j.core.time.inter
nal;uses:="org.apache.logging.log4j.core.time";version="2.17.0",org.a
pache.logging.log4j.core.tools;version="2.17.0",org.apache.logging.lo
g4j.core.tools.picocli;version="2.17.0",org.apache.logging.log4j.core
.util;uses:="javax.crypto,javax.naming,org.apache.logging.log4j,org.a
pache.logging.log4j.core,org.apache.logging.log4j.core.config,org.apa
che.logging.log4j.core.config.plugins,org.apache.logging.log4j.util";
version="2.17.0",org.apache.logging.log4j.core.util.datetime;uses:="o
rg.apache.logging.log4j.core.time";version="2.17.0"
Bundle-Name: Apache Log4j Core
Log4jReleaseVersionJava6: 2.3
Multi-Release: true
Bundle-Activator: org.apache.logging.log4j.core.osgi.Activator
Log4jReleaseVersionJava7: 2.12.2
Log4jReleaseVersion: 2.17.0
Implementation-Title: Apache Log4j Core
Bundle-Description: The Apache Log4j Implementation
Automatic-Module-Name: org.apache.logging.log4j.core
Implementation-Version: 2.17.0
Specification-Vendor: The Apache Software Foundation
Bundle-ManifestVersion: 2
Bundle-Vendor: The Apache Software Foundation
Tool: Bnd-3.5.0.201709291849
Implementation-Vendor: The Apache Software Foundation
Bundle-Version: 2.17.0
X-Compile-Target-JDK: 1.8
X-Compile-Source-JDK: 1.8
Created-By: Apache Maven Bundle Plugin
Build-Jdk: 1.8.0_144
Specification-Version: 2.17.0
Implementation-URL: https://logging.apache.org/log4j/2.x/log4j-core/
Log4jReleaseKey: B3D8E1BA

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,14 @@
unzip apache-log4j-2.17.0-bin/log4j-core-2.17.0.jar META-INF/MANIFEST.MF
cat MANIFEST.MF | jc --metamf > MANIFEST.MF.json
#####
unzip -c apache-log4j-2.17.0-bin/log4j-core-2.17.0.jar META-INF/MANIFEST.MF > unzip_c_MANIFEST.MF.single_jar.out
unzip -c apache-log4j-2.17.0-bin/log4j-core-2.17.0.jar META-INF/MANIFEST.MF | jc --metamf > unzip_c_MANIFEST.MF.single_jar.json
#####
unzip -c 'apache-log4j-2.17.0-bin/*.jar' META-INF/MANIFEST.MF > unzip_c_MANIFEST.MF.multi_jar.out
unzip -c 'apache-log4j-2.17.0-bin/*.jar' META-INF/MANIFEST.MF | jc --metamf > unzip_c_MANIFEST.MF.multi_jar.json

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,295 @@
Archive: apache-log4j-2.17.0-bin/log4j-core-2.17.0.jar
inflating: META-INF/MANIFEST.MF
Manifest-Version: 1.0
Bundle-License: https://www.apache.org/licenses/LICENSE-2.0.txt
Bundle-SymbolicName: org.apache.logging.log4j.core
Built-By: rgoers
Bnd-LastModified: 1639792304782
Implementation-Vendor-Id: org.apache.logging.log4j
Specification-Title: Apache Log4j Core
Log4jReleaseManager: Ralph Goers
Bundle-DocURL: https://www.apache.org/
Import-Package: com.conversantmedia.util.concurrent;resolution:=option
al,com.fasterxml.jackson.annotation;version="[2.12,3)";resolution:=op
tional,com.fasterxml.jackson.core;version="[2.12,3)";resolution:=opti
onal,com.fasterxml.jackson.core.type;version="[2.12,3)";resolution:=o
ptional,com.fasterxml.jackson.core.util;version="[2.12,3)";resolution
:=optional,com.fasterxml.jackson.databind;version="[2.12,3)";resoluti
on:=optional,com.fasterxml.jackson.databind.annotation;version="[2.12
,3)";resolution:=optional,com.fasterxml.jackson.databind.deser.std;ve
rsion="[2.12,3)";resolution:=optional,com.fasterxml.jackson.databind.
module;version="[2.12,3)";resolution:=optional,com.fasterxml.jackson.
databind.node;version="[2.12,3)";resolution:=optional,com.fasterxml.j
ackson.databind.ser;version="[2.12,3)";resolution:=optional,com.faste
rxml.jackson.databind.ser.impl;version="[2.12,3)";resolution:=optiona
l,com.fasterxml.jackson.databind.ser.std;version="[2.12,3)";resolutio
n:=optional,com.fasterxml.jackson.dataformat.xml;version="[2.12,3)";r
esolution:=optional,com.fasterxml.jackson.dataformat.xml.annotation;v
ersion="[2.12,3)";resolution:=optional,com.fasterxml.jackson.dataform
at.xml.util;version="[2.12,3)";resolution:=optional,com.fasterxml.jac
kson.dataformat.yaml;version="[2.12,3)";resolution:=optional,com.lmax
.disruptor;version="[3.4,4)";resolution:=optional,com.lmax.disruptor.
dsl;version="[3.4,4)";resolution:=optional,javax.activation;version="
[1.2,2)";resolution:=optional,javax.annotation.processing,javax.crypt
o,javax.jms;version="[1.1,2)";resolution:=optional,javax.lang.model,j
avax.lang.model.element,javax.lang.model.util,javax.mail;version="[1.
6,2)";resolution:=optional,javax.mail.internet;version="[1.6,2)";reso
lution:=optional,javax.mail.util;version="[1.6,2)";resolution:=option
al,javax.management,javax.naming,javax.net,javax.net.ssl,javax.script
,javax.sql,javax.tools,javax.xml.parsers,javax.xml.stream,javax.xml.t
ransform,javax.xml.transform.stream,javax.xml.validation,org.apache.c
ommons.compress.compressors;version="[1.21,2)";resolution:=optional,o
rg.apache.commons.compress.utils;version="[1.21,2)";resolution:=optio
nal,org.apache.commons.csv;version="[1.9,2)";resolution:=optional,org
.apache.kafka.clients.producer;resolution:=optional,org.apache.loggin
g.log4j;version="[2.17,3)",org.apache.logging.log4j.core,org.apache.l
ogging.log4j.core.appender,org.apache.logging.log4j.core.appender.db,
org.apache.logging.log4j.core.appender.rewrite,org.apache.logging.log
4j.core.appender.rolling,org.apache.logging.log4j.core.appender.rolli
ng.action,org.apache.logging.log4j.core.async,org.apache.logging.log4
j.core.config,org.apache.logging.log4j.core.config.arbiters,org.apach
e.logging.log4j.core.config.builder.api,org.apache.logging.log4j.core
.config.builder.impl,org.apache.logging.log4j.core.config.composite,o
rg.apache.logging.log4j.core.config.json,org.apache.logging.log4j.cor
e.config.plugins,org.apache.logging.log4j.core.config.plugins.convert
,org.apache.logging.log4j.core.config.plugins.processor,org.apache.lo
gging.log4j.core.config.plugins.util,org.apache.logging.log4j.core.co
nfig.plugins.validation,org.apache.logging.log4j.core.config.plugins.
validation.constraints,org.apache.logging.log4j.core.config.plugins.v
alidation.validators,org.apache.logging.log4j.core.config.plugins.vis
itors,org.apache.logging.log4j.core.config.status,org.apache.logging.
log4j.core.filter,org.apache.logging.log4j.core.impl,org.apache.loggi
ng.log4j.core.jackson,org.apache.logging.log4j.core.jmx,org.apache.lo
gging.log4j.core.layout,org.apache.logging.log4j.core.layout.internal
,org.apache.logging.log4j.core.lookup,org.apache.logging.log4j.core.n
et,org.apache.logging.log4j.core.net.ssl,org.apache.logging.log4j.cor
e.pattern,org.apache.logging.log4j.core.script,org.apache.logging.log
4j.core.selector,org.apache.logging.log4j.core.time,org.apache.loggin
g.log4j.core.tools.picocli,org.apache.logging.log4j.core.util,org.apa
che.logging.log4j.core.util.datetime,org.apache.logging.log4j.message
;version="[2.17,3)",org.apache.logging.log4j.spi;version="[2.17,3)",o
rg.apache.logging.log4j.status;version="[2.17,3)",org.apache.logging.
log4j.util;version="[2.17,3)",org.codehaus.stax2;version="[4.2,5)";re
solution:=optional,org.fusesource.jansi;version="[2.3,3)";resolution:
=optional,org.jctools.queues;resolution:=optional,org.osgi.framework;
version="[1.6,2)",org.osgi.framework.wiring;version="[1.0,2)",org.w3c
.dom,org.xml.sax,org.zeromq;version="[0.4,1)";resolution:=optional,su
n.reflect;resolution:=optional
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))"
Export-Package: org.apache.logging.log4j.core;uses:="org.apache.loggin
g.log4j,org.apache.logging.log4j.core.config,org.apache.logging.log4j
.core.impl,org.apache.logging.log4j.core.layout,org.apache.logging.lo
g4j.core.time,org.apache.logging.log4j.message,org.apache.logging.log
4j.spi,org.apache.logging.log4j.status,org.apache.logging.log4j.util"
;version="2.17.0",org.apache.logging.log4j.core.appender;uses:="org.a
pache.logging.log4j,org.apache.logging.log4j.core,org.apache.logging.
log4j.core.appender.rolling,org.apache.logging.log4j.core.async,org.a
pache.logging.log4j.core.config,org.apache.logging.log4j.core.config.
plugins,org.apache.logging.log4j.core.config.plugins.validation.const
raints,org.apache.logging.log4j.core.filter,org.apache.logging.log4j.
core.impl,org.apache.logging.log4j.core.layout,org.apache.logging.log
4j.core.net,org.apache.logging.log4j.core.net.ssl,org.apache.logging.
log4j.core.script,org.apache.logging.log4j.core.util,org.apache.loggi
ng.log4j.status";version="2.17.0",org.apache.logging.log4j.core.appen
der.db;uses:="org.apache.logging.log4j.core,org.apache.logging.log4j.
core.appender,org.apache.logging.log4j.core.config,org.apache.logging
.log4j.core.config.plugins,org.apache.logging.log4j.core.util";versio
n="2.17.0",org.apache.logging.log4j.core.appender.db.jdbc;uses:="org.
apache.logging.log4j,org.apache.logging.log4j.core,org.apache.logging
.log4j.core.appender.db,org.apache.logging.log4j.core.config,org.apac
he.logging.log4j.core.config.plugins,org.apache.logging.log4j.core.co
nfig.plugins.validation.constraints,org.apache.logging.log4j.core.lay
out,org.apache.logging.log4j.core.util";version="2.17.0",org.apache.l
ogging.log4j.core.appender.mom;uses:="javax.jms,org.apache.logging.lo
g4j.core,org.apache.logging.log4j.core.appender,org.apache.logging.lo
g4j.core.config,org.apache.logging.log4j.core.config.plugins,org.apac
he.logging.log4j.core.net,org.apache.logging.log4j.core.util";version
="2.17.0",org.apache.logging.log4j.core.appender.mom.jeromq;uses:="or
g.apache.logging.log4j.core,org.apache.logging.log4j.core.appender,or
g.apache.logging.log4j.core.config,org.apache.logging.log4j.core.conf
ig.plugins,org.apache.logging.log4j.core.config.plugins.validation.co
nstraints,org.zeromq";version="2.17.0",org.apache.logging.log4j.core.
appender.mom.kafka;uses:="org.apache.kafka.clients.producer,org.apach
e.logging.log4j.core,org.apache.logging.log4j.core.appender,org.apach
e.logging.log4j.core.config,org.apache.logging.log4j.core.config.plug
ins,org.apache.logging.log4j.core.util";version="2.17.0",org.apache.l
ogging.log4j.core.appender.nosql;uses:="org.apache.logging.log4j.core
,org.apache.logging.log4j.core.appender,org.apache.logging.log4j.core
.appender.db,org.apache.logging.log4j.core.config.plugins,org.apache.
logging.log4j.core.util";version="2.17.0",org.apache.logging.log4j.co
re.appender.rewrite;uses:="org.apache.logging.log4j,org.apache.loggin
g.log4j.core,org.apache.logging.log4j.core.appender,org.apache.loggin
g.log4j.core.config,org.apache.logging.log4j.core.config.plugins,org.
apache.logging.log4j.core.util";version="2.17.0",org.apache.logging.l
og4j.core.appender.rolling;uses:="org.apache.logging.log4j,org.apache
.logging.log4j.core,org.apache.logging.log4j.core.appender,org.apache
.logging.log4j.core.appender.rolling.action,org.apache.logging.log4j.
core.config,org.apache.logging.log4j.core.config.plugins,org.apache.l
ogging.log4j.core.lookup,org.apache.logging.log4j.core.util";version=
"2.17.0",org.apache.logging.log4j.core.appender.rolling.action;uses:=
"org.apache.logging.log4j,org.apache.logging.log4j.core.config,org.ap
ache.logging.log4j.core.config.plugins,org.apache.logging.log4j.core.
lookup,org.apache.logging.log4j.core.script,org.apache.logging.log4j.
core.util";version="2.17.0",org.apache.logging.log4j.core.appender.ro
uting;uses:="org.apache.logging.log4j.core,org.apache.logging.log4j.c
ore.appender,org.apache.logging.log4j.core.appender.rewrite,org.apach
e.logging.log4j.core.config,org.apache.logging.log4j.core.config.plug
ins,org.apache.logging.log4j.core.script,org.apache.logging.log4j.cor
e.util";version="2.17.0",org.apache.logging.log4j.core.async;uses:="c
om.conversantmedia.util.concurrent,com.lmax.disruptor,org.apache.logg
ing.log4j,org.apache.logging.log4j.core,org.apache.logging.log4j.core
.appender,org.apache.logging.log4j.core.config,org.apache.logging.log
4j.core.config.plugins,org.apache.logging.log4j.core.config.plugins.v
alidation.constraints,org.apache.logging.log4j.core.impl,org.apache.l
ogging.log4j.core.jmx,org.apache.logging.log4j.core.selector,org.apac
he.logging.log4j.core.time,org.apache.logging.log4j.core.util,org.apa
che.logging.log4j.message,org.apache.logging.log4j.util";version="2.1
7.0",org.apache.logging.log4j.core.config;uses:="org.apache.logging.l
og4j,org.apache.logging.log4j.core,org.apache.logging.log4j.core.asyn
c,org.apache.logging.log4j.core.config.builder.api,org.apache.logging
.log4j.core.config.plugins,org.apache.logging.log4j.core.config.plugi
ns.util,org.apache.logging.log4j.core.config.plugins.validation.const
raints,org.apache.logging.log4j.core.filter,org.apache.logging.log4j.
core.impl,org.apache.logging.log4j.core.lookup,org.apache.logging.log
4j.core.net,org.apache.logging.log4j.core.script,org.apache.logging.l
og4j.core.util,org.apache.logging.log4j.message,org.apache.logging.lo
g4j.util";version="2.17.0",org.apache.logging.log4j.core.config.arbit
ers;uses:="org.apache.logging.log4j.core.config,org.apache.logging.lo
g4j.core.config.plugins,org.apache.logging.log4j.core.util";version="
2.17.0",org.apache.logging.log4j.core.config.builder.api;uses:="org.a
pache.logging.log4j,org.apache.logging.log4j.core,org.apache.logging.
log4j.core.config,org.apache.logging.log4j.core.config.builder.impl,o
rg.apache.logging.log4j.core.util";version="2.17.0",org.apache.loggin
g.log4j.core.config.builder.impl;uses:="javax.xml.transform,org.apach
e.logging.log4j,org.apache.logging.log4j.core,org.apache.logging.log4
j.core.config,org.apache.logging.log4j.core.config.builder.api,org.ap
ache.logging.log4j.core.config.plugins.util,org.apache.logging.log4j.
core.config.status";version="2.17.0",org.apache.logging.log4j.core.co
nfig.composite;uses:="org.apache.logging.log4j.core.config,org.apache
.logging.log4j.core.config.plugins.util";version="2.17.0",org.apache.
logging.log4j.core.config.json;uses:="com.fasterxml.jackson.databind,
org.apache.logging.log4j.core,org.apache.logging.log4j.core.config,or
g.apache.logging.log4j.core.config.plugins";version="2.17.0",org.apac
he.logging.log4j.core.config.plugins;uses:="org.apache.logging.log4j.
core.config.plugins.visitors";version="2.17.0",org.apache.logging.log
4j.core.config.plugins.convert;uses:="org.apache.logging.log4j,org.ap
ache.logging.log4j.core.appender.rolling.action,org.apache.logging.lo
g4j.core.config.plugins,org.apache.logging.log4j.core.util";version="
2.17.0",org.apache.logging.log4j.core.config.plugins.processor;uses:=
"javax.annotation.processing,javax.lang.model,javax.lang.model.elemen
t";version="2.17.0",org.apache.logging.log4j.core.config.plugins.util
;uses:="org.apache.logging.log4j.core,org.apache.logging.log4j.core.c
onfig,org.apache.logging.log4j.core.config.plugins.processor,org.apac
he.logging.log4j.core.util";version="2.17.0",org.apache.logging.log4j
.core.config.plugins.validation;version="2.17.0",org.apache.logging.l
og4j.core.config.plugins.validation.constraints;uses:="org.apache.log
ging.log4j.core.config.plugins.validation,org.apache.logging.log4j.co
re.config.plugins.validation.validators";version="2.17.0",org.apache.
logging.log4j.core.config.plugins.validation.validators;uses:="org.ap
ache.logging.log4j.core.config.plugins.validation,org.apache.logging.
log4j.core.config.plugins.validation.constraints";version="2.17.0",or
g.apache.logging.log4j.core.config.plugins.visitors;uses:="org.apache
.logging.log4j,org.apache.logging.log4j.core,org.apache.logging.log4j
.core.config,org.apache.logging.log4j.core.config.plugins,org.apache.
logging.log4j.core.lookup";version="2.17.0",org.apache.logging.log4j.
core.config.properties;uses:="org.apache.logging.log4j.core,org.apach
e.logging.log4j.core.config,org.apache.logging.log4j.core.config.buil
der.api,org.apache.logging.log4j.core.config.builder.impl,org.apache.
logging.log4j.core.config.plugins,org.apache.logging.log4j.core.util"
;version="2.17.0",org.apache.logging.log4j.core.config.status;uses:="
org.apache.logging.log4j";version="2.17.0",org.apache.logging.log4j.c
ore.config.xml;uses:="org.apache.logging.log4j.core,org.apache.loggin
g.log4j.core.config,org.apache.logging.log4j.core.config.plugins";ver
sion="2.17.0",org.apache.logging.log4j.core.config.yaml;uses:="com.fa
sterxml.jackson.databind,org.apache.logging.log4j.core,org.apache.log
ging.log4j.core.config,org.apache.logging.log4j.core.config.json,org.
apache.logging.log4j.core.config.plugins";version="2.17.0",org.apache
.logging.log4j.core.filter;uses:="org.apache.logging.log4j,org.apache
.logging.log4j.core,org.apache.logging.log4j.core.config,org.apache.l
ogging.log4j.core.config.plugins,org.apache.logging.log4j.core.script
,org.apache.logging.log4j.core.util,org.apache.logging.log4j.message,
org.apache.logging.log4j.util";version="2.17.0",org.apache.logging.lo
g4j.core.impl;uses:="org.apache.logging.log4j,org.apache.logging.log4
j.core,org.apache.logging.log4j.core.config,org.apache.logging.log4j.
core.pattern,org.apache.logging.log4j.core.selector,org.apache.loggin
g.log4j.core.time,org.apache.logging.log4j.core.util,org.apache.loggi
ng.log4j.message,org.apache.logging.log4j.spi,org.apache.logging.log4
j.util";version="2.17.0",org.apache.logging.log4j.core.jackson;uses:=
"com.fasterxml.jackson.core,com.fasterxml.jackson.databind,com.faster
xml.jackson.databind.deser.std,com.fasterxml.jackson.databind.ser.std
,com.fasterxml.jackson.dataformat.xml,com.fasterxml.jackson.dataforma
t.yaml,org.apache.logging.log4j.message,org.apache.logging.log4j.util
";version="2.17.0",org.apache.logging.log4j.core.jmx;uses:="com.lmax.
disruptor,javax.management,org.apache.logging.log4j,org.apache.loggin
g.log4j.core,org.apache.logging.log4j.core.appender,org.apache.loggin
g.log4j.core.config,org.apache.logging.log4j.core.selector,org.apache
.logging.log4j.status";version="2.17.0",org.apache.logging.log4j.core
.layout;uses:="com.fasterxml.jackson.annotation,com.fasterxml.jackson
.core,com.fasterxml.jackson.databind,com.fasterxml.jackson.dataformat
.xml.annotation,org.apache.commons.csv,org.apache.logging.log4j,org.a
pache.logging.log4j.core,org.apache.logging.log4j.core.config,org.apa
che.logging.log4j.core.config.plugins,org.apache.logging.log4j.core.i
mpl,org.apache.logging.log4j.core.net,org.apache.logging.log4j.core.p
attern,org.apache.logging.log4j.core.script,org.apache.logging.log4j.
core.util,org.apache.logging.log4j.message";version="2.17.0",org.apac
he.logging.log4j.core.layout.internal;version="2.17.0",org.apache.log
ging.log4j.core.lookup;uses:="org.apache.logging.log4j.core,org.apach
e.logging.log4j.core.config,org.apache.logging.log4j.core.config.plug
ins";version="2.17.0",org.apache.logging.log4j.core.message;uses:="or
g.apache.logging.log4j.message";version="2.17.0",org.apache.logging.l
og4j.core.net;uses:="javax.mail,javax.mail.internet,javax.naming,org.
apache.logging.log4j,org.apache.logging.log4j.core,org.apache.logging
.log4j.core.appender,org.apache.logging.log4j.core.config,org.apache.
logging.log4j.core.config.plugins,org.apache.logging.log4j.core.net.s
sl,org.apache.logging.log4j.core.util";version="2.17.0",org.apache.lo
gging.log4j.core.net.ssl;uses:="javax.net.ssl,org.apache.logging.log4
j.core.config.plugins,org.apache.logging.log4j.status";version="2.17.
0",org.apache.logging.log4j.core.osgi;uses:="org.apache.logging.log4j
.core,org.apache.logging.log4j.core.selector,org.osgi.framework";vers
ion="2.17.0",org.apache.logging.log4j.core.parser;uses:="org.apache.l
ogging.log4j.core";version="2.17.0",org.apache.logging.log4j.core.pat
tern;uses:="org.apache.logging.log4j,org.apache.logging.log4j.core,or
g.apache.logging.log4j.core.config,org.apache.logging.log4j.core.conf
ig.plugins,org.apache.logging.log4j.core.impl,org.apache.logging.log4
j.core.time,org.apache.logging.log4j.message,org.fusesource.jansi";ve
rsion="2.17.0",org.apache.logging.log4j.core.script;uses:="javax.scri
pt,org.apache.logging.log4j,org.apache.logging.log4j.core.config,org.
apache.logging.log4j.core.config.plugins,org.apache.logging.log4j.cor
e.util";version="2.17.0",org.apache.logging.log4j.core.selector;uses:
="org.apache.logging.log4j.core,org.apache.logging.log4j.spi,org.apac
he.logging.log4j.status";version="2.17.0",org.apache.logging.log4j.co
re.time;uses:="org.apache.logging.log4j.core.util,org.apache.logging.
log4j.util";version="2.17.0",org.apache.logging.log4j.core.time.inter
nal;uses:="org.apache.logging.log4j.core.time";version="2.17.0",org.a
pache.logging.log4j.core.tools;version="2.17.0",org.apache.logging.lo
g4j.core.tools.picocli;version="2.17.0",org.apache.logging.log4j.core
.util;uses:="javax.crypto,javax.naming,org.apache.logging.log4j,org.a
pache.logging.log4j.core,org.apache.logging.log4j.core.config,org.apa
che.logging.log4j.core.config.plugins,org.apache.logging.log4j.util";
version="2.17.0",org.apache.logging.log4j.core.util.datetime;uses:="o
rg.apache.logging.log4j.core.time";version="2.17.0"
Bundle-Name: Apache Log4j Core
Log4jReleaseVersionJava6: 2.3
Multi-Release: true
Bundle-Activator: org.apache.logging.log4j.core.osgi.Activator
Log4jReleaseVersionJava7: 2.12.2
Log4jReleaseVersion: 2.17.0
Implementation-Title: Apache Log4j Core
Bundle-Description: The Apache Log4j Implementation
Automatic-Module-Name: org.apache.logging.log4j.core
Implementation-Version: 2.17.0
Specification-Vendor: The Apache Software Foundation
Bundle-ManifestVersion: 2
Bundle-Vendor: The Apache Software Foundation
Tool: Bnd-3.5.0.201709291849
Implementation-Vendor: The Apache Software Foundation
Bundle-Version: 2.17.0
X-Compile-Target-JDK: 1.8
X-Compile-Source-JDK: 1.8
Created-By: Apache Maven Bundle Plugin
Build-Jdk: 1.8.0_144
Specification-Version: 2.17.0
Implementation-URL: https://logging.apache.org/log4j/2.x/log4j-core/
Log4jReleaseKey: B3D8E1BA