Class ProjectLauncher
- java.lang.Object
-
- aQute.bnd.osgi.Domain
-
- aQute.bnd.osgi.Processor
-
- aQute.bnd.build.ProjectLauncher
-
- All Implemented Interfaces:
Constants
,Registry
,Report
,Reporter
,java.io.Closeable
,java.lang.AutoCloseable
,java.lang.Iterable<java.lang.String>
- Direct Known Subclasses:
JUnitLauncher
public abstract class ProjectLauncher extends Processor
A Project Launcher is a base class to be extended by launchers. Launchers are JARs that launch a framework and install a number of bundles and then run the framework. A launcher jar must specify a Launcher-Class manifest header. This class is instantiated and cast to a LauncherPlugin. This plug in is then asked to provide a ProjectLauncher. This project launcher is then used by the project to run the code. Launchers must extend this class.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
ProjectLauncher.LiveCoding
static interface
ProjectLauncher.NotificationListener
static class
ProjectLauncher.NotificationType
-
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
Fields Modifier and Type Field Description static int
ACTIVATOR_ERROR
private java.util.List<java.lang.String>
activators
private java.util.Collection<java.lang.String>
agents
protected BuilderInstructions
builderInstrs
static int
CANCELED
private java.util.List<java.lang.String>
classpath
private java.io.File
cwd
static int
DUPLICATE_BUNDLE
static java.lang.String
EMBEDDED_ACTIVATOR
protected java.lang.Appendable
err
static int
ERROR
private int
framework
(package private) static java.util.regex.Pattern
IGNORE
launch a framework internally.protected java.io.InputStream
in
private Command
java
private boolean
keep
protected LauncherInstructions
launcherInstrs
private java.util.Set<ProjectLauncher.NotificationListener>
listeners
(package private) static org.slf4j.Logger
logger
static int
NONE
static int
OK
protected java.lang.Appendable
out
private Project
project
static int
RESOLVE_ERROR
private java.util.List<java.lang.String>
runbundles
private java.util.List<java.lang.String>
runprogramargs
private java.util.Map<java.lang.String,java.lang.String>
runproperties
private Parameters
runsystemcapabilities
private Parameters
runsystempackages
private java.util.List<java.lang.String>
runvm
static int
SERVICES
static int
STOPPED
private java.io.File
storageDir
static int
TIMEDOUT
private long
timeout
private boolean
trace
static int
UPDATE_NEEDED
static int
WARNING
-
Fields inherited from class aQute.bnd.osgi.Processor
LIST_SPLITTER, log
-
Fields inherited from interface aQute.bnd.osgi.Constants
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, 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, EXECUTABLE, 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, IDENTITY_INITIAL_RESOURCE, IDENTITY_SYSTEM_RESOURCE, 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, 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, MODULE_INFO_CLASS, NAME_ATTRIBUTE, NAMESECTION, NAMESPACE_STEM, NO_IMPORT_DIRECTIVE, NOANNOTATIONS, NOBUILDINCACHE, NOBUNDLES, NOCLASSFORNAME, NODEFAULTVERSION, NOEE, NOEXTRAHEADERS, NOJUNIT, NOJUNITOSGI, NOMANIFEST, 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, 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, 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 Summary
Constructors Constructor Description ProjectLauncher(Project project)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description boolean
addActivator(java.lang.String e)
void
addClasspath(Container container)
protected void
addClasspath(Container container, java.util.List<java.lang.String> pathlist)
protected void
addClasspath(java.util.Collection<Container> path)
void
addDefault(java.lang.String defaultSpec)
Add the specification for a set of bundles the runpath if it does not already is included.void
addRunBundle(java.lang.String f)
void
addRunProgramArgs(java.lang.String arg)
void
addRunVM(java.lang.String arg)
void
calculatedProperties(java.util.Map<java.lang.String,java.lang.String> properties)
Utility to calculate the final framework properties from settingsvoid
cancel()
void
cleanup()
Is called after the process exists.Jar
executable()
Create a self executable.java.util.Collection<java.lang.String>
getActivators()
java.util.Collection<java.lang.String>
getArguments()
Deprecated.java.util.Collection<java.lang.String>
getClasspath()
java.io.File
getCwd()
java.lang.String
getJavaExecutable(java.lang.String java)
abstract java.lang.String
getMainTypeName()
java.util.Set<ProjectLauncher.NotificationListener>
getNotificationListeners()
Project
getProject()
java.util.Collection<java.lang.String>
getRunBundles()
java.util.Map<java.lang.String,java.lang.String>
getRunEnv()
private int
getRunframework(java.lang.String property)
int
getRunFramework()
Either NONE or SERVICES to indicate how the remote end launches.java.lang.String
getRunJdb()
java.util.List<java.lang.String>
getRunpath()
java.util.Collection<java.lang.String>
getRunProgramArgs()
java.util.Map<java.lang.String,java.lang.String>
getRunProperties()
java.util.List<? extends RunSession>
getRunSessions()
Get the run sessions.java.util.Collection<java.lang.String>
getRunVM()
java.io.File
getStorageDir()
java.lang.String
getSystemCapabilities()
Parameters
getSystemCapabilitiesParameters()
java.util.Map<java.lang.String,? extends java.util.Map<java.lang.String,java.lang.String>>
getSystemPackages()
long
getTimeout()
boolean
getTrace()
protected int
invoke(java.lang.Class<?> main, java.lang.String[] args)
boolean
isKeep()
int
launch()
ProjectLauncher.LiveCoding
liveCoding(java.util.concurrent.Executor executor, java.util.concurrent.ScheduledExecutorService scheduledExecutor)
void
prepare()
Should be called when all the changes to the launchers are set.void
registerForNotifications(ProjectLauncher.NotificationListener listener)
protected void
reportResult(int result)
void
setCwd(java.io.File cwd)
void
setKeep(boolean keep)
void
setRunFramework(int n)
void
setStreams(java.lang.Appendable out, java.lang.Appendable err)
Set the stderr and stdout streams for the output process.void
setTimeout(long timeout, java.util.concurrent.TimeUnit unit)
void
setTrace(boolean level)
private void
setupStartlevels(java.util.Map<java.lang.String,java.lang.String> properties)
Calculate the start level properties.int
start(java.lang.ClassLoader parent)
void
update()
protected void
updateFromProject()
Collect all the aspect from the project and set the local fields from them.void
write(java.lang.String text)
Write text to the debugged process as if it came from stdin.-
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, getClass, getDuration, getErrors, getExecutor, getFile, getFile, getFlattenedProperties, getFlattenedProperties, getHeader, getHeader, getHeader, getHeader, getIncluded, getInfo, getInfo, getInstructions, getJarFromName, getLine, getLoader, getLocation, getLogger, getMacroDomains, getManifestAsProperties, getMergedParameters, getParameters, getParent, getPlugin, getPlugins, getPlugins, getProfile, getPromiseFactory, getProperties, getPropertiesFile, getProperty, getProperty, getProperty, getPropertyKeys, getReplacer, getScheduledExecutor, getSettings, getTop, getUnexpandedProperty, getUnprocessedProperty, getWarnings, is, isDuplicate, isExceptions, isFailOk, isInteractive, 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, propertiesChanged, quote, read, refresh, removeBasicPlugin, removeClose, removeDuplicateMarker, replaceAll, replaceExtension, report, report, set, setBase, setExceptions, setFileMustExist, setForceLocal, setLocation, setParent, setPedantic, setProperties, setProperties, setProperties, setProperties, setProperty, setTypeSpecificPlugins, signal, since, split, split, split, spliterator, system, system, toFullHeaderPattern, toString, 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, setExportPackage, setFailOk, setImportPackage, setIncludePackage, setIncludeResource, setPrivatePackage, setRunblacklist, setRunee, setRunfw, setRunRequires, setSources, setTranslation, translate, translate
-
-
-
-
Field Detail
-
EMBEDDED_ACTIVATOR
public static final java.lang.String EMBEDDED_ACTIVATOR
- See Also:
- Constant Field Values
-
logger
static final org.slf4j.Logger logger
-
project
private final Project project
-
timeout
private long timeout
-
classpath
private final java.util.List<java.lang.String> classpath
-
runbundles
private java.util.List<java.lang.String> runbundles
-
runvm
private final java.util.List<java.lang.String> runvm
-
runprogramargs
private final java.util.List<java.lang.String> runprogramargs
-
runproperties
private java.util.Map<java.lang.String,java.lang.String> runproperties
-
java
private Command java
-
runsystempackages
private Parameters runsystempackages
-
runsystemcapabilities
private Parameters runsystemcapabilities
-
activators
private final java.util.List<java.lang.String> activators
-
storageDir
private java.io.File storageDir
-
builderInstrs
protected BuilderInstructions builderInstrs
-
launcherInstrs
protected LauncherInstructions launcherInstrs
-
trace
private boolean trace
-
keep
private boolean keep
-
framework
private int framework
-
cwd
private java.io.File cwd
-
agents
private java.util.Collection<java.lang.String> agents
-
listeners
private java.util.Set<ProjectLauncher.NotificationListener> listeners
-
out
protected java.lang.Appendable out
-
err
protected java.lang.Appendable err
-
in
protected java.io.InputStream in
-
SERVICES
public static final int SERVICES
- See Also:
- Constant Field Values
-
NONE
public static final int NONE
- See Also:
- Constant Field Values
-
OK
public static final int OK
- See Also:
- Constant Field Values
-
WARNING
public static final int WARNING
- See Also:
- Constant Field Values
-
ERROR
public static final int ERROR
- See Also:
- Constant Field Values
-
TIMEDOUT
public static final int TIMEDOUT
- See Also:
- Constant Field Values
-
UPDATE_NEEDED
public static final int UPDATE_NEEDED
- See Also:
- Constant Field Values
-
CANCELED
public static final int CANCELED
- See Also:
- Constant Field Values
-
DUPLICATE_BUNDLE
public static final int DUPLICATE_BUNDLE
- See Also:
- Constant Field Values
-
RESOLVE_ERROR
public static final int RESOLVE_ERROR
- See Also:
- Constant Field Values
-
ACTIVATOR_ERROR
public static final int ACTIVATOR_ERROR
- See Also:
- Constant Field Values
-
STOPPED
public static final int STOPPED
- See Also:
- Constant Field Values
-
IGNORE
static final java.util.regex.Pattern IGNORE
launch a framework internally. I.e. do not start a separate process.
-
-
Constructor Detail
-
ProjectLauncher
public ProjectLauncher(Project project) throws java.lang.Exception
- Throws:
java.lang.Exception
-
-
Method Detail
-
updateFromProject
protected void updateFromProject() throws java.lang.Exception
Collect all the aspect from the project and set the local fields from them. Should be called after constructor has been called.- Throws:
java.lang.Exception
-
getRunframework
private int getRunframework(java.lang.String property)
-
addClasspath
public void addClasspath(Container container) throws java.lang.Exception
- Throws:
java.lang.Exception
-
addClasspath
protected void addClasspath(Container container, java.util.List<java.lang.String> pathlist) throws java.lang.Exception
- Throws:
java.lang.Exception
-
addClasspath
protected void addClasspath(java.util.Collection<Container> path) throws java.lang.Exception
- Throws:
java.lang.Exception
-
addRunBundle
public void addRunBundle(java.lang.String f)
-
getRunBundles
public java.util.Collection<java.lang.String> getRunBundles()
-
addRunVM
public void addRunVM(java.lang.String arg)
-
addRunProgramArgs
public void addRunProgramArgs(java.lang.String arg)
-
getRunpath
public java.util.List<java.lang.String> getRunpath()
-
getClasspath
public java.util.Collection<java.lang.String> getClasspath()
-
getRunVM
public java.util.Collection<java.lang.String> getRunVM()
-
getArguments
@Deprecated public java.util.Collection<java.lang.String> getArguments()
Deprecated.
-
getRunProgramArgs
public java.util.Collection<java.lang.String> getRunProgramArgs()
-
getRunProperties
public java.util.Map<java.lang.String,java.lang.String> getRunProperties()
-
getStorageDir
public java.io.File getStorageDir()
-
getMainTypeName
public abstract java.lang.String getMainTypeName()
-
update
public void update() throws java.lang.Exception
- Throws:
java.lang.Exception
-
getJavaExecutable
public java.lang.String getJavaExecutable(java.lang.String java)
- Overrides:
getJavaExecutable
in classProcessor
-
launch
public int launch() throws java.lang.Exception
- Throws:
java.lang.Exception
-
start
public int start(java.lang.ClassLoader parent) throws java.lang.Exception
- Throws:
java.lang.Exception
-
invoke
protected int invoke(java.lang.Class<?> main, java.lang.String[] args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
cleanup
public void cleanup()
Is called after the process exists. Can you be used to cleanup the properties file.
-
reportResult
protected void reportResult(int result)
-
setTimeout
public void setTimeout(long timeout, java.util.concurrent.TimeUnit unit)
-
getTimeout
public long getTimeout()
-
cancel
public void cancel() throws java.lang.Exception
- Throws:
java.lang.Exception
-
getSystemPackages
public java.util.Map<java.lang.String,? extends java.util.Map<java.lang.String,java.lang.String>> getSystemPackages()
-
getSystemCapabilities
public java.lang.String getSystemCapabilities()
-
getSystemCapabilitiesParameters
public Parameters getSystemCapabilitiesParameters()
-
setKeep
public void setKeep(boolean keep)
-
isKeep
public boolean isKeep()
-
getTrace
public boolean getTrace()
-
prepare
public void prepare() throws java.lang.Exception
Should be called when all the changes to the launchers are set. Will calculate whatever is necessary for the launcher.- Throws:
java.lang.Exception
-
getProject
public Project getProject()
-
addActivator
public boolean addActivator(java.lang.String e)
-
getActivators
public java.util.Collection<java.lang.String> getActivators()
-
getRunFramework
public int getRunFramework()
Either NONE or SERVICES to indicate how the remote end launches. NONE means it should not use the classpath to run a framework. This likely requires some dummy framework support. SERVICES means it should load the framework from the claspath.
-
setRunFramework
public void setRunFramework(int n)
-
addDefault
public void addDefault(java.lang.String defaultSpec) throws java.lang.Exception
Add the specification for a set of bundles the runpath if it does not already is included. This can be used by subclasses to ensure the proper jars are on the classpath.- Parameters:
defaultSpec
- The default spec for default jars- Throws:
java.lang.Exception
-
executable
public Jar executable() throws java.lang.Exception
Create a self executable.- Throws:
java.lang.Exception
-
getCwd
public java.io.File getCwd()
-
setCwd
public void setCwd(java.io.File cwd)
-
getRunJdb
public java.lang.String getRunJdb()
-
getRunEnv
public java.util.Map<java.lang.String,java.lang.String> getRunEnv()
-
registerForNotifications
public void registerForNotifications(ProjectLauncher.NotificationListener listener)
-
getNotificationListeners
public java.util.Set<ProjectLauncher.NotificationListener> getNotificationListeners()
-
setStreams
public void setStreams(java.lang.Appendable out, java.lang.Appendable err)
Set the stderr and stdout streams for the output process. The debugged process must append its output (i.e. write operation in the process under debug) to the given appendables.- Parameters:
out
- std outerr
- std err
-
write
public void write(java.lang.String text) throws java.lang.Exception
Write text to the debugged process as if it came from stdin.- Parameters:
text
- the text to write- Throws:
java.lang.Exception
-
getRunSessions
public java.util.List<? extends RunSession> getRunSessions() throws java.lang.Exception
Get the run sessions. If this return null, then launch on this object should be used, otherwise each returned object provides a remote session.- Throws:
java.lang.Exception
-
calculatedProperties
public void calculatedProperties(java.util.Map<java.lang.String,java.lang.String> properties) throws java.lang.Exception
Utility to calculate the final framework properties from settings- Throws:
java.lang.Exception
-
setupStartlevels
private void setupStartlevels(java.util.Map<java.lang.String,java.lang.String> properties) throws java.lang.Exception, java.io.IOException
Calculate the start level properties. This code is matched to the aQute.lib classStartLevelRuntimeHandler
that handles the runtime details.The -runbundles instruction can carry a `startlevel` attribute. If any bundle has this start level attribute we control the startlevel process. If no bundle has this attribute, then the start level handling is not doing anything. The remaining section assumes that there is at least 1 bundle with a set startlevel attribute.
The
StartLevelRuntimeHandler.LAUNCH_STARTLEVEL_DEFAULT
is then set to the maximum startlevel + 1. This signals that theStartLevelRuntimeHandler
class handles the runtime aspects.The
Constants.RUNSTARTLEVEL_BEGIN
controls the beginning start level of the framework after the framework itself is started. The user can set this or else it is set to the maxmum startlevel+2.During runtime, the handler must be created with
StartLevelRuntimeHandler.create(aQute.lib.startlevel.Trace, Map)
before the framework is created since it may change the properties. I.e. the properties given to theFrameworkFactory
must be the same object as given to the create method. One thing is that it will set theConstants.RUNSTARTLEVEL_BEGIN
to ensure that all bundles are installed at level 1.After the framework is created, the runtime handler
StartLevelRuntimeHandler.beforeStart(org.osgi.framework.launch.Framework)
must be called. This will prepare that bundles will get their proper start level when installed.After the set of bundles is installed, the
StartLevelRuntimeHandler.afterStart()
is called to raise the start level to the desired level. Either the setConstants.RUNSTARTLEVEL_BEGIN
or the maximum level + 2.- Throws:
java.lang.Exception
java.io.IOException
-
liveCoding
public ProjectLauncher.LiveCoding liveCoding(java.util.concurrent.Executor executor, java.util.concurrent.ScheduledExecutorService scheduledExecutor) throws java.lang.Exception
- Throws:
java.lang.Exception
-
-