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 classVerifier.ActivatorErrorTypestatic classVerifier.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) Analyzeranalyzerstatic java.util.regex.PatternANYPATTERNstatic java.util.regex.PatternARGUMENT_Pstatic java.lang.StringARGUMENT_Sstatic java.util.regex.PatternBOOLEANPATTERNstatic java.util.regex.PatternBUNDLE_ACTIVATIONPOLICYPATTERN(package private) static java.util.regex.PatternBUNDLEMANIFESTVERSION(package private) static java.util.regex.PatternCARDINALITY_PATTERNprivate Jardotprivate InstructionsdynamicImports(package private) static java.util.regex.PatternEENAMEstatic java.lang.String[]EESstatic java.util.regex.PatternEXTENDED_Pstatic java.lang.StringEXTENDED_S(package private) static java.util.regex.PatternFILE(package private) static java.util.regex.PatternFILTEROPstatic java.util.regex.PatternFILTERPATTERNstatic java.util.regex.PatternFLOATPATTERNstatic java.util.regex.PatternFQNPATTERNprivate booleanfrombuilderstatic java.util.regex.PatternHEADER_PATTERNstatic java.util.regex.PatternISO639private Domainmainprivate java.util.jar.Manifestmanifeststatic java.util.regex.PatternMULTIPACKAGEPATTERNstatic java.util.regex.PatternNUMBERPATTERNstatic java.lang.String[]OSNAMESstatic java.util.regex.PatternPACKAGEPATTERNstatic java.util.regex.PatternPACKAGEPATTERN_OR_EMPTYstatic java.util.regex.PatternPATHPATTERNstatic java.lang.String[]PROCESSORNAMESstatic java.lang.StringQUOTEDSTRINGstatic java.util.regex.PatternQUOTEDSTRING_Pprivate booleanr3static java.util.regex.PatternReservedFileNames(package private) static java.util.regex.PatternRESOLUTION_PATTERNstatic java.util.regex.PatternSYMBOLICNAMEstatic java.lang.StringSYMBOLICNAME_STRINGstatic java.util.regex.PatternTOKENstatic java.util.regex.PatternTRUEORFALSEPATTERNstatic java.util.regex.PatternURLPATTERNprivate booleanusesRequirestatic java.util.regex.PatternVERSIONstatic java.util.regex.PatternVERSION_Pstatic java.lang.StringVERSION_RANGE_Sstatic java.lang.StringVERSION_Sstatic java.lang.StringVERSION_STRINGstatic java.util.regex.PatternVERSIONRANGEstatic java.util.regex.PatternVERSIONRANGE_Pstatic java.util.regex.PatternWILDCARDNAMEPATTERN(package private) static java.util.regex.PatternWILDCARDPACKAGE-
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 voiddoNative(java.lang.String nc)private voiddoVerifierPlugins()private booleanhasOverlap(java.util.Set<?> a, java.util.Set<?> b)static booleanisArgument(java.lang.String arg)Verify the ARGUMENT_S syntaxstatic booleanisBsn(java.lang.String name)private booleanisDynamicImport(Descriptors.PackageRef pack)static booleanisExtended(java.lang.String key)Verify the EXTENDED_S syntaxstatic booleanisFQN(java.lang.String name)booleanisFrombuilder()static booleanisIdentifier(java.lang.String value)static booleanisMember(java.lang.String value, java.lang.String[] matches)static booleanisNumber(java.lang.String number)static booleanisQuotedString(java.lang.String s)Verify the QUOTEDSTRING syntaxstatic booleanisSpaceSeparated(java.lang.String r)The -runvm header is often wrongly used as a space separated header instead of a properties.static booleanisVersion(java.lang.String version)static booleanisVersionRange(java.lang.String range)Verify the VERSION_RANGE_S syntaxprivate voidregisterActivatorErrorLocation(Reporter.SetLocation location, java.lang.String activator, Verifier.ActivatorErrorType errorType)voidsetFrombuilder(boolean frombuilder)private java.lang.ObjectshowUnicode(java.lang.String key)static java.lang.StringvalidateFilter(java.lang.String value)voidverify()private voidverify(Attrs attrs, java.lang.String ad, java.util.regex.Pattern pattern, boolean mandatory, java.lang.String msg, java.lang.String... args)private static booleanverify(java.lang.String value, java.util.regex.Pattern regex)booleanverifyActivationPolicy()booleanverifyActivationPolicy(java.lang.String policy)private voidverifyActivator()(package private) voidverifyAttrs(java.lang.String key, Attrs attrs)voidverifyBundleClasspath()private voidverifyCapabilities()voidverifyChecksums(boolean all)Verify the checksums from the manifest against the real thing.private voidverifyComponent()private voidverifyDirectives(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 voidverifyDirectives(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 voidverifyDynamicImportPackage()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 voidverifyExports()Verify that the exports only use versions.booleanverifyFilter(java.lang.String value)static intverifyFilter(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 intverifyFilterOperation(java.lang.String expr, int index)private booleanverifyHeader(java.lang.String name, java.util.regex.Pattern regex, boolean error)private voidverifyHeaders()private voidverifyImports()Verify that the imports properly use version ranges.private booleanverifyListHeader(java.lang.String name, java.util.regex.Pattern regex, boolean error)private voidverifyManifestFirst()voidverifyMetaPersistence()Verify the Meta-Persistence headerprivate voidverifyNamespace(java.lang.String ns, java.lang.String type)voidverifyNative()(package private) voidverifyPathNames()Verify of the path names in the JAR are valid on all OS's (mainly windows)private voidverifyRequirements()private voidverifySymbolicName()private voidverifyType(Attrs.Type type, java.lang.String string)private voidverifyUnresolvedReferences()Check for unresolved imports.private voidverifyUses()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.ExceptionCheck 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.IllegalArgumentExceptionjava.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.ExceptionVerify 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.ExceptionVerify 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- theStringto test- Returns:
trueif the givennamematches 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- theStringto testindex- the index withinexprto start with- Returns:
- the index of the last character within
exprthat 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.ExceptionVerify the checksums from the manifest against the real thing.- Parameters:
all-trueif 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- theStringto test- Returns:
trueif the givenStringmatches the EXTENDED_S syntax, otherwisefalse
-
isArgument
public static boolean isArgument(java.lang.String arg)
Verify the ARGUMENT_S syntax- Parameters:
arg- theStringto test- Returns:
trueif the givenStringmatches the ARGUMENT_S syntax, otherwisefalse
-
isQuotedString
public static boolean isQuotedString(java.lang.String s)
Verify the QUOTEDSTRING syntax- Parameters:
s- theStringto test- Returns:
trueif the givenStringmatches the QUOTEDSTRING syntax, otherwisefalse
-
isVersionRange
public static boolean isVersionRange(java.lang.String range)
Verify the VERSION_RANGE_S syntax- Parameters:
range- theStringto test- Returns:
trueif the givenStringmatches the VERSION_RANGE_S syntax, otherwisefalse
-
verifyMetaPersistence
public void verifyMetaPersistence() throws java.lang.ExceptionVerify 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
-
-