Package aQute.bnd.remoteworkspace.server
Class RemoteWorkspaceServer.Instance
java.lang.Object
aQute.bnd.remoteworkspace.server.RemoteWorkspaceServer.Instance
- All Implemented Interfaces:
RemoteWorkspace
,Closeable
,AutoCloseable
- Enclosing class:
- RemoteWorkspaceServer
Holds the implementations of the
RemoteWorkspace
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionanalyzeTestSetup
(String projectDir) Analyze the project given as a parameter and provide the setup information.byte[]
build
(String projectPath, BuilderSpecification spec) Build a bundle based on a BuilderSpecification.void
close()
(package private) void
doPackage
(Parameters extraPackages, Descriptors.PackageRef p, Attrs a) Get the bnd version of the workspace.private Builder
getBuilder
(Project project, List<String> parent) Calculate the builder with the properly inheritance structure.getLatestBundles
(String projectDir, String specification) Get the latest bundles from a specification.(package private) Project
getProject
(String projectDir) Get a list of all projects.Parse a bndrun file (which can also a plain bnd file with -run* instructions) and provide the resulting run specification.private void
-
Constructor Details
-
Instance
Instance()
-
-
Method Details
-
getBndVersion
Description copied from interface:RemoteWorkspace
Get the bnd version of the workspace. This is theAbout.CURRENT
value.- Specified by:
getBndVersion
in interfaceRemoteWorkspace
-
getRun
Description copied from interface:RemoteWorkspace
Parse a bndrun file (which can also a plain bnd file with -run* instructions) and provide the resulting run specification.- Specified by:
getRun
in interfaceRemoteWorkspace
- Parameters:
pathToBndOrBndrun
- the path to a bnd or bndrun file, never null
-
getLatestBundles
Description copied from interface:RemoteWorkspace
Get the latest bundles from a specification. The specification is in the format used for a -buildpath/-testpath/-runbundles, etc. It can contain multiple bundles.- Specified by:
getLatestBundles
in interfaceRemoteWorkspace
- Parameters:
projectDir
- The absolute path to the project directory whereProject.getBundles(aQute.bnd.service.Strategy, String, String)
is called.specification
- A specification for bundles/- Returns:
- A list with absolute paths (in OS specific form) to the JARs/bundles specified.
-
analyzeTestSetup
Description copied from interface:RemoteWorkspace
Analyze the project given as a parameter and provide the setup information. This is intended to be used by a JUnit test project that wants to provide its test classes and imports from the -buildpath/-testpath to the framework to be exported. The idea is that this allows the classes from the JUnit tests to reside outside the framework but leverage the same classes inside. This significantly changes testing.- Specified by:
analyzeTestSetup
in interfaceRemoteWorkspace
- Parameters:
projectDir
- the absolute path in
-
build
Description copied from interface:RemoteWorkspace
Build a bundle based on a BuilderSpecification. This allows the remote controller to create bundles on the fly using project specific context.- Specified by:
build
in interfaceRemoteWorkspace
- Parameters:
projectPath
- The path to the projectspec
- the specification for a Builder, seeBuilder.from(BuilderSpecification)
.- Returns:
- the content of the JAR file
-
merge
-
getBuilder
Calculate the builder with the properly inheritance structure.- Parameters:
project
- The context projectparent
- The comma separated parent string. The last entry may be either PROJECT or WORKSPACE- Throws:
Exception
-
doPackage
-
getProject
-
getProjects
Description copied from interface:RemoteWorkspace
Get a list of all projects.- Specified by:
getProjects
in interfaceRemoteWorkspace
- Returns:
- the list of all projects
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-