public class Processor extends Domain implements Reporter, Registry, Constants, java.io.Closeable
Modifier and Type | Class and Description |
---|---|
static class |
Processor.CL |
static class |
Processor.FileLine |
(package private) static class |
Processor.SetLocationImpl |
Reporter.SetLocation
Report.Location
Modifier and Type | Field and Description |
---|---|
(package private) static java.lang.String |
_fileuri |
(package private) static java.lang.String |
_uri |
private java.io.File |
base |
private java.net.URI |
baseURI |
(package private) java.util.Set<java.lang.Object> |
basicPlugins |
(package private) static int |
BUFFER_SIZE |
(package private) static java.lang.ThreadLocal<Processor> |
current |
(package private) java.util.List<java.lang.String> |
errors |
(package private) boolean |
exceptions |
private static java.util.concurrent.ExecutorService |
executor |
(package private) boolean |
fileMustExist |
(package private) java.util.Collection<java.lang.String> |
filter |
private boolean |
fixup |
(package private) boolean |
fixupMessages |
(package private) java.util.List<java.io.File> |
included |
private long |
lastModified |
static java.lang.String |
LIST_SPLITTER |
(package private) java.util.List<Report.Location> |
locations
Create a location object and add it to the locations
|
static Reporter |
log |
private static org.slf4j.Logger |
logger |
(package private) java.util.HashSet<java.lang.String> |
missingCommand |
(package private) long |
modified |
(package private) static java.util.regex.Pattern |
PACKAGES_IGNORED |
(package private) Processor |
parent |
(package private) boolean |
pedantic |
(package private) Processor.CL |
pluginLoader |
private java.util.Set<java.lang.Object> |
plugins |
(package private) java.lang.String |
profile |
(package private) java.util.Properties |
properties |
private java.io.File |
propertiesFile |
(package private) static java.util.Random |
random |
private Macro |
replacer |
private static java.util.concurrent.ScheduledExecutorService |
sheduledExecutor |
(package private) java.lang.Boolean |
strict |
private java.util.Set<java.io.Closeable> |
toBeClosed |
(package private) boolean |
trace |
(package private) Version |
upto
This method is about compatibility.
|
(package private) java.util.List<java.lang.String> |
warnings |
translation
AUGMENT, AUGMENT_CAPABILITY_DIRECTIVE, AUGMENT_RANGE_ATTRIBUTE, AUGMENT_REQUIREMENT_DIRECTIVE, 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, 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, CACHEDIR, CARDINALITY_DIRECTIVE, CHECK, 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, CONDITIONAL_PACKAGE, CONDITIONALPACKAGE, CONDUIT, CONNECTION_SETTINGS, CONSUMER_POLICY, CONTRACT, CREATED_BY, 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, DEPENDSON, DEPLOY, DEPLOYREPO, DESCRIPTION_ATTRIBUTE, DIFFIGNORE, DIFFPACKAGES, DIGESTS, directives, DISTRO, DONOTCOPY, DSANNOTATIONS, DSANNOTATIONS_OPTIONS, DUPLICATE_MARKER, DYNAMICIMPORT_PACKAGE, EEPROFILE, EEPROFILE_AUTO_ATTRIBUTE, EFFECTIVE_DIRECTIVE, EMBEDDED_REPO, EMPTY, EMPTY_HEADER, EXCLUDE_DIRECTIVE, EXPERIMENTS, EXPORT, EXPORT_CONTENTS, EXPORT_PACKAGE, EXPORT_SERVICE, 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, GESTALT, GESTALT_BATCH, GESTALT_CI, GESTALT_INTERACTIVE, GESTALT_OFFLINE, GESTALT_SHELL, GROUPID, headers, IGNORE_PACKAGE, IGNORE_STANDALONE, IMPORT_DIRECTIVE, IMPORT_PACKAGE, IMPORT_PRIVATE, IMPORT_REFERENCE, IMPORT_SERVICE, importDirectives, INCLUDE, INCLUDE_DIRECTIVE, INCLUDE_RESOURCE, INCLUDERESOURCE, INIT, INTERNAL_EXPORTED_DIRECTIVE, INTERNAL_SOURCE_DIRECTIVE, INVALIDFILENAMES, JAVA, JAVA_DEBUG, JAVAAGENT, JAVAC, JAVAC_PROFILE, JAVAC_SOURCE, JAVAC_TARGET, JIDENTIFIER, KEYSTORE_LOCATION_DIRECTIVE, KEYSTORE_PASSWORD_DIRECTIVE, KEYSTORE_PROVIDER_DIRECTIVE, LANGUAGE_ATTRIBUTE, LAUNCHER_PLUGIN, LIB_DIRECTIVE, LINK_ATTRIBUTE, LITERAL_ATTRIBUTE, MAKE, MANDATORY_DIRECTIVE, MANIFEST, MANIFEST_NAME, MAVEN_RELEASE, META_PERSISTENCE, METAPACKAGES, METATYPE, METATYPE_ANNOTATIONS, METATYPE_ANNOTATIONS_OPTIONS, NAME_ATTRIBUTE, NAMESECTION, NAMESPACE_STEM, NO_IMPORT_DIRECTIVE, NOANNOTATIONS, NOBUILDINCACHE, NOBUNDLES, NODEFAULTVERSION, NOEE, NOEXTRAHEADERS, NOJUNIT, NOJUNITOSGI, NOMANIFEST, NONE, NOUSES, OPTIONAL, options, OSNAME_ATTRIBUTE, OSVERSION_ATTRIBUTE, OUTPUT, OUTPUTMASK, PACKAGE, PACKAGE_JPM, 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, REMOVE_ATTRIBUTE_DIRECTIVE, REMOVEHEADERS, REPORTNEWER, REPOSITORIES, REQUIRE_BND, REQUIRE_BUNDLE, REQUIRE_CAPABILITY, RESOLUTION, RESOLUTION_DIRECTIVE, RESOLUTION_DYNAMIC, RESOLVE, RESOURCEONLY, RUNBLACKLIST, RUNBUILDS, RUNBUNDLES, RUNEE, RUNENV, RUNFRAMEWORK, RUNFRAMEWORK_NONE, RUNFRAMEWORK_SERVICES, RUNFW, RUNJDB, RUNKEEP, RUNNOREFERENCES, RUNPATH, RUNPATH_LAUNCHER_DIRECTIVE, RUNPATH_MAIN_DIRECTIVE, RUNPROGRAMARGS, RUNPROPERTIES, RUNPROVIDEDCAPABILITIES, RUNREMOTE, RUNREPOS, RUNREQUIRE, RUNREQUIRES, RUNSTORAGE, RUNSYSTEMCAPABILITIES, RUNSYSTEMPACKAGES, RUNTIMEOUT, RUNTRACE, RUNVM, SAVEMANIFEST, SELECTION_FILTER_ATTRIBUTE, SERVICE_COMPONENT, 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, STANDALONE, STRICT, SUB, SYSTEMPROPERTIES, TESTCASES, TESTCONTINUOUS, TESTER, TESTER_PLUGIN, TESTPACKAGES, TESTPATH, TESTREPORT, TESTSOURCES, TESTSUITES, TESTUNRESOLVED, TOOL, 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
Constructor and Description |
---|
Processor() |
Processor(Processor processor) |
Processor(java.util.Properties parent) |
Processor(java.util.Properties props,
boolean copy) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
_basedir(java.lang.String[] args) |
java.lang.String |
_fileuri(java.lang.String[] args) |
java.lang.String |
_findfile(java.lang.String[] args) |
java.lang.String |
_frange(java.lang.String[] args)
Return a range expression for a filter from a version.
|
java.lang.String |
_native_capability(java.lang.String... args)
Generates a Capability string, in the format specified by the OSGi
Provide-Capability header, representing the current native platform
according to OSGi RFC 188.
|
java.lang.String |
_propertiesdir(java.lang.String[] args) |
java.lang.String |
_propertiesname(java.lang.String[] args) |
java.lang.String |
_random(java.lang.String[] args)
Generate a random string, which is guaranteed to be a valid Java
identifier (first character is an ASCII letter, subsequent characters are
ASCII letters or numbers).
|
java.lang.String |
_thisfile(java.lang.String[] args)
Return the name of the properties file
|
java.lang.String |
_uri(java.lang.String[] args) |
private void |
addAll(java.util.List<java.lang.String> to,
java.util.List<java.lang.String> from,
java.lang.String prefix,
Reporter reporter) |
void |
addBasicPlugin(java.lang.Object plugin)
These plugins are added to the total list of plugins.
|
void |
addClose(java.io.Closeable jar) |
protected void |
addExtensions(java.util.Set<java.lang.Object> p)
Is called when all plugins are loaded
|
void |
addIncluded(java.io.File file) |
void |
addProperties(java.io.File file) |
void |
addProperties(java.util.Map<?,?> properties) |
static java.lang.String |
append(java.lang.String... strings) |
static java.lang.String |
appendPath(java.lang.String... parts)
Append two strings to for a path in a ZIP or JAR file.
|
protected void |
begin() |
protected Processor |
beginHandleErrors(java.lang.String message)
Set the current command thread.
|
boolean |
check(java.lang.String... pattern) |
void |
clear() |
void |
close() |
<T> T[] |
concat(java.lang.Class<T> type,
T[] prefix,
T suffix)
Add an element to an array, creating a new one if necessary
|
private Processor |
current()
A processor can mark itself current for a thread.
|
protected <T> T |
customize(T plugin,
Attrs map)
Set the initial parameters of a plugin
|
static Attrs |
doAttrbutes(java.lang.Object[] attrs,
Clazz clazz,
Macro macro)
Parse the a=b strings and return a map of them.
|
private void |
doFixup(Instructions instrs,
java.util.List<java.lang.String> messages,
java.util.List<java.lang.String> other,
java.lang.String type) |
void |
doIncludeFile(java.io.File file,
boolean overwrite,
java.util.Properties target) |
void |
doIncludeFile(java.io.File file,
boolean overwrite,
java.util.Properties target,
java.lang.String extensionName) |
private void |
doIncludes(java.io.File ubase,
java.util.Properties p)
Inspect the properties and if you find -includes parse the line included
manifest files or properties files.
|
protected void |
endHandleErrors(Processor previous)
End a command.
|
Reporter.SetLocation |
error(java.lang.String string,
java.lang.Object... args)
Create an error.
|
Reporter.SetLocation |
error(java.lang.String format,
java.lang.Throwable t,
java.lang.Object... args) |
Reporter.SetLocation |
exception(java.lang.Throwable t,
java.lang.String format,
java.lang.Object... args)
Dedicated message for an exception.
|
boolean |
exists() |
private java.lang.String |
fileName(java.lang.String path) |
static Processor.FileLine |
findHeader(java.io.File f,
java.util.regex.Pattern header) |
static Processor.FileLine |
findHeader(java.io.File f,
java.util.regex.Pattern header,
java.util.regex.Pattern clause) |
static Processor.FileLine |
findHeader(java.io.File f,
java.lang.String header) |
private void |
fixupMessages()
Move errors and warnings to their proper place by scanning the fixup
messages property.
|
void |
forceRefresh() |
static java.lang.String |
formatArrays(java.lang.String string,
java.lang.Object... parms)
This method is the same as String.format but it makes sure that any
arrays are transformed to strings.
|
java.lang.String |
get(java.lang.String key)
Overrides for the Domain class
|
java.lang.String |
get(java.lang.String key,
java.lang.String deflt) |
java.io.File |
getBase() |
java.net.URI |
getBaseURI() |
java.lang.Class<?> |
getClass(java.lang.String type,
java.io.File jar) |
static long |
getDuration(java.lang.String tm,
long dflt) |
java.util.List<java.lang.String> |
getErrors()
Return the errors.
|
static java.util.concurrent.Executor |
getExecutor() |
static java.io.File |
getFile(java.io.File base,
java.lang.String file) |
java.io.File |
getFile(java.lang.String file) |
java.util.Properties |
getFlattenedProperties()
Return the properties but expand all macros.
|
java.util.Properties |
getFlattenedProperties(boolean ignoreInstructions)
Return the properties but expand all macros.
|
Processor.FileLine |
getHeader(java.util.regex.Pattern header) |
Processor.FileLine |
getHeader(java.util.regex.Pattern header,
java.util.regex.Pattern clause) |
Processor.FileLine |
getHeader(java.lang.String header)
Get a header relative to this processor, tking its parents and includes
into account.
|
Processor.FileLine |
getHeader(java.lang.String header,
java.lang.String clause) |
private Processor.FileLine |
getHeader0(java.util.regex.Pattern header,
java.util.regex.Pattern clause) |
java.util.List<java.io.File> |
getIncluded() |
void |
getInfo(Reporter processor) |
void |
getInfo(Reporter processor,
java.lang.String prefix) |
Jar |
getJarFromName(java.lang.String name,
java.lang.String from)
Try to get a Jar from a file name/path or a url, or in last resort from
the classpath name part of their files.
|
static int |
getLine(java.lang.String s,
int index) |
private java.lang.String |
getLiteralProperty(java.lang.String key,
java.lang.String deflt,
Processor source,
boolean inherit) |
protected Processor.CL |
getLoader() |
Report.Location |
getLocation(java.lang.String msg)
Return the errors for the given error or warning.
|
org.slf4j.Logger |
getLogger() |
protected java.lang.Object[] |
getMacroDomains()
This should be overridden by subclasses to add extra macro command
domains on the search list.
|
static java.util.Properties |
getManifestAsProperties(java.io.InputStream in)
Read a manifest but return a properties object.
|
Parameters |
getMergedParameters(java.lang.String key)
Get a Parameters from merged properties
|
Processor |
getParent() |
<T> T |
getPlugin(java.lang.Class<T> clazz)
Returns the first plugin it can find of the given type.
|
java.util.Set<java.lang.Object> |
getPlugins()
Return a list of plugins.
|
<T> java.util.List<T> |
getPlugins(java.lang.Class<T> clazz)
Return a list of plugins that implement the given class.
|
java.util.Properties |
getProperties()
Property handling ...
|
private java.util.Properties |
getProperties0() |
java.io.File |
getPropertiesFile() |
java.lang.String |
getProperty(java.lang.String key) |
java.lang.String |
getProperty(java.lang.String key,
java.lang.String deflt)
Get a property with preprocessing it with a proper default
|
java.lang.String |
getProperty(java.lang.String key,
java.lang.String deflt,
java.lang.String separator) |
private java.lang.String |
getProperty(java.lang.String key,
java.lang.String deflt,
java.lang.String separator,
boolean inherit) |
java.util.Set<java.lang.String> |
getPropertyKeys(boolean inherit)
Return all inherited property keys
|
Macro |
getReplacer() |
static java.util.concurrent.ScheduledExecutorService |
getScheduledExecutor() |
void |
getSettings(Processor p)
Copy the settings of another processor
|
Processor |
getTop() |
java.lang.String |
getUnprocessedProperty(java.lang.String key,
java.lang.String deflt)
Get a property without preprocessing it with a proper default
|
java.util.List<java.lang.String> |
getWarnings()
Return the warnings.
|
private java.lang.String |
getWildcardProperty(java.lang.String deflt,
java.lang.String separator,
boolean inherit,
Instruction ins) |
boolean |
is(java.lang.String propertyName)
Simplified way to check booleans
|
static boolean |
isDuplicate(java.lang.String name) |
boolean |
isExceptions() |
boolean |
isFailOk()
Indicates that this run should ignore errors and succeed anyway
|
boolean |
isMissingPlugin(java.lang.String name)
Answer if the name is a missing plugin's command name.
|
boolean |
isOk()
Check if this report has any relevant errors that should make the run
associated with this report invalid.
|
boolean |
isPedantic()
The provider of the reporter wants pedantic reporting, meaning every
possible warning should be reported.
|
boolean |
isPerfect() |
(package private) boolean |
isStrict()
If strict is true, then extra verification is done.
|
boolean |
isTrace() |
static boolean |
isTrue(java.lang.String value) |
java.util.Iterator<java.lang.String> |
iterator() |
private java.util.Iterator<java.lang.String> |
iterator(boolean inherit) |
static java.lang.String |
join(java.util.Collection<?>... list) |
static java.lang.String |
join(java.util.Collection<?> list,
java.lang.String delimeter)
Join a list.
|
static java.lang.String |
join(java.lang.Object[] list,
java.lang.String delimeter) |
static java.lang.String |
join(java.lang.String delimeter,
java.util.Collection<?>... list) |
static <T> java.lang.String |
join(T[] list) |
java.util.Set<java.lang.String> |
keySet() |
long |
lastModified() |
private java.lang.Object |
loadPlugin(java.lang.ClassLoader loader,
Attrs attrs,
java.lang.String className,
boolean ignoreError)
Load a plugin and customize it.
|
private void |
loadPluginPath(java.util.Set<java.lang.Object> instances,
java.lang.String pluginPath,
Processor.CL loader)
Add the @link
Constants.PLUGINPATH entries (which are file names)
to the class loader. |
protected void |
loadPlugins(java.util.Set<java.lang.Object> instances,
java.lang.String pluginString,
java.lang.String pluginPathString)
Magic to load the plugins.
|
java.util.Properties |
loadProperties(java.io.File file)
Helper to load a properties file from disk.
|
(package private) UTF8Properties |
loadProperties0(java.io.File file)
Load Properties from disk.
|
private Reporter.SetLocation |
location(java.lang.String s) |
static java.lang.Object |
makePrintable(java.lang.Object object)
Check if the object is an array and turn it into a string if it is,
otherwise unchanged.
|
private static java.lang.Object[] |
makePrintableArray(java.lang.Object array) |
private java.lang.String |
makeWildcard(java.lang.String key) |
static java.lang.String |
merge(java.lang.String... strings) |
java.lang.String |
mergeLocalProperties(java.lang.String key) |
void |
mergeProperties(java.io.File file,
boolean override) |
void |
mergeProperties(java.util.Properties properties,
boolean override) |
java.lang.String |
mergeProperties(java.lang.String key)
Return merged properties.
|
java.lang.String |
mergeProperties(java.lang.String key,
java.lang.String separator) |
static <K,V> java.util.Map<K,V> |
newHashMap() |
<T> java.util.List<T> |
newList() |
<T> java.util.List<T> |
newList(java.util.Collection<T> t) |
static <K,V> java.util.Map<K,V> |
newMap() |
<K,V> java.util.Map<K,V> |
newMap(java.util.Map<K,V> t) |
<T> java.util.Set<T> |
newSet() |
<T> java.util.Set<T> |
newSet(java.util.Collection<T> t) |
java.lang.String |
normalize(java.io.File f) |
java.lang.String |
normalize(java.lang.String f)
Make the file short if it is inside our base directory, otherwise long.
|
Parameters |
parseHeader(java.lang.String value) |
static Parameters |
parseHeader(java.lang.String value,
Processor logger)
Standard OSGi header parser.
|
static void |
printClause(java.util.Map<?,?> map,
java.lang.StringBuilder sb) |
static java.lang.String |
printClauses(java.util.Map<?,? extends java.util.Map<?,?>> exports)
Print a standard Map based OSGi header.
|
static java.lang.String |
printClauses(java.util.Map<?,? extends java.util.Map<?,?>> exports,
boolean checkMultipleVersions) |
int |
printExceptionSummary(java.lang.Throwable e,
java.io.PrintStream out) |
void |
printStackTrace(java.lang.Throwable e,
int count,
java.io.PrintStream out) |
void |
progress(float progress,
java.lang.String format,
java.lang.Object... args)
Deprecated.
Use SLF4J
Logger.info(aQute.libg.slf4j.GradleLogging.LIFECYCLE)
instead.
|
void |
progress(java.lang.String format,
java.lang.Object... args) |
void |
propertiesChanged() |
static boolean |
quote(java.lang.Appendable sb,
java.lang.String value) |
static java.lang.String |
read(java.io.InputStream in) |
boolean |
refresh() |
void |
removeBasicPlugin(java.lang.Object plugin) |
void |
removeClose(java.io.Closeable jar) |
static java.lang.String |
removeDuplicateMarker(java.lang.String key) |
static java.util.Properties |
replaceAll(java.util.Properties p,
java.lang.String pattern,
java.lang.String replacement)
Replace a string in all the values of the map.
|
java.lang.String |
replaceExtension(java.lang.String s,
java.lang.String extension,
java.lang.String newExtension)
Utiltity to replace an extension
|
protected void |
report(java.lang.Appendable out) |
void |
report(java.util.Map<java.lang.String,java.lang.Object> table)
Report the details of this processor.
|
void |
set(java.lang.String key,
java.lang.String value) |
void |
setBase(java.io.File base) |
void |
setExceptions(boolean exceptions) |
void |
setFileMustExist(boolean mustexist) |
void |
setForceLocal(java.util.Collection<java.lang.String> local) |
void |
setParent(Processor processor) |
void |
setPedantic(boolean pedantic) |
void |
setProperties(java.io.File propertiesFile)
Set the properties by file.
|
void |
setProperties(java.io.File propertiesFile,
java.io.File base) |
void |
setProperties(java.io.File base,
java.util.Properties properties) |
void |
setProperties(java.util.Properties properties) |
void |
setProperty(java.lang.String key,
java.lang.String value)
Add or override a new property.
|
void |
setTrace(boolean x) |
protected void |
setTypeSpecificPlugins(java.util.Set<java.lang.Object> list) |
void |
signal() |
boolean |
since(Version introduced) |
static java.util.Collection<java.lang.String> |
split(java.lang.String s) |
static void |
split(java.lang.String s,
java.util.Collection<java.lang.String> set) |
static java.util.Collection<java.lang.String> |
split(java.lang.String s,
java.lang.String splitter) |
static java.util.regex.Pattern |
toFullHeaderPattern(java.lang.String header) |
java.lang.String |
toString()
Printout of the status of this processor for toString()
|
void |
trace(java.lang.String msg,
java.lang.Object... parms)
Deprecated.
Use SLF4J Logger.debug instead.
|
(package private) void |
tree(java.util.List<java.lang.String> list,
java.io.File current,
java.lang.String path,
Instruction instr) |
void |
unsetProperty(java.lang.String string) |
boolean |
updateModified(long time,
java.lang.String reason) |
void |
use(Processor reporter) |
Reporter.SetLocation |
warning(java.lang.String string,
java.lang.Object... args)
Create a warning.
|
copyFrom, 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, setAugment, setBundleActivator, setBundleClasspath, setBundleRequiredExecutionEnvironment, setBundleSymbolicName, setBundleVersion, setBundleVersion, setConditionalPackage, setExportPackage, setFailOk, setImportPackage, setIncludeResource, setPrivatePackage, setRunblacklist, setRunee, setRunfw, setRunRequires, setSources, setTranslation, translate, translate
private static final org.slf4j.Logger logger
public static Reporter log
static final int BUFFER_SIZE
static java.util.regex.Pattern PACKAGES_IGNORED
static java.lang.ThreadLocal<Processor> current
private static final java.util.concurrent.ScheduledExecutorService sheduledExecutor
private static final java.util.concurrent.ExecutorService executor
static java.util.Random random
public static final java.lang.String LIST_SPLITTER
final java.util.List<java.lang.String> errors
final java.util.List<java.lang.String> warnings
final java.util.Set<java.lang.Object> basicPlugins
private final java.util.Set<java.io.Closeable> toBeClosed
private java.util.Set<java.lang.Object> plugins
boolean pedantic
boolean trace
boolean exceptions
boolean fileMustExist
private java.io.File base
private java.net.URI baseURI
java.util.Properties properties
java.lang.String profile
private Macro replacer
private long lastModified
private java.io.File propertiesFile
private boolean fixup
long modified
Processor parent
java.util.List<java.io.File> included
Processor.CL pluginLoader
java.util.Collection<java.lang.String> filter
java.util.HashSet<java.lang.String> missingCommand
java.lang.Boolean strict
boolean fixupMessages
static java.lang.String _uri
static java.lang.String _fileuri
java.util.List<Report.Location> locations
Version upto
public Processor()
public Processor(java.util.Properties parent)
public Processor(Processor processor)
public Processor(java.util.Properties props, boolean copy)
public void setParent(Processor processor)
public Processor getParent()
public Processor getTop()
public void getInfo(Reporter processor, java.lang.String prefix)
public void getInfo(Reporter processor)
private void addAll(java.util.List<java.lang.String> to, java.util.List<java.lang.String> from, java.lang.String prefix, Reporter reporter)
private Processor current()
public Reporter.SetLocation warning(java.lang.String string, java.lang.Object... args)
Reporter
public Reporter.SetLocation error(java.lang.String string, java.lang.Object... args)
Reporter
@Deprecated public void progress(float progress, java.lang.String format, java.lang.Object... args)
Reporter
public void progress(java.lang.String format, java.lang.Object... args)
public Reporter.SetLocation error(java.lang.String format, java.lang.Throwable t, java.lang.Object... args)
public Reporter.SetLocation exception(java.lang.Throwable t, java.lang.String format, java.lang.Object... args)
Reporter
public int printExceptionSummary(java.lang.Throwable e, java.io.PrintStream out)
public void printStackTrace(java.lang.Throwable e, int count, java.io.PrintStream out)
public void signal()
public java.util.List<java.lang.String> getWarnings()
Report
getWarnings
in interface Report
public java.util.List<java.lang.String> getErrors()
Report
public static Parameters parseHeader(java.lang.String value, Processor logger)
value
- public Parameters parseHeader(java.lang.String value)
public void addClose(java.io.Closeable jar)
public void removeClose(java.io.Closeable jar)
public boolean isPedantic()
Reporter
isPedantic
in interface Reporter
public void setPedantic(boolean pedantic)
public void use(Processor reporter)
public static java.io.File getFile(java.io.File base, java.lang.String file)
public java.io.File getFile(java.lang.String file)
public <T> java.util.List<T> getPlugins(java.lang.Class<T> clazz)
getPlugins
in interface Registry
clazz
- Each returned plugin implements this class/interfacepublic <T> T getPlugin(java.lang.Class<T> clazz)
public java.util.Set<java.lang.Object> getPlugins()
protected void addExtensions(java.util.Set<java.lang.Object> p)
p
- protected void loadPlugins(java.util.Set<java.lang.Object> instances, java.lang.String pluginString, java.lang.String pluginPathString)
After that, we load the plugin paths, these can use the built in connectors.
Last but not least, we load the remaining plugins.
instances
- pluginString
- private void loadPluginPath(java.util.Set<java.lang.Object> instances, java.lang.String pluginPath, Processor.CL loader)
Constants.PLUGINPATH
entries (which are file names)
to the class loader. If this file does not exist, and there is a
Constants.PLUGINPATH_URL_ATTR
attribute then we download it first
from that url. You can then also specify a
Constants.PLUGINPATH_SHA1_ATTR
attribute to verify the file.pluginPath
- the clauses for the plugin pathloader
- The class loader to extendPLUGINPATH
private java.lang.Object loadPlugin(java.lang.ClassLoader loader, Attrs attrs, java.lang.String className, boolean ignoreError)
loader
- Name of the loaderattrs
- className
- protected void setTypeSpecificPlugins(java.util.Set<java.lang.Object> list)
protected <T> T customize(T plugin, Attrs map)
plugin
- map
- public boolean isFailOk()
public java.io.File getBase()
public java.net.URI getBaseURI()
public void setBase(java.io.File base)
public void clear()
public org.slf4j.Logger getLogger()
@Deprecated public void trace(java.lang.String msg, java.lang.Object... parms)
Reporter
public <T> java.util.List<T> newList()
public <T> java.util.Set<T> newSet()
public static <K,V> java.util.Map<K,V> newMap()
public static <K,V> java.util.Map<K,V> newHashMap()
public <T> java.util.List<T> newList(java.util.Collection<T> t)
public <T> java.util.Set<T> newSet(java.util.Collection<T> t)
public <K,V> java.util.Map<K,V> newMap(java.util.Map<K,V> t)
public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
java.io.IOException
public java.lang.String _basedir(java.lang.String[] args)
public java.lang.String _propertiesname(java.lang.String[] args)
public java.lang.String _propertiesdir(java.lang.String[] args)
public java.lang.String _uri(java.lang.String[] args) throws java.lang.Exception
java.lang.Exception
public java.lang.String _fileuri(java.lang.String[] args) throws java.lang.Exception
java.lang.Exception
public java.util.Properties getProperties()
private java.util.Properties getProperties0()
public java.lang.String getProperty(java.lang.String key)
public void mergeProperties(java.io.File file, boolean override)
public void mergeProperties(java.util.Properties properties, boolean override)
public void setProperties(java.util.Properties properties)
public void setProperties(java.io.File base, java.util.Properties properties)
public void addProperties(java.io.File file) throws java.lang.Exception
java.lang.Exception
public void addProperties(java.util.Map<?,?> properties)
public void addIncluded(java.io.File file)
private void doIncludes(java.io.File ubase, java.util.Properties p)
ubase
- p
- done
- java.io.IOException
java.io.IOException
public void doIncludeFile(java.io.File file, boolean overwrite, java.util.Properties target) throws java.lang.Exception
file
- overwrite
- java.io.FileNotFoundException
java.io.IOException
java.lang.Exception
public void doIncludeFile(java.io.File file, boolean overwrite, java.util.Properties target, java.lang.String extensionName) throws java.lang.Exception
file
- overwrite
- extensionName
- java.io.FileNotFoundException
java.io.IOException
java.lang.Exception
public void unsetProperty(java.lang.String string)
public boolean refresh()
boolean isStrict()
public void forceRefresh()
public void propertiesChanged()
public void setProperties(java.io.File propertiesFile) throws java.io.IOException
propertiesFile
- java.io.FileNotFoundException
java.io.IOException
public void setProperties(java.io.File propertiesFile, java.io.File base)
protected void begin()
public static boolean isTrue(java.lang.String value)
public java.lang.String getUnprocessedProperty(java.lang.String key, java.lang.String deflt)
key
- deflt
- public java.lang.String getProperty(java.lang.String key, java.lang.String deflt)
key
- deflt
- public java.lang.String getProperty(java.lang.String key, java.lang.String deflt, java.lang.String separator)
private java.lang.String getProperty(java.lang.String key, java.lang.String deflt, java.lang.String separator, boolean inherit)
private java.lang.String getWildcardProperty(java.lang.String deflt, java.lang.String separator, boolean inherit, Instruction ins)
private java.lang.String getLiteralProperty(java.lang.String key, java.lang.String deflt, Processor source, boolean inherit)
public java.util.Properties loadProperties(java.io.File file) throws java.io.IOException
file
- java.io.IOException
UTF8Properties loadProperties0(java.io.File file) throws java.io.IOException
in
- The stream to load fromname
- The name of the file for doc reasonsjava.io.IOException
public static java.util.Properties replaceAll(java.util.Properties p, java.lang.String pattern, java.lang.String replacement)
public static java.lang.String printClauses(java.util.Map<?,? extends java.util.Map<?,?>> exports) throws java.io.IOException
exports
- map { name => Map { attribute|directive => value } }java.io.IOException
public static java.lang.String printClauses(java.util.Map<?,? extends java.util.Map<?,?>> exports, boolean checkMultipleVersions) throws java.io.IOException
java.io.IOException
public static void printClause(java.util.Map<?,?> map, java.lang.StringBuilder sb) throws java.io.IOException
java.io.IOException
public static boolean quote(java.lang.Appendable sb, java.lang.String value) throws java.io.IOException
sb
- value
- java.io.IOException
public Macro getReplacer()
protected java.lang.Object[] getMacroDomains()
public java.util.Properties getFlattenedProperties()
public java.util.Properties getFlattenedProperties(boolean ignoreInstructions)
public java.util.Set<java.lang.String> getPropertyKeys(boolean inherit)
public boolean updateModified(long time, java.lang.String reason)
public long lastModified()
public void setProperty(java.lang.String key, java.lang.String value)
key
- value
- public static java.util.Properties getManifestAsProperties(java.io.InputStream in) throws java.io.IOException
in
- java.io.IOException
public java.io.File getPropertiesFile()
public void setFileMustExist(boolean mustexist)
public static java.lang.String read(java.io.InputStream in) throws java.lang.Exception
java.lang.Exception
public static java.lang.String join(java.util.Collection<?> list, java.lang.String delimeter)
public static java.lang.String join(java.lang.String delimeter, java.util.Collection<?>... list)
public static java.lang.String join(java.lang.Object[] list, java.lang.String delimeter)
public static java.lang.String join(java.util.Collection<?>... list)
public static <T> java.lang.String join(T[] list)
public static void split(java.lang.String s, java.util.Collection<java.lang.String> set)
public static java.util.Collection<java.lang.String> split(java.lang.String s)
public static java.util.Collection<java.lang.String> split(java.lang.String s, java.lang.String splitter)
public static java.lang.String merge(java.lang.String... strings)
public boolean isExceptions()
public void setExceptions(boolean exceptions)
public java.lang.String normalize(java.lang.String f)
f
- public java.lang.String normalize(java.io.File f)
public static java.lang.String removeDuplicateMarker(java.lang.String key)
public static boolean isDuplicate(java.lang.String name)
public void setTrace(boolean x)
protected Processor.CL getLoader()
public boolean exists()
public boolean isOk()
Report
private void fixupMessages()
private void doFixup(Instructions instrs, java.util.List<java.lang.String> messages, java.util.List<java.lang.String> other, java.lang.String type)
public boolean check(java.lang.String... pattern) throws java.io.IOException
java.io.IOException
protected void report(java.lang.Appendable out) throws java.io.IOException
java.io.IOException
public boolean isPerfect()
public void setForceLocal(java.util.Collection<java.lang.String> local)
public boolean isMissingPlugin(java.lang.String name)
name
- public static java.lang.String appendPath(java.lang.String... parts)
"/" + "abc/def/" becomes "abc/def" @param prefix @param suffix @return
public static Attrs doAttrbutes(java.lang.Object[] attrs, Clazz clazz, Macro macro)
attrs
- clazz
- public static java.lang.String formatArrays(java.lang.String string, java.lang.Object... parms)
string
- parms
- public static java.lang.Object makePrintable(java.lang.Object object)
object
- the object to make printableprivate static java.lang.Object[] makePrintableArray(java.lang.Object array)
public static java.lang.String append(java.lang.String... strings)
public java.lang.Class<?> getClass(java.lang.String type, java.io.File jar) throws java.lang.Exception
java.lang.Exception
public boolean isTrace()
public static long getDuration(java.lang.String tm, long dflt)
public java.lang.String _random(java.lang.String[] args)
public java.lang.String _native_capability(java.lang.String... args) throws java.lang.Exception
Generates a Capability string, in the format specified by the OSGi Provide-Capability header, representing the current native platform according to OSGi RFC 188. For example on Windows7 running on an x86_64 processor it should generate the following:
osgi.native;osgi.native.osname:List<String>="Windows7,Windows 7,Win32";osgi.native.osversion:Version=6.1.0;osgi.native.processor:List& lt;String>="x86-64,amd64,em64t,x86_64"
args
- The array of properties. For example: the macro invocation of
"${native_capability;osversion=3.2.4;osname=Linux}" results in
an args array of
[native_capability, osversion=3.2.4, osname=Linux]java.lang.Exception
protected Processor beginHandleErrors(java.lang.String message)
endHandleErrors(Processor)
method. The method returns the
previous command owner or null. The command owner will receive all
warnings and error reports.protected void endHandleErrors(Processor previous)
previous
- public static java.util.concurrent.Executor getExecutor()
public static java.util.concurrent.ScheduledExecutorService getScheduledExecutor()
public void addBasicPlugin(java.lang.Object plugin)
plugin
- public void removeBasicPlugin(java.lang.Object plugin)
public java.util.List<java.io.File> getIncluded()
public java.lang.String get(java.lang.String key)
public java.lang.String get(java.lang.String key, java.lang.String deflt)
public java.util.Iterator<java.lang.String> iterator()
private java.util.Iterator<java.lang.String> iterator(boolean inherit)
public java.util.Set<java.lang.String> keySet()
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String replaceExtension(java.lang.String s, java.lang.String extension, java.lang.String newExtension)
s
- extension
- newExtension
- private Reporter.SetLocation location(java.lang.String s)
public Report.Location getLocation(java.lang.String msg)
Report
getLocation
in interface Report
msg
- The messagepublic Processor.FileLine getHeader(java.lang.String header) throws java.lang.Exception
header
- java.io.IOException
java.lang.Exception
public static java.util.regex.Pattern toFullHeaderPattern(java.lang.String header)
public Processor.FileLine getHeader(java.util.regex.Pattern header) throws java.lang.Exception
java.lang.Exception
public Processor.FileLine getHeader(java.lang.String header, java.lang.String clause) throws java.lang.Exception
java.lang.Exception
public Processor.FileLine getHeader(java.util.regex.Pattern header, java.util.regex.Pattern clause) throws java.lang.Exception
java.lang.Exception
private Processor.FileLine getHeader0(java.util.regex.Pattern header, java.util.regex.Pattern clause) throws java.lang.Exception
java.lang.Exception
public static Processor.FileLine findHeader(java.io.File f, java.lang.String header) throws java.io.IOException
java.io.IOException
public static Processor.FileLine findHeader(java.io.File f, java.util.regex.Pattern header) throws java.io.IOException
java.io.IOException
public static Processor.FileLine findHeader(java.io.File f, java.util.regex.Pattern header, java.util.regex.Pattern clause) throws java.io.IOException
java.io.IOException
public static int getLine(java.lang.String s, int index)
public boolean since(Version introduced)
public void report(java.util.Map<java.lang.String,java.lang.Object> table) throws java.lang.Exception
table
- java.lang.Exception
public boolean is(java.lang.String propertyName)
public java.lang.String mergeProperties(java.lang.String key)
public java.lang.String mergeLocalProperties(java.lang.String key)
public java.lang.String mergeProperties(java.lang.String key, java.lang.String separator)
private java.lang.String makeWildcard(java.lang.String key)
public Parameters getMergedParameters(java.lang.String key)
public <T> T[] concat(java.lang.Class<T> type, T[] prefix, T suffix)
public Jar getJarFromName(java.lang.String name, java.lang.String from)
name
- URL or filename relative to the basefrom
- Message identifying the caller for errorsprivate java.lang.String fileName(java.lang.String path)
public java.lang.String _thisfile(java.lang.String[] args)
public void getSettings(Processor p)
public java.lang.String _frange(java.lang.String[] args)
${frange;1.2.3} -> (&(version>=1.2.3)(!(version>=2.0.0)) ${frange;1.2.3, true} -> (&(version>=1.2.3)(!(version>=1.3.0)) ${frange;[1.2.3,2.3.4)} -> (&(version>=1.2.3)(!(version>=2.3.4))
public java.lang.String _findfile(java.lang.String[] args)
void tree(java.util.List<java.lang.String> list, java.io.File current, java.lang.String path, Instruction instr)