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:
228
jc/parsers/metamf.py
Normal file
228
jc/parsers/metamf.py
Normal 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
292
tests/fixtures/rhel-8/MANIFEST.MF
vendored
Normal 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
|
||||
|
1
tests/fixtures/rhel-8/MANIFEST.MF.json
vendored
Normal file
1
tests/fixtures/rhel-8/MANIFEST.MF.json
vendored
Normal file
File diff suppressed because one or more lines are too long
14
tests/fixtures/rhel-8/cmds_used_to_generate_test_data.txt
vendored
Normal file
14
tests/fixtures/rhel-8/cmds_used_to_generate_test_data.txt
vendored
Normal 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
|
1
tests/fixtures/rhel-8/unzip_c_MANIFEST.MF.multi_jar.json
vendored
Normal file
1
tests/fixtures/rhel-8/unzip_c_MANIFEST.MF.multi_jar.json
vendored
Normal file
File diff suppressed because one or more lines are too long
2210
tests/fixtures/rhel-8/unzip_c_MANIFEST.MF.multi_jar.out
vendored
Normal file
2210
tests/fixtures/rhel-8/unzip_c_MANIFEST.MF.multi_jar.out
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
tests/fixtures/rhel-8/unzip_c_MANIFEST.MF.single_jar.json
vendored
Normal file
1
tests/fixtures/rhel-8/unzip_c_MANIFEST.MF.single_jar.json
vendored
Normal file
File diff suppressed because one or more lines are too long
295
tests/fixtures/rhel-8/unzip_c_MANIFEST.MF.single_jar.out
vendored
Normal file
295
tests/fixtures/rhel-8/unzip_c_MANIFEST.MF.single_jar.out
vendored
Normal 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
|
||||
|
||||
|
Reference in New Issue
Block a user