@Component(role=TychoProject.class, hint="eclipse-plugin") public class OsgiBundleProject extends AbstractTychoProject implements BundleProject
| Modifier and Type | Field and Description |
|---|---|
private BuildPropertiesParser |
buildPropertiesParser |
private BundleReader |
bundleReader |
private static java.lang.String |
CTX_ARTIFACT_KEY |
private DependencyComputer |
dependencyComputer |
private EquinoxResolver |
resolver |
| Constructor and Description |
|---|
OsgiBundleProject() |
| Modifier and Type | Method and Description |
|---|---|
private void |
addExtraClasspathEntries(java.util.List<ClasspathEntry> classpath,
ReactorProject project,
DependencyArtifacts artifacts) |
private void |
addPDESourceRoots(org.apache.maven.project.MavenProject project) |
protected ArtifactDescriptor |
getArtifact(DependencyArtifacts artifacts,
java.io.File location,
java.lang.String id) |
ArtifactKey |
getArtifactKey(ReactorProject project) |
java.util.List<ClasspathEntry.AccessRule> |
getBootClasspathExtraAccessRules(org.apache.maven.project.MavenProject project) |
private java.util.List<java.io.File> |
getBundleClasspath(ArtifactDescriptor bundle) |
private java.util.List<java.io.File> |
getBundleEntry(ArtifactDescriptor bundle,
java.lang.String nestedPath) |
java.util.List<ClasspathEntry> |
getClasspath(org.apache.maven.project.MavenProject project) |
ArtifactDependencyWalker |
getDependencyWalker(org.apache.maven.project.MavenProject project)
Walks all project dependencies, regardless of runtime environment filters.
|
ArtifactDependencyWalker |
getDependencyWalker(org.apache.maven.project.MavenProject project,
TargetEnvironment environment)
Walks project dependencies resolved for the specified runtime environment.
|
EclipsePluginProjectImpl |
getEclipsePluginProject(ReactorProject otherProject) |
TargetEnvironment |
getImplicitTargetEnvironment(org.apache.maven.project.MavenProject project)
Implicit target environment configuration present in project metadata, like, for example,
Eclipse-PlatformFilter OSGi bundle manifest attribute.
|
private OsgiManifest |
getManifest(org.apache.maven.project.MavenProject project) |
java.lang.String |
getManifestValue(java.lang.String key,
org.apache.maven.project.MavenProject project)
Returns the value of the specified attribute key in the project's MANIFEST, or null if the
attribute was not found.
|
private java.io.File |
getNestedJarOrDir(ArtifactDescriptor bundle,
java.lang.String cp) |
private java.util.List<java.io.File> |
getOtherProjectClasspath(ArtifactDescriptor bundle,
ReactorProject otherProject,
java.lang.String nestedPath)
Returns bundle classpath entries.
|
private org.eclipse.osgi.service.resolver.State |
getResolverState(org.apache.maven.project.MavenProject project,
DependencyArtifacts artifacts) |
private java.util.List<java.io.File> |
getThisProjectClasspath(ArtifactDescriptor bundle,
ReactorProject project)
Returns project compile classpath entries.
|
private java.lang.String[] |
parseBundleClasspath(ArtifactDescriptor bundle) |
ArtifactKey |
readArtifactKey(java.io.File location) |
void |
readExecutionEnvironmentConfiguration(org.apache.maven.project.MavenProject project,
ExecutionEnvironmentConfiguration sink) |
private void |
removeDuplicateTestCompileRoot(java.io.File sourceFolder,
java.util.List<java.lang.String> testCompileSourceRoots) |
void |
resolveClassPath(org.apache.maven.execution.MavenSession session,
org.apache.maven.project.MavenProject project) |
void |
setupProject(org.apache.maven.execution.MavenSession session,
org.apache.maven.project.MavenProject project) |
private static java.lang.String |
sn(java.lang.String str) |
checkForMissingDependencies, getDependencyArtifacts, getDependencyArtifacts, getEnvironments, overrideToAtLeastJavaSE16, setDependencyArtifactsenableLogging, getLogger, setupLogger, setupLogger, setupLoggerclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetDependencyArtifacts, getDependencyArtifactsprivate static final java.lang.String CTX_ARTIFACT_KEY
@Requirement private BundleReader bundleReader
@Requirement private BuildPropertiesParser buildPropertiesParser
@Requirement private EquinoxResolver resolver
@Requirement private DependencyComputer dependencyComputer
public ArtifactDependencyWalker getDependencyWalker(org.apache.maven.project.MavenProject project, TargetEnvironment environment)
TychoProjectgetDependencyWalker in interface TychoProjectpublic ArtifactDependencyWalker getDependencyWalker(org.apache.maven.project.MavenProject project)
TychoProjectgetDependencyWalker in interface TychoProjectpublic ArtifactKey getArtifactKey(ReactorProject project)
getArtifactKey in interface TychoProjectpublic void setupProject(org.apache.maven.execution.MavenSession session,
org.apache.maven.project.MavenProject project)
setupProject in class AbstractTychoProjectpublic ArtifactKey readArtifactKey(java.io.File location)
public java.lang.String getManifestValue(java.lang.String key,
org.apache.maven.project.MavenProject project)
BundleProjectgetManifestValue in interface BundleProjectkey - manifest attribute keyproject - associated maven projectprivate OsgiManifest getManifest(org.apache.maven.project.MavenProject project)
public void resolveClassPath(org.apache.maven.execution.MavenSession session,
org.apache.maven.project.MavenProject project)
resolveClassPath in class AbstractTychoProjectprotected ArtifactDescriptor getArtifact(DependencyArtifacts artifacts, java.io.File location, java.lang.String id)
private void addPDESourceRoots(org.apache.maven.project.MavenProject project)
private void removeDuplicateTestCompileRoot(java.io.File sourceFolder,
java.util.List<java.lang.String> testCompileSourceRoots)
private org.eclipse.osgi.service.resolver.State getResolverState(org.apache.maven.project.MavenProject project,
DependencyArtifacts artifacts)
public EclipsePluginProjectImpl getEclipsePluginProject(ReactorProject otherProject)
public java.util.List<ClasspathEntry> getClasspath(org.apache.maven.project.MavenProject project)
getClasspath in interface BundleProjectpublic java.util.List<ClasspathEntry.AccessRule> getBootClasspathExtraAccessRules(org.apache.maven.project.MavenProject project)
getBootClasspathExtraAccessRules in interface BundleProjectprivate java.util.List<java.io.File> getThisProjectClasspath(ArtifactDescriptor bundle, ReactorProject project)
private java.util.List<java.io.File> getOtherProjectClasspath(ArtifactDescriptor bundle, ReactorProject otherProject, java.lang.String nestedPath)
nestedPath is not null,
returns single class folder that corresponds specified nestedPath. If nestedPath
is null, returns entries specified in Bundle-ClassPath.private void addExtraClasspathEntries(java.util.List<ClasspathEntry> classpath, ReactorProject project, DependencyArtifacts artifacts)
private java.util.List<java.io.File> getBundleClasspath(ArtifactDescriptor bundle)
private java.util.List<java.io.File> getBundleEntry(ArtifactDescriptor bundle, java.lang.String nestedPath)
private java.lang.String[] parseBundleClasspath(ArtifactDescriptor bundle)
private java.io.File getNestedJarOrDir(ArtifactDescriptor bundle, java.lang.String cp)
public TargetEnvironment getImplicitTargetEnvironment(org.apache.maven.project.MavenProject project)
TychoProjectgetImplicitTargetEnvironment in interface TychoProjectgetImplicitTargetEnvironment in class AbstractTychoProjectprivate static java.lang.String sn(java.lang.String str)
public void readExecutionEnvironmentConfiguration(org.apache.maven.project.MavenProject project,
ExecutionEnvironmentConfiguration sink)
readExecutionEnvironmentConfiguration in class AbstractTychoProject