Package aQute.bnd.build
Class Workspace
java.lang.Object
aQute.bnd.osgi.Domain
aQute.bnd.osgi.Processor
aQute.bnd.build.Workspace
- All Implemented Interfaces:
Constants
,Registry
,Report
,Reporter
,Closeable
,AutoCloseable
,Iterable<String>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) class
(package private) class
Nested classes/interfaces inherited from class aQute.bnd.osgi.Processor
Processor.CL, Processor.FileLine
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
FieldsModifier and TypeFieldDescription(package private) static final String
(package private) static final String
(package private) static final String
(package private) static final String
Provide a macro that lists all currently loaded project names that match a macro.(package private) static final String
static final String
static final File
static final String
Deprecated.(package private) static final int
private File
static final String
private static final Map<File,
WeakReference<Workspace>> static final String
static final String
private Workspace.WorkspaceData
private static final MethodType
(package private) static Processor
private String
private static final Pattern
static final String
private Parameters
private final WorkspaceLayout
private final ReadWriteLock
private static final org.slf4j.Logger
(package private) final Maven
private final AtomicBoolean
(package private) static String
(package private) static Parameters
private static final String
private final ProjectTracker
private static final ThreadLocal<Boolean>
static boolean
(package private) ResourceRepositoryImpl
(package private) Settings
(package private) final ThreadLocal<Reporter>
Signal a BndListener plugin.static final String
(package private) WorkspaceRepository
Fields inherited from class aQute.bnd.osgi.Processor
LIST_SPLITTER, log
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, 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
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionMacro to return the driver._findproviders
(String[] args) A macro that returns a set of resources in bundle selection format from the repository.The macro to access the gestaltProvide access to the global settings of this machine._projectswhere
(String[] args) _repodigests
(String[] args) Return the repository signature digests._workspace
(String[] args) void
addCommand
(String menu, Action action) protected void
addExtensions
(Set<Object> list) Add any extensions listedstatic void
addGestalt
(String part, Attrs attrs) Add a gestalt to all workspaces.boolean
Add a pluginvoid
bracket
(boolean begin) void
changedFile
(File f) Inform any listeners that we changed a file (created/deleted/changed).void
void
close()
static Workspace
createProject
(String name) Create a project in this workspacestatic Workspace
createStandaloneWorkspace
(Processor run, URI base) Create a workspace that does not inherit from a cnf directory etc.static Workspace
createWorkspace
(File wsdir) Create a new Workspaceprivate Object
void
fillActions
(Map<String, Action> all) Stream<org.osgi.resource.Capability>
findProviders
(String namespace, String filter) Convenient findProvidersstatic Workspace
findWorkspace
(File base) /* Return the nearest workspaceprivate void
getBuildOrder
(Collection<Project> dependsOn, Set<Project> result) getBundle
(org.osgi.resource.Resource resource) static Processor
Get the bnddriver, can be null if not set.Execute a function with a class from a plugin loaded from the repositories.Get the attrs for a gestalt partgetGestalt
(String part) Get the attrs for a gestalt partGet the layout style of the workspace.getMaven()
static Project
getProject
(File projectDir) This static method finds the workspace and creates a project (or returns an existing project)getProject
(String bsn) getProjectFromFile
(File projectDir) getRepository
(String repo) (package private) org.osgi.service.repository.Repository
Return an aggregate repository of all the workspace's repository and the projects repository.static Run
static Workspace
getWorkspace
(File workspaceDir) static Workspace
getWorkspace
(File workspaceDir, String bndDir) static Workspace
getWorkspace
(String path) Return the workspace repostatic Workspace
getWorkspaceWithoutException
(File workspaceDir) private List<RepositoryPlugin>
boolean
boolean
Return if this is an interactive environment like Eclipse or runs in batch mode.boolean
boolean
boolean
isValid()
(package private) <T> T
private static <T> T
newInstance
(Class<T> rawClass) void
<T> T
readLocked
(Callable<T> r) <T> T
readLocked
(Callable<T> r, long timeoutInMs) Lock the workspace and its corresponding projects for reading.boolean
refresh()
void
refresh
(RepositoryPlugin repo) private void
void
Signal that the driver has detected a dynamic change in the workspace directory, for example a project was added or removed in the IDE.void
removeCommand
(String menu) boolean
removePlugin
(String alias) (package private) void
void
Report details of this workspacestatic void
Search for a partial class name.Search for a class name inside particular package.void
setBuildDir
(File buildDir) static void
Set the driver of this environmentvoid
setFileSystem
(File workspaceDir, String bndDir) setOffline
(boolean on) protected void
setTypeSpecificPlugins
(Set<Object> list) void
signal()
void
void
toString()
Printout of the status of this processor for toString()<T> T
writeLocked
(Callable<T> r) <T> T
writeLocked
(Callable<T> r, long timeoutInMs) Lock the workspace and its corresponding projects for all functions.Methods inherited from class aQute.bnd.osgi.Processor
_basedir, _fileuri, _findfile, _frange, _native_capability, _propertiesdir, _propertiesname, _random, _thisfile, _uri, addBasicPlugin, addClose, addIncluded, addProperties, addProperties, append, appendPath, begin, beginHandleErrors, check, clear, 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, isMissingPlugin, isOk, isPedantic, isPerfect, isTrace, isTrue, iterator, join, join, join, join, join, join, keySet, lastModified, loadPlugins, loadProperties, 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, quote, read, removeBasicPlugin, removeClose, removeDuplicateMarker, replaceAll, replaceExtension, report, set, setBase, setExceptions, setFileMustExist, setForceLocal, setLocation, setParent, setPedantic, setProperties, setProperties, setProperties, setProperties, setProperty, setTrace, since, split, split, split, spliterator, system, system, toFullHeaderPattern, trace, 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 Details
-
logger
private static final org.slf4j.Logger logger -
BND_DEFAULT_WS
-
BND_CACHE_REPONAME
- See Also:
-
EXT
- See Also:
-
BUILDFILE
- See Also:
-
CNFDIR
- See Also:
-
BNDDIR
Deprecated.- See Also:
-
CACHEDIR
-
STANDALONE_REPO_CLASS
- See Also:
-
BUFFER_SIZE
static final int BUFFER_SIZE- See Also:
-
PLUGIN_STANDALONE
- See Also:
-
cache
-
defaults
-
commands
-
maven
-
offline
-
settings
Settings settings -
workspaceRepo
WorkspaceRepository workspaceRepo -
overallDriver
-
overallGestalt
-
signalBusy
Signal a BndListener plugin. We ran an infinite bug loop :-( -
resourceRepositoryImpl
ResourceRepositoryImpl resourceRepositoryImpl -
gestalt
-
driver
-
layout
-
trail
-
data
-
buildDir
-
projects
-
lock
-
remoteWorkspaces
public static boolean remoteWorkspaces -
_globalHelp
- See Also:
-
_repodigestsHelp
- See Also:
-
_gestaltHelp
- See Also:
-
defaultConstructor
-
ESCAPE_P
-
_projectswhereHelp
Provide a macro that lists all currently loaded project names that match a macro. This macro checks for cycles since I am not sure if calling getAllProjects is safe for some macros in all cases. I.e. the primary use case wants to use it in -dependson${projectswhere;key;glob}
- See Also:
-
projectswhereCycleCheck
-
_findprovidersHelp
- See Also:
-
-
Constructor Details
-
Method Details
-
getProject
This static method finds the workspace and creates a project (or returns an existing project)- Parameters:
projectDir
-- Throws:
Exception
-
getDefaults
-
createDefaultWorkspace
- Throws:
Exception
-
getWorkspace
- Throws:
Exception
-
getWorkspaceWithoutException
- Throws:
Exception
-
findWorkspace
/* Return the nearest workspace- Throws:
Exception
-
getWorkspace
- Throws:
Exception
-
setFileSystem
- Throws:
Exception
-
getProjectFromFile
-
getProject
-
isPresent
-
refresh
public boolean refresh() -
refreshProjects
public void refreshProjects()Signal that the driver has detected a dynamic change in the workspace directory, for example a project was added or removed in the IDE. Since this does not affect the inherited properties we can only change the list of projects. -
propertiesChanged
public void propertiesChanged()- Overrides:
propertiesChanged
in classProcessor
-
_workspace
-
addCommand
-
removeCommand
-
fillActions
-
getAllProjects
-
getCurrentProjects
- See Also:
-
changedFile
Inform any listeners that we changed a file (created/deleted/changed).- Parameters:
f
- The changed file
-
bracket
public void bracket(boolean begin) -
signal
-
signal
public void signal() -
syncCache
- Throws:
Exception
-
getRepositories
-
initRepositories
-
getBuildOrder
- Throws:
Exception
-
getBuildOrder
- Throws:
Exception
-
getWorkspace
- Throws:
Exception
-
getMaven
-
setTypeSpecificPlugins
- Overrides:
setTypeSpecificPlugins
in classProcessor
-
addExtensions
Add any extensions listed- Overrides:
addExtensions
in classProcessor
- Parameters:
list
-
-
isOffline
public boolean isOffline() -
getOffline
-
setOffline
-
_global
Provide access to the global settings of this machine.- Throws:
Exception
-
_user
- Throws:
Exception
-
_repodigests
Return the repository signature digests. These digests are a unique id for the contents of the repository- Throws:
Exception
-
getRun
- Throws:
Exception
-
report
Report details of this workspace -
getCache
-
getWorkspaceRepository
Return the workspace repo -
checkStructure
public void checkStructure() -
getBuildDir
-
setBuildDir
-
isValid
public boolean isValid() -
getRepository
- Throws:
Exception
-
close
public void close() -
refreshData
private void refreshData() -
getDriver
Get the bnddriver, can be null if not set. The overallDriver is the environment that runs this bnd. -
setDriver
Set the driver of this environment -
_driver
Macro to return the driver. Without any arguments, we return the name of the driver. If there are arguments, we check each of the arguments against the name of the driver. If it matches, we return the driver name. If none of the args match the driver name we return an empty string (which is false). -
addGestalt
Add a gestalt to all workspaces. The gestalt is a set of parts describing the environment. Each part has a name and optionally attributes. This method adds a gestalt to the VM. Per workspace it is possible to augment this. -
getGestalt
Get the attrs for a gestalt part -
getGestalt
Get the attrs for a gestalt part -
getLayout
Get the layout style of the workspace. -
_gestalt
The macro to access the gestalt$ gestalt;part[;key[;value]]
-
toString
Description copied from class:Processor
Printout of the status of this processor for toString() -
addPlugin
public boolean addPlugin(Class<?> plugin, String alias, Map<String, String> parameters, boolean force) throws ExceptionAdd a plugin- Parameters:
plugin
-- Throws:
Exception
-
newInstance
- Throws:
Exception
-
escaped
-
removePlugin
-
createStandaloneWorkspace
Create a workspace that does not inherit from a cnf directory etc.- Parameters:
run
-- Throws:
Exception
-
isDefaultWorkspace
public boolean isDefaultWorkspace() -
isInteractive
public boolean isInteractive()Description copied from class:Processor
Return if this is an interactive environment like Eclipse or runs in batch mode. If interactive, things can get refreshed.- Overrides:
isInteractive
in classProcessor
-
resetStatic
public static void resetStatic() -
createProject
Create a project in this workspace- Throws:
Exception
-
removeProject
- Throws:
Exception
-
createWorkspace
Create a new Workspace- Parameters:
wsdir
-- Throws:
Exception
-
readLocked
Lock the workspace and its corresponding projects for reading. The r parameter when called can freely use any read function in the workspace.- Parameters:
r
- the lambda to runtimeoutInMs
- the timeout in milliseconds- Returns:
- the value of the lambda
- Throws:
Exception
-
readLocked
- Throws:
Exception
-
writeLocked
Lock the workspace and its corresponding projects for all functions. The r parameter when called can freely use any function in the workspace.- Parameters:
r
- the lambda to runtimeoutInMs
- the timeout in milliseconds- Returns:
- the value of the lambda
- Throws:
Exception
-
writeLocked
- Throws:
Exception
-
locked
- Throws:
Exception
-
_projectswhere
-
refresh
-
search
Search for a partial class name. The partialFqn name may be a simple class name (Foo) or a fully qualified class name line (foo.bar.Foo), including nested classes, or only a package name prefix (foo.bar or even foo.ba).This method uses the heuristic in
determine()
to split the package name from the (possibly nested) class name - the start of the class name is taken as the first element that starts with a capital letter. This heuristic works fine in most cases, but it is not foolproof. In contexts where you have a better idea of how to separate the package name from the class name, you can usesearch(String, String)
for this purpose.- Parameters:
partialFqn
- a packagename ( '.' classname )*- Returns:
- a multi-map containing the search matches with the matching fully-qualified class name as each entry's key, and a list of matching bundles as the value.
- Throws:
Exception
- See Also:
-
search
public Result<Map<String,List<BundleId>>, searchString> (String packageName, String className) throws Exception Search for a class name inside particular package. Use this in preference tosearch(String)
when you know that the qualifier resolves to a package and not to a class.- Parameters:
packageName
- the package to searchclassName
- a classname ( '.' classname )*- Returns:
- a multi-map containing the search matches with the matching fully-qualified class name as each entry's key, and a list of matching bundles as the value.
- Throws:
Exception
- See Also:
-
getResourceRepository
Return an aggregate repository of all the workspace's repository and the projects repository. This workspace must be gotten for each operation, it might become stale over time.TODO make this public in 5.2.0 & use everywhere
- Returns:
- an aggregate repository
- Throws:
Exception
-
_findproviders
A macro that returns a set of resources in bundle selection format from the repository. For example:${findproviders;osgi.wiring.package;(osgi.wiring.package=aQute.bnd.build)}
- Throws:
Exception
-
findProviders
public Stream<org.osgi.resource.Capability> findProviders(String namespace, String filter) throws Exception Convenient findProviders- Throws:
Exception
-
getExternalPlugins
Execute a function with a class from a plugin loaded from the repositories. SeeWorkspaceExternalPluginHandler
. -
getBundle
-
getBundle
-