Package aQute.bnd.osgi
Class Verifier
- java.lang.Object
-
- aQute.bnd.osgi.Domain
-
- aQute.bnd.osgi.Processor
-
- aQute.bnd.osgi.Verifier
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Verifier.ActivatorErrorType
static class
Verifier.BundleActivatorError
-
Nested classes/interfaces inherited from class aQute.bnd.osgi.Processor
Processor.CL, Processor.FileLine, Processor.SetLocationImpl
-
Nested classes/interfaces inherited from interface aQute.service.reporter.Report
Report.Location
-
Nested classes/interfaces inherited from interface aQute.service.reporter.Reporter
Reporter.SetLocation
-
-
Field Summary
Fields Modifier and Type Field Description (package private) Analyzer
analyzer
static java.util.regex.Pattern
ANYPATTERN
static java.util.regex.Pattern
ARGUMENT_P
static java.lang.String
ARGUMENT_S
static java.util.regex.Pattern
BOOLEANPATTERN
static java.util.regex.Pattern
BUNDLE_ACTIVATIONPOLICYPATTERN
(package private) static java.util.regex.Pattern
BUNDLEMANIFESTVERSION
(package private) static java.util.regex.Pattern
CARDINALITY_PATTERN
private Jar
dot
private Instructions
dynamicImports
(package private) static java.util.regex.Pattern
EENAME
static java.lang.String[]
EES
static java.util.regex.Pattern
EXTENDED_P
static java.lang.String
EXTENDED_S
(package private) static java.util.regex.Pattern
FILE
(package private) static java.util.regex.Pattern
FILTEROP
static java.util.regex.Pattern
FILTERPATTERN
static java.util.regex.Pattern
FLOATPATTERN
static java.util.regex.Pattern
FQNPATTERN
private boolean
frombuilder
static java.util.regex.Pattern
HEADER_PATTERN
static java.util.regex.Pattern
ISO639
private Domain
main
private java.util.jar.Manifest
manifest
static java.util.regex.Pattern
MULTIPACKAGEPATTERN
static java.util.regex.Pattern
NUMBERPATTERN
static java.lang.String[]
OSNAMES
static java.util.regex.Pattern
PACKAGEPATTERN
static java.util.regex.Pattern
PACKAGEPATTERN_OR_EMPTY
static java.util.regex.Pattern
PATHPATTERN
static java.lang.String[]
PROCESSORNAMES
static java.lang.String
QUOTEDSTRING
static java.util.regex.Pattern
QUOTEDSTRING_P
private boolean
r3
static java.util.regex.Pattern
ReservedFileNames
(package private) static java.util.regex.Pattern
RESOLUTION_PATTERN
static java.util.regex.Pattern
SYMBOLICNAME
static java.lang.String
SYMBOLICNAME_STRING
static java.util.regex.Pattern
TOKEN
static java.util.regex.Pattern
TRUEORFALSEPATTERN
static java.util.regex.Pattern
URLPATTERN
private boolean
usesRequire
static java.util.regex.Pattern
VERSION
static java.util.regex.Pattern
VERSION_P
static java.lang.String
VERSION_RANGE_S
static java.lang.String
VERSION_S
static java.lang.String
VERSION_STRING
static java.util.regex.Pattern
VERSIONRANGE
static java.util.regex.Pattern
VERSIONRANGE_P
static java.util.regex.Pattern
WILDCARDNAMEPATTERN
(package private) static java.util.regex.Pattern
WILDCARDPACKAGE
-
Fields inherited from class aQute.bnd.osgi.Processor
_frangeHelp, _uriHelp, basicPlugins, BUFFER_SIZE, current, errors, exceptions, fileMustExist, filter, fixupMessages, LIST_SPLITTER, locations, log, missingCommand, parent, pedantic, pluginLoader, profile, properties, random, strict, trace, upto, warnings
-
Fields inherited from class aQute.bnd.osgi.Domain
translation
-
Fields inherited from interface aQute.bnd.osgi.Constants
ACCESS_ATTRIBUTE, AUGMENT, AUGMENT_CAPABILITY_DIRECTIVE, AUGMENT_RANGE_ATTRIBUTE, AUGMENT_REQUIREMENT_DIRECTIVE, AUTOMATIC_MODULE_NAME, BASELINE, BASELINEREPO, BLUEPRINT_TIMEOUT_ATTRIBUTE, BLUEPRINT_WAIT_FOR_DEPENDENCIES_ATTRIBUTE, BND_ADDXMLTOTEST, BND_LASTMODIFIED, BNDDRIVER, BNDDRIVER_ANT, BNDDRIVER_BND, BNDDRIVER_ECLIPSE, BNDDRIVER_GRADLE, BNDDRIVER_GRADLE_NATIVE, BNDDRIVER_INTELLIJ, BNDDRIVER_MAVEN, BNDDRIVER_OSMORC, BNDDRIVER_SBT, BSN_SOURCE_SUFFIX, BUILDERIGNORE, BUILDFILES, BUILDPACKAGES, BUILDPATH, BUILDREPO, BUMPPOLICY, BUNDLE_ACTIVATIONPOLICY, BUNDLE_ACTIVATOR, BUNDLE_BLUEPRINT, BUNDLE_CATEGORY, BUNDLE_CLASSPATH, BUNDLE_CONTACTADDRESS, BUNDLE_CONTRIBUTORS, BUNDLE_COPYRIGHT, BUNDLE_DESCRIPTION, BUNDLE_DEVELOPERS, BUNDLE_DOCURL, BUNDLE_ICON, BUNDLE_LICENSE, BUNDLE_LOCALIZATION, BUNDLE_MANIFESTVERSION, BUNDLE_NAME, BUNDLE_NATIVECODE, BUNDLE_REQUIREDEXECUTIONENVIRONMENT, BUNDLE_SCM, BUNDLE_SPECIFIC_HEADERS, BUNDLE_SYMBOLIC_NAME_ATTRIBUTE, BUNDLE_SYMBOLICNAME, BUNDLE_UPDATELOCATION, BUNDLE_VENDOR, BUNDLE_VERSION, BUNDLE_VERSION_ATTRIBUTE, BUNDLEANNOTATIONS, CACHEDIR, CARDINALITY_DIRECTIVE, CDIANNOTATIONS, CHECK, CLASS_ATTRIBUTE, CLASSPATH, COMMAND_DIRECTIVE, COMPILER_SOURCE, COMPILER_TARGET, COMPONENT_ACTIVATE, COMPONENT_CONFIGURATION_POLICY, COMPONENT_DEACTIVATE, COMPONENT_DESCRIPTORS, COMPONENT_DESIGNATE, COMPONENT_DESIGNATEFACTORY, COMPONENT_DYNAMIC, COMPONENT_ENABLED, COMPONENT_FACTORY, COMPONENT_GREEDY, COMPONENT_IMMEDIATE, COMPONENT_IMPLEMENTATION, COMPONENT_MODIFIED, COMPONENT_MULTIPLE, COMPONENT_NAME, COMPONENT_NAMESPACE, COMPONENT_OPTIONAL, COMPONENT_PROPERTIES, COMPONENT_PROVIDE, COMPONENT_SERVICEFACTORY, COMPONENT_VERSION, componentDirectives, COMPRESSION, CONDITIONAL_PACKAGE, CONDITIONALPACKAGE, CONDUIT, CONNECTION_SETTINGS, CONSUMER_POLICY, CONTRACT, CREATED_BY, CURRENT_BUNDLESYMBOLICNAME, CURRENT_BUNDLEVERSION, CURRENT_PACKAGE, CURRENT_USES, CURRENT_VERSION, DEBUG, DEFAULT_BAR_EXTENSION, DEFAULT_BND_EXTENSION, DEFAULT_BNDRUN_EXTENSION, DEFAULT_CHARSET, DEFAULT_DO_NOT_COPY, DEFAULT_JAR_EXTENSION, DEFAULT_LAUNCHER_BSN, DEFAULT_PREPROCESSS_MATCHERS, DEFAULT_PROP_BIN_DIR, DEFAULT_PROP_SRC_DIR, DEFAULT_PROP_TARGET_DIR, DEFAULT_PROP_TESTBIN_DIR, DEFAULT_PROP_TESTSRC_DIR, DEFAULT_TESTER_BSN, DEFINE_CONTRACT, DEPENDSON, DEPLOY, DEPLOYREPO, DESCRIPTION_ATTRIBUTE, DIFFIGNORE, DIFFPACKAGES, DIGESTS, directives, DISTRO, DONOTCOPY, DSANNOTATIONS, DSANNOTATIONS_OPTIONS, DUPLICATE_MARKER, DYNAMICIMPORT_PACKAGE, EE_ATTRIBUTE, EEPROFILE, EEPROFILE_AUTO_ATTRIBUTE, EFFECTIVE_DIRECTIVE, EMBEDDED_REPO, EMPTY, EMPTY_HEADER, EXCLUDE_DIRECTIVE, EXECUTABLE, EXPERIMENTS, EXPORT, EXPORT_APIGUARDIAN, EXPORT_BSN, EXPORT_CONTENTS, EXPORT_NAME, EXPORT_PACKAGE, EXPORT_SERVICE, EXPORT_TYPE, EXPORT_VERSION, EXPORTS_ATTRIBUTE, EXPORTTYPE, EXTENSION, EXTENSION_DIRECTIVE, FAIL_OK, FILTER_DIRECTIVE, FIXUPMESSAGES, FIXUPMESSAGES_IS_DIRECTIVE, FIXUPMESSAGES_IS_ERROR, FIXUPMESSAGES_IS_IGNORE, FIXUPMESSAGES_IS_WARNING, FIXUPMESSAGES_REPLACE_DIRECTIVE, FIXUPMESSAGES_RESTRICT_DIRECTIVE, FRAGMENT_ATTACHMENT_DIRECTIVE, FRAGMENT_HOST, FROM_DIRECTIVE, GENERATE, GESTALT, GESTALT_BATCH, GESTALT_CI, GESTALT_INTERACTIVE, GESTALT_OFFLINE, GESTALT_SHELL, GROUPID, headers, IDENTITY_INITIAL_RESOURCE, IDENTITY_SYSTEM_RESOURCE, IGNORE_ATTRIBUTE, IGNORE_PACKAGE, IGNORE_STANDALONE, IMPORT_DIRECTIVE, IMPORT_PACKAGE, IMPORT_PRIVATE, IMPORT_REFERENCE, IMPORT_SERVICE, importDirectives, INCLUDE, INCLUDE_DIRECTIVE, INCLUDE_RESOURCE, INCLUDEPACKAGE, INCLUDERESOURCE, INIT, INTERNAL_BUNDLESYMBOLICNAME_DIRECTIVE, INTERNAL_BUNDLEVERSION_DIRECTIVE, INTERNAL_EXPORT_TO_MODULES_DIRECTIVE, INTERNAL_EXPORTED_DIRECTIVE, INTERNAL_MODULE_VERSION_DIRECTIVE, INTERNAL_OPEN_TO_MODULES_DIRECTIVE, INTERNAL_SOURCE_DIRECTIVE, INVALIDFILENAMES, JAVA, JAVA_DEBUG, JAVAAGENT, JAVAC, JAVAC_ENCODING, JAVAC_PROFILE, JAVAC_SOURCE, JAVAC_TARGET, JIDENTIFIER, JPMS_MODULE_INFO, JPMS_MODULE_INFO_OPTIONS, KEYSTORE_LOCATION_DIRECTIVE, KEYSTORE_PASSWORD_DIRECTIVE, KEYSTORE_PROVIDER_DIRECTIVE, LANGUAGE_ATTRIBUTE, LAUNCH_ACTIVATION_EAGER, LAUNCH_ACTIVATORS, LAUNCH_RUNBUNDLES_ATTRS, LAUNCH_STARTLEVEL_DEFAULT, LAUNCH_TRACE, LAUNCHER_PLUGIN, LIB_DIRECTIVE, LINK_ATTRIBUTE, LITERAL_ATTRIBUTE, MAIN_CLASS, MAKE, MANDATORY_DIRECTIVE, MANIFEST, MANIFEST_NAME, MAVEN_DEPENDENCIES, MAVEN_RELEASE, MAVEN_SCOPE, META_PERSISTENCE, METAPACKAGES, METATYPE, METATYPE_ANNOTATIONS, METATYPE_ANNOTATIONS_OPTIONS, MIME_TYPE_BUNDLE, MIME_TYPE_JAR, MODULE_INFO_CLASS, MODULES_ATTRIBUTE, NAME_ATTRIBUTE, NAMESECTION, NAMESPACE_STEM, NO_IMPORT_DIRECTIVE, NOANNOTATIONS, NOBUILDINCACHE, NOBUNDLES, NOCLASSFORNAME, NODEFAULTVERSION, NOEE, NOEXTRAHEADERS, NOIMPORTJAVA, NOJUNIT, NOJUNITOSGI, NOMANIFEST, NONE, NOT_A_BUNDLE_S, NOUSES, OPTIONAL, options, OSGI_SYNTAX_HEADERS, OSNAME_ATTRIBUTE, OSVERSION_ATTRIBUTE, OUTPUT, OUTPUTMASK, PACKAGE, PACKAGEINFOTYPE, PATH_DIRECTIVE, PEDANTIC, PLUGIN, PLUGINPATH, PLUGINPATH_SHA1_ATTR, PLUGINPATH_URL_ATTR, POM, PREPROCESSMATCHERS, PRESENCE_DIRECTIVE, PRIVATE_DIRECTIVE, PRIVATE_PACKAGE, PRIVATEPACKAGE, PROCESSOR_ATTRIBUTE, PROFILE, PROVIDE_CAPABILITY, PROVIDE_DIRECTIVE, PROVIDER_POLICY, PROVIDER_TYPE_DIRECTIVE, RELEASEREPO, REMOTEWORKSPACE, REMOVE_ATTRIBUTE_DIRECTIVE, REMOVEHEADERS, REPORTNEWER, REPOSITORIES, REPRODUCIBLE, REQUIRE_BND, REQUIRE_BUNDLE, REQUIRE_CAPABILITY, RESOLUTION, RESOLUTION_DIRECTIVE, RESOLUTION_DYNAMIC, RESOLVE, RESOURCEONLY, RUNBLACKLIST, RUNBUILDS, RUNBUNDLES, RUNBUNDLES_STARTLEVEL_ATTRIBUTE, RUNEE, RUNENV, RUNFRAMEWORK, RUNFRAMEWORK_NONE, RUNFRAMEWORK_SERVICES, RUNFRAMEWORKRESTART, RUNFW, RUNJDB, RUNKEEP, RUNNOREFERENCES, RUNOPTIONS, RUNOPTIONS_EAGER, RUNPATH, RUNPATH_LAUNCHER_DIRECTIVE, RUNPATH_MAIN_DIRECTIVE, RUNPROGRAMARGS, RUNPROPERTIES, RUNPROVIDEDCAPABILITIES, RUNREMOTE, RUNREPOS, RUNREQUIRE, RUNREQUIRES, RUNSTARTLEVEL, RUNSTARTLEVEL_BEGIN, RUNSTARTLEVEL_ORDER, RUNSTARTLEVEL_STEP, RUNSTORAGE, RUNSYSTEMCAPABILITIES, RUNSYSTEMPACKAGES, RUNTIMEOUT, RUNTRACE, RUNVM, SAVEMANIFEST, SELECTION_FILTER_ATTRIBUTE, SERVICE_COMPONENT, SERVICELOADER_NAMESPACE, SERVICELOADER_REGISTER_DIRECTIVE, SET_COMPONENT_DIRECTIVES, SET_COMPONENT_DIRECTIVES_1_1, SET_COMPONENT_DIRECTIVES_1_2, SIGN, SIGN_PASSWORD_DIRECTIVE, SIGNATURE_TEST, SINGLETON_DIRECTIVE, SIZE_ATTRIBUTE, SNAPSHOT, SOURCEPATH, SOURCES, SPECIFICATION_VERSION, SPLIT_PACKAGE_DIRECTIVE, STALECHECK, STANDALONE, STATIC_ATTRIBUTE, STRICT, SUB, SUBSTITUTE_ATTRIBUTE, SYSTEMPROPERTIES, TESTCASES, TESTCONTINUOUS, TESTER, TESTER_PLUGIN, TESTPACKAGES, TESTPATH, TESTREPORT, TESTSOURCES, TESTSUITES, TESTUNRESOLVED, TOOL, TRANSITIVE_ATTRIBUTE, TSTAMP, UNDERTEST, UPTO, USES_DIRECTIVE, USES_USES, VALID_PROPERTY_TYPES, VERBOSE, VERSION_ATTR_HASH, VERSION_ATTR_LATEST, VERSION_ATTR_PROJECT, VERSION_ATTR_SNAPSHOT, VERSION_ATTRIBUTE, VERSION_FILTER, VISIBILITY_DIRECTIVE, WAB, WABLIB, WORKINGSET, WORKINGSET_MEMBER
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
doNative(java.lang.String nc)
private void
doVerifierPlugins()
private boolean
hasOverlap(java.util.Set<?> a, java.util.Set<?> b)
static boolean
isArgument(java.lang.String arg)
Verify the ARGUMENT_S syntaxstatic boolean
isBsn(java.lang.String name)
private boolean
isDynamicImport(Descriptors.PackageRef pack)
static boolean
isExtended(java.lang.String key)
Verify the EXTENDED_S syntaxstatic boolean
isFQN(java.lang.String name)
boolean
isFrombuilder()
static boolean
isIdentifier(java.lang.String value)
static boolean
isMember(java.lang.String value, java.lang.String[] matches)
static boolean
isNumber(java.lang.String number)
static boolean
isQuotedString(java.lang.String s)
Verify the QUOTEDSTRING syntaxstatic boolean
isSpaceSeparated(java.lang.String r)
The -runvm header is often wrongly used as a space separated header instead of a properties.static boolean
isVersion(java.lang.String version)
static boolean
isVersionRange(java.lang.String range)
Verify the VERSION_RANGE_S syntaxprivate void
registerActivatorErrorLocation(Reporter.SetLocation location, java.lang.String activator, Verifier.ActivatorErrorType errorType)
void
setFrombuilder(boolean frombuilder)
private java.lang.Object
showUnicode(java.lang.String key)
static java.lang.String
validateFilter(java.lang.String value)
void
verify()
private void
verify(Attrs attrs, java.lang.String ad, java.util.regex.Pattern pattern, boolean mandatory, java.lang.String msg, java.lang.String... args)
private static boolean
verify(java.lang.String value, java.util.regex.Pattern regex)
boolean
verifyActivationPolicy()
boolean
verifyActivationPolicy(java.lang.String policy)
private void
verifyActivator()
(package private) void
verifyAttrs(java.lang.String key, Attrs attrs)
void
verifyBundleClasspath()
private void
verifyCapabilities()
void
verifyChecksums(boolean all)
Verify the checksums from the manifest against the real thing.private void
verifyComponent()
private void
verifyDirectives(java.lang.String header, java.lang.String directives, java.util.regex.Pattern namePattern, java.lang.String type)
Verify if the header does not contain any other directivesprivate void
verifyDirectives(java.lang.String header, java.util.function.Function<java.lang.String,java.lang.String> directives, java.util.regex.Pattern namePattern, java.lang.String type)
Verify if the header does not contain any other directivesprivate void
verifyDynamicImportPackage()
DynamicImport-Package ::= dynamic-description ( ',' dynamic-description )* dynamic-description::= wildcard-names ( ';' parameter )* wildcard-names ::= wildcard-name ( ';' wildcard-name )* wildcard-name ::= package-name | ( package-name '.*' ) // See 1.4.2 | '*'private void
verifyExports()
Verify that the exports only use versions.boolean
verifyFilter(java.lang.String value)
static int
verifyFilter(java.lang.String expr, int index)
filter ::= ’(’ filter-comp ’)’ filter-comp ::= and | or | not | operation and ::= ’&’ filter-list or ::= ’|’ filter-list not ::= ’!’ filter filter-list ::= filter | filter filter-list operation ::= simple | present | substring simple ::= attr filter-type value filter-type ::= equal | approx | greater | less equal ::= ’=’ approx ::= ’˜=’ greater ::= ’>=’ less ::= ’<=’ present ::= attr ’=*’ substring ::= attr ’=’ initial any final inital ::= () | value any ::= ’*’ star-value star-value ::= () | value ’*’ star-value final ::= () | value value ::= <see text>private static int
verifyFilterOperation(java.lang.String expr, int index)
private boolean
verifyHeader(java.lang.String name, java.util.regex.Pattern regex, boolean error)
private void
verifyHeaders()
private void
verifyImports()
Verify that the imports properly use version ranges.private boolean
verifyListHeader(java.lang.String name, java.util.regex.Pattern regex, boolean error)
private void
verifyManifestFirst()
void
verifyMetaPersistence()
Verify the Meta-Persistence headerprivate void
verifyNamespace(java.lang.String ns, java.lang.String type)
void
verifyNative()
(package private) void
verifyPathNames()
Verify of the path names in the JAR are valid on all OS's (mainly windows)private void
verifyRequirements()
private void
verifySymbolicName()
private void
verifyType(Attrs.Type type, java.lang.String string)
private void
verifyUnresolvedReferences()
Check for unresolved imports.private void
verifyUses()
Verify the use clauses-
Methods inherited from class aQute.bnd.osgi.Processor
_basedir, _fileuri, _findfile, _frange, _native_capability, _propertiesdir, _propertiesname, _random, _thisfile, _uri, addBasicPlugin, addClose, addExtensions, addIncluded, addProperties, addProperties, append, appendPath, begin, beginHandleErrors, check, clear, close, concat, customize, decorated, decorated, doAttrbutes, doIncludeFile, doIncludeFile, endHandleErrors, error, error, exception, exists, findHeader, findHeader, findHeader, forceRefresh, formatArrays, get, get, getBase, getBaseURI, getChecksum, getClass, getDuration, getErrors, getExecutor, getFile, getFile, getFlattenedProperties, getFlattenedProperties, getHeader, getHeader, getHeader, getHeader, getIncluded, getInfo, getInfo, getInstructions, getJarFromName, getJavaExecutable, getLine, getLoader, getLocation, getLogger, getMacroDomains, getManifestAsProperties, getMergedParameters, getParameters, getParent, getPlugin, getPlugins, getPlugins, getProfile, getPromiseFactory, getProperties, getPropertiesFile, getProperty, getProperty, getProperty, getPropertyKeys, getReplacer, getScheduledExecutor, getSelfAndAncestors, getSettings, getTop, getUnexpandedProperty, getUnprocessedProperty, getWarnings, is, isDuplicate, isExceptions, isFailOk, isInteractive, isMissingPlugin, isOk, isPedantic, isPerfect, isStrict, isTrace, isTrue, iterator, join, join, join, join, join, join, keySet, lastModified, loadPlugins, loadProperties, loadProperties0, makePrintable, merge, mergeLocalProperties, mergeProperties, mergeProperties, mergeProperties, mergeProperties, newHashMap, newList, newList, newMap, newMap, newSet, newSet, normalize, normalize, parseHeader, parseHeader, printClause, printClauses, printClauses, printExceptionSummary, printStackTrace, progress, progress, propertiesChanged, quote, read, refresh, removeBasicPlugin, removeClose, removeDuplicateMarker, replaceAll, replaceExtension, report, report, set, setBase, setExceptions, setFileMustExist, setForceLocal, setLocation, setParent, setPedantic, setProperties, setProperties, setProperties, setProperties, setProperty, setTrace, setTypeSpecificPlugins, signal, since, split, split, split, spliterator, stream, system, system, toFullHeaderPattern, toString, trace, tree, unsetProperty, updateModified, use, warning
-
Methods inherited from class aQute.bnd.osgi.Domain
copyFrom, domain, domain, domain, domain, domain, domain, domain, getBundleActivator, getBundleCategory, getBundleClasspath, getBundleClassPath, getBundleContactAddress, getBundleCopyright, getBundleDescription, getBundleDocURL, getBundleName, getBundleNative, getBundleRequiredExecutionEnvironment, getBundleSymbolicName, getBundleVendor, getBundleVersion, getDynamicImportPackage, getExportContents, getExportPackage, getFragmentHost, getIcon, getImportPackage, getIncludeResource, getParameters, getParameters, getParameters, getParameters, getPrivatePackage, getProvideCapability, getRequireBundle, getRequireCapability, getRunblacklist, getRunee, isSources, normalizeKey, setAugment, setBundleActivator, setBundleClasspath, setBundleRequiredExecutionEnvironment, setBundleSymbolicName, setBundleVersion, setBundleVersion, setConditionalPackage, setExportContents, setExportPackage, setFailOk, setImportPackage, setIncludePackage, setIncludeResource, setPrivatePackage, setRunblacklist, setRunee, setRunfw, setRunRequires, setSources, setTranslation, translate, translate
-
-
-
-
Field Detail
-
dot
private final Jar dot
-
manifest
private final java.util.jar.Manifest manifest
-
main
private final Domain main
-
r3
private boolean r3
-
usesRequire
private boolean usesRequire
-
EENAME
static final java.util.regex.Pattern EENAME
-
EES
public static final java.lang.String[] EES
-
ReservedFileNames
public static final java.util.regex.Pattern ReservedFileNames
-
CARDINALITY_PATTERN
static final java.util.regex.Pattern CARDINALITY_PATTERN
-
RESOLUTION_PATTERN
static final java.util.regex.Pattern RESOLUTION_PATTERN
-
BUNDLEMANIFESTVERSION
static final java.util.regex.Pattern BUNDLEMANIFESTVERSION
-
TOKEN
public static final java.util.regex.Pattern TOKEN
-
EXTENDED_S
public static final java.lang.String EXTENDED_S
- See Also:
- Constant Field Values
-
EXTENDED_P
public static final java.util.regex.Pattern EXTENDED_P
-
QUOTEDSTRING
public static final java.lang.String QUOTEDSTRING
- See Also:
- Constant Field Values
-
QUOTEDSTRING_P
public static final java.util.regex.Pattern QUOTEDSTRING_P
-
ARGUMENT_S
public static final java.lang.String ARGUMENT_S
- See Also:
- Constant Field Values
-
ARGUMENT_P
public static final java.util.regex.Pattern ARGUMENT_P
-
SYMBOLICNAME_STRING
public static final java.lang.String SYMBOLICNAME_STRING
- See Also:
- Constant Field Values
-
SYMBOLICNAME
public static final java.util.regex.Pattern SYMBOLICNAME
-
VERSION_STRING
public static final java.lang.String VERSION_STRING
- See Also:
- Constant Field Values
-
VERSION_S
public static final java.lang.String VERSION_S
- See Also:
- Constant Field Values
-
VERSION
public static final java.util.regex.Pattern VERSION
-
VERSION_P
public static final java.util.regex.Pattern VERSION_P
-
VERSIONRANGE
public static final java.util.regex.Pattern VERSIONRANGE
-
VERSION_RANGE_S
public static final java.lang.String VERSION_RANGE_S
- See Also:
- Constant Field Values
-
VERSIONRANGE_P
public static final java.util.regex.Pattern VERSIONRANGE_P
-
FILTEROP
static final java.util.regex.Pattern FILTEROP
-
FILE
static final java.util.regex.Pattern FILE
-
WILDCARDPACKAGE
static final java.util.regex.Pattern WILDCARDPACKAGE
-
ISO639
public static final java.util.regex.Pattern ISO639
-
HEADER_PATTERN
public static final java.util.regex.Pattern HEADER_PATTERN
-
NUMBERPATTERN
public static final java.util.regex.Pattern NUMBERPATTERN
-
FLOATPATTERN
public static final java.util.regex.Pattern FLOATPATTERN
-
BOOLEANPATTERN
public static final java.util.regex.Pattern BOOLEANPATTERN
-
PACKAGEPATTERN
public static final java.util.regex.Pattern PACKAGEPATTERN
-
PACKAGEPATTERN_OR_EMPTY
public static final java.util.regex.Pattern PACKAGEPATTERN_OR_EMPTY
-
MULTIPACKAGEPATTERN
public static final java.util.regex.Pattern MULTIPACKAGEPATTERN
-
PATHPATTERN
public static final java.util.regex.Pattern PATHPATTERN
-
FQNPATTERN
public static final java.util.regex.Pattern FQNPATTERN
-
URLPATTERN
public static final java.util.regex.Pattern URLPATTERN
-
ANYPATTERN
public static final java.util.regex.Pattern ANYPATTERN
-
FILTERPATTERN
public static final java.util.regex.Pattern FILTERPATTERN
-
TRUEORFALSEPATTERN
public static final java.util.regex.Pattern TRUEORFALSEPATTERN
-
WILDCARDNAMEPATTERN
public static final java.util.regex.Pattern WILDCARDNAMEPATTERN
-
BUNDLE_ACTIVATIONPOLICYPATTERN
public static final java.util.regex.Pattern BUNDLE_ACTIVATIONPOLICYPATTERN
-
OSNAMES
public static final java.lang.String[] OSNAMES
-
PROCESSORNAMES
public static final java.lang.String[] PROCESSORNAMES
-
analyzer
final Analyzer analyzer
-
dynamicImports
private Instructions dynamicImports
-
frombuilder
private boolean frombuilder
-
-
Method Detail
-
verifyHeaders
private void verifyHeaders()
-
verifyNative
public void verifyNative()
-
doNative
public void doNative(java.lang.String nc)
-
verifyFilter
public boolean verifyFilter(java.lang.String value)
-
validateFilter
public static java.lang.String validateFilter(java.lang.String value)
-
verifyActivator
private void verifyActivator() throws java.lang.Exception
- Throws:
java.lang.Exception
-
registerActivatorErrorLocation
private void registerActivatorErrorLocation(Reporter.SetLocation location, java.lang.String activator, Verifier.ActivatorErrorType errorType) throws java.lang.Exception
- Throws:
java.lang.Exception
-
verifyComponent
private void verifyComponent()
-
verifyUnresolvedReferences
private void verifyUnresolvedReferences() throws java.lang.Exception
Check for unresolved imports. These are referrals that are not imported by the manifest and that are not part of our bundle class path. The are calculated by removing all the imported packages and contained from the referred packages.- Throws:
java.lang.Exception
-
isDynamicImport
private boolean isDynamicImport(Descriptors.PackageRef pack)
-
hasOverlap
private boolean hasOverlap(java.util.Set<?> a, java.util.Set<?> b)
-
verify
public void verify() throws java.lang.Exception
- Throws:
java.lang.Exception
-
doVerifierPlugins
private void doVerifierPlugins()
-
verifyPathNames
void verifyPathNames()
Verify of the path names in the JAR are valid on all OS's (mainly windows)
-
verifyImports
private void verifyImports()
Verify that the imports properly use version ranges.
-
verifyExports
private void verifyExports()
Verify that the exports only use versions.
-
showUnicode
private java.lang.Object showUnicode(java.lang.String key)
-
verifyRequirements
private void verifyRequirements() throws java.lang.IllegalArgumentException, java.lang.Exception
- Throws:
java.lang.IllegalArgumentException
java.lang.Exception
-
verifyAttrs
void verifyAttrs(java.lang.String key, Attrs attrs)
- Parameters:
attrs
-
-
verifyCapabilities
private void verifyCapabilities()
-
verifyNamespace
private void verifyNamespace(java.lang.String ns, java.lang.String type)
-
verify
private void verify(Attrs attrs, java.lang.String ad, java.util.regex.Pattern pattern, boolean mandatory, java.lang.String msg, java.lang.String... args)
-
verifyType
private void verifyType(Attrs.Type type, java.lang.String string)
-
verifyDirectives
private void verifyDirectives(java.lang.String header, java.lang.String directives, java.util.regex.Pattern namePattern, java.lang.String type) throws java.lang.Exception
Verify if the header does not contain any other directives- Parameters:
header
-directives
-namePattern
-type
-- Throws:
java.lang.Exception
-
verifyDirectives
private void verifyDirectives(java.lang.String header, java.util.function.Function<java.lang.String,java.lang.String> directives, java.util.regex.Pattern namePattern, java.lang.String type) throws java.lang.Exception
Verify if the header does not contain any other directives- Parameters:
header
-directives
-namePattern
-type
-- Throws:
java.lang.Exception
-
verifyUses
private void verifyUses()
Verify the use clauses
-
verifyActivationPolicy
public boolean verifyActivationPolicy()
-
verifyActivationPolicy
public boolean verifyActivationPolicy(java.lang.String policy)
-
verifyBundleClasspath
public void verifyBundleClasspath()
-
verifyDynamicImportPackage
private void verifyDynamicImportPackage()
DynamicImport-Package ::= dynamic-description ( ',' dynamic-description )* dynamic-description::= wildcard-names ( ';' parameter )* wildcard-names ::= wildcard-name ( ';' wildcard-name )* wildcard-name ::= package-name | ( package-name '.*' ) // See 1.4.2 | '*'
-
verifyManifestFirst
private void verifyManifestFirst()
-
verifySymbolicName
private void verifySymbolicName()
-
isBsn
public static boolean isBsn(java.lang.String name)
- Parameters:
name
- theString
to test- Returns:
true
if the givenname
matches a Bundle Symbolic Name, otherwisefalse
-
verifyFilter
public static int verifyFilter(java.lang.String expr, int index)
filter ::= ’(’ filter-comp ’)’ filter-comp ::= and | or | not | operation and ::= ’&’ filter-list or ::= ’|’ filter-list not ::= ’!’ filter filter-list ::= filter | filter filter-list operation ::= simple | present | substring simple ::= attr filter-type value filter-type ::= equal | approx | greater | less equal ::= ’=’ approx ::= ’˜=’ greater ::= ’>=’ less ::= ’<=’ present ::= attr ’=*’ substring ::= attr ’=’ initial any final inital ::= () | value any ::= ’*’ star-value star-value ::= () | value ’*’ star-value final ::= () | value value ::= <see text>
- Parameters:
expr
- theString
to testindex
- the index withinexpr
to start with- Returns:
- the index of the last character within
expr
that was evaluated
-
verifyFilterOperation
private static int verifyFilterOperation(java.lang.String expr, int index)
-
verifyHeader
private boolean verifyHeader(java.lang.String name, java.util.regex.Pattern regex, boolean error)
-
verify
private static boolean verify(java.lang.String value, java.util.regex.Pattern regex)
-
verifyListHeader
private boolean verifyListHeader(java.lang.String name, java.util.regex.Pattern regex, boolean error)
-
isVersion
public static boolean isVersion(java.lang.String version)
-
isIdentifier
public static boolean isIdentifier(java.lang.String value)
-
isMember
public static boolean isMember(java.lang.String value, java.lang.String[] matches)
-
isFQN
public static boolean isFQN(java.lang.String name)
-
verifyChecksums
public void verifyChecksums(boolean all) throws java.lang.Exception
Verify the checksums from the manifest against the real thing.- Parameters:
all
-true
if each resource must be digested, otherwisefalse
- Throws:
java.lang.Exception
-
isExtended
public static boolean isExtended(java.lang.String key)
Verify the EXTENDED_S syntax- Parameters:
key
- theString
to test- Returns:
true
if the givenString
matches the EXTENDED_S syntax, otherwisefalse
-
isArgument
public static boolean isArgument(java.lang.String arg)
Verify the ARGUMENT_S syntax- Parameters:
arg
- theString
to test- Returns:
true
if the givenString
matches the ARGUMENT_S syntax, otherwisefalse
-
isQuotedString
public static boolean isQuotedString(java.lang.String s)
Verify the QUOTEDSTRING syntax- Parameters:
s
- theString
to test- Returns:
true
if the givenString
matches the QUOTEDSTRING syntax, otherwisefalse
-
isVersionRange
public static boolean isVersionRange(java.lang.String range)
Verify the VERSION_RANGE_S syntax- Parameters:
range
- theString
to test- Returns:
true
if the givenString
matches the VERSION_RANGE_S syntax, otherwisefalse
-
verifyMetaPersistence
public void verifyMetaPersistence() throws java.lang.Exception
Verify the Meta-Persistence header- Throws:
java.lang.Exception
-
isFrombuilder
public boolean isFrombuilder()
- Returns:
- the frombuilder
-
setFrombuilder
public void setFrombuilder(boolean frombuilder)
- Parameters:
frombuilder
- the frombuilder to set
-
isNumber
public static boolean isNumber(java.lang.String number)
-
isSpaceSeparated
public static boolean isSpaceSeparated(java.lang.String r)
The -runvm header is often wrongly used as a space separated header instead of a properties. This checks if a header uses commas to separate the parts or spaces.- Parameters:
r
- a header- Returns:
- true if spaces are used for separation, false if 1 parameter or commas used
-
-