@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, setDependencyArtifacts
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getDependencyArtifacts, getDependencyArtifacts
private 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)
TychoProject
getDependencyWalker
in interface TychoProject
public ArtifactDependencyWalker getDependencyWalker(org.apache.maven.project.MavenProject project)
TychoProject
getDependencyWalker
in interface TychoProject
public ArtifactKey getArtifactKey(ReactorProject project)
getArtifactKey
in interface TychoProject
public void setupProject(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project)
setupProject
in class AbstractTychoProject
public ArtifactKey readArtifactKey(java.io.File location)
public java.lang.String getManifestValue(java.lang.String key, org.apache.maven.project.MavenProject project)
BundleProject
getManifestValue
in interface BundleProject
key
- 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 AbstractTychoProject
protected 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 BundleProject
public java.util.List<ClasspathEntry.AccessRule> getBootClasspathExtraAccessRules(org.apache.maven.project.MavenProject project)
getBootClasspathExtraAccessRules
in interface BundleProject
private 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)
TychoProject
getImplicitTargetEnvironment
in interface TychoProject
getImplicitTargetEnvironment
in class AbstractTychoProject
private static java.lang.String sn(java.lang.String str)
public void readExecutionEnvironmentConfiguration(org.apache.maven.project.MavenProject project, ExecutionEnvironmentConfiguration sink)
readExecutionEnvironmentConfiguration
in class AbstractTychoProject