Package org.eclipse.tycho.core.osgitools
Class OsgiBundleProject
- java.lang.Object
-
- org.codehaus.plexus.logging.AbstractLogEnabled
-
- org.eclipse.tycho.core.osgitools.AbstractTychoProject
-
- org.eclipse.tycho.core.osgitools.OsgiBundleProject
-
- All Implemented Interfaces:
org.codehaus.plexus.logging.LogEnabled,BundleProject,TychoProject
- Direct Known Subclasses:
OsgiTestBundleProject
@Component(role=TychoProject.class, hint="eclipse-plugin") public class OsgiBundleProject extends AbstractTychoProject implements BundleProject
-
-
Field Summary
Fields Modifier and Type Field Description private BuildPropertiesParserbuildPropertiesParserprivate BundleReaderbundleReaderprivate static java.lang.StringCTX_ARTIFACT_KEYprivate DependencyComputerdependencyComputerprivate EquinoxResolverresolver
-
Constructor Summary
Constructors Constructor Description OsgiBundleProject()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddExtraClasspathEntries(java.util.List<ClasspathEntry> classpath, ReactorProject project, DependencyArtifacts artifacts)private voidaddPDESourceRoots(org.apache.maven.project.MavenProject project)protected ArtifactDescriptorgetArtifact(DependencyArtifacts artifacts, java.io.File location, java.lang.String id)ArtifactKeygetArtifactKey(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)ArtifactDependencyWalkergetDependencyWalker(org.apache.maven.project.MavenProject project)Walks all project dependencies, regardless of runtime environment filters.ArtifactDependencyWalkergetDependencyWalker(org.apache.maven.project.MavenProject project, TargetEnvironment environment)Walks project dependencies resolved for the specified runtime environment.EclipsePluginProjectImplgetEclipsePluginProject(ReactorProject otherProject)TargetEnvironmentgetImplicitTargetEnvironment(org.apache.maven.project.MavenProject project)Implicit target environment configuration present in project metadata, like, for example, Eclipse-PlatformFilter OSGi bundle manifest attribute.private OsgiManifestgetManifest(org.apache.maven.project.MavenProject project)java.lang.StringgetManifestValue(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.FilegetNestedJarOrDir(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.StategetResolverState(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)ArtifactKeyreadArtifactKey(java.io.File location)voidreadExecutionEnvironmentConfiguration(org.apache.maven.project.MavenProject project, ExecutionEnvironmentConfiguration sink)private voidremoveDuplicateTestCompileRoot(java.io.File sourceFolder, java.util.List<java.lang.String> testCompileSourceRoots)voidresolveClassPath(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project)voidsetupProject(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project)private static java.lang.Stringsn(java.lang.String str)-
Methods inherited from class org.eclipse.tycho.core.osgitools.AbstractTychoProject
checkForMissingDependencies, getDependencyArtifacts, getDependencyArtifacts, getEnvironments, overrideToAtLeastJavaSE16, setDependencyArtifacts
-
Methods inherited from class org.codehaus.plexus.logging.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.tycho.core.TychoProject
getDependencyArtifacts, getDependencyArtifacts
-
-
-
-
Field Detail
-
CTX_ARTIFACT_KEY
private static final java.lang.String CTX_ARTIFACT_KEY
-
bundleReader
@Requirement private BundleReader bundleReader
-
buildPropertiesParser
@Requirement private BuildPropertiesParser buildPropertiesParser
-
resolver
@Requirement private EquinoxResolver resolver
-
dependencyComputer
@Requirement private DependencyComputer dependencyComputer
-
-
Method Detail
-
getDependencyWalker
public ArtifactDependencyWalker getDependencyWalker(org.apache.maven.project.MavenProject project, TargetEnvironment environment)
Description copied from interface:TychoProjectWalks project dependencies resolved for the specified runtime environment.- Specified by:
getDependencyWalkerin interfaceTychoProject
-
getDependencyWalker
public ArtifactDependencyWalker getDependencyWalker(org.apache.maven.project.MavenProject project)
Description copied from interface:TychoProjectWalks all project dependencies, regardless of runtime environment filters.- Specified by:
getDependencyWalkerin interfaceTychoProject
-
getArtifactKey
public ArtifactKey getArtifactKey(ReactorProject project)
- Specified by:
getArtifactKeyin interfaceTychoProject
-
setupProject
public void setupProject(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project)- Overrides:
setupProjectin classAbstractTychoProject
-
readArtifactKey
public ArtifactKey readArtifactKey(java.io.File location)
-
getManifestValue
public java.lang.String getManifestValue(java.lang.String key, org.apache.maven.project.MavenProject project)Description copied from interface:BundleProjectReturns the value of the specified attribute key in the project's MANIFEST, or null if the attribute was not found.- Specified by:
getManifestValuein interfaceBundleProject- Parameters:
key- manifest attribute keyproject- associated maven project- Returns:
- the String value of the specified attribute key, or null if not found.
-
getManifest
private OsgiManifest getManifest(org.apache.maven.project.MavenProject project)
-
resolveClassPath
public void resolveClassPath(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project)- Overrides:
resolveClassPathin classAbstractTychoProject
-
getArtifact
protected ArtifactDescriptor getArtifact(DependencyArtifacts artifacts, java.io.File location, java.lang.String id)
-
addPDESourceRoots
private void addPDESourceRoots(org.apache.maven.project.MavenProject project)
-
removeDuplicateTestCompileRoot
private void removeDuplicateTestCompileRoot(java.io.File sourceFolder, java.util.List<java.lang.String> testCompileSourceRoots)
-
getResolverState
private org.eclipse.osgi.service.resolver.State getResolverState(org.apache.maven.project.MavenProject project, DependencyArtifacts artifacts)
-
getEclipsePluginProject
public EclipsePluginProjectImpl getEclipsePluginProject(ReactorProject otherProject)
-
getClasspath
public java.util.List<ClasspathEntry> getClasspath(org.apache.maven.project.MavenProject project)
- Specified by:
getClasspathin interfaceBundleProject
-
getBootClasspathExtraAccessRules
public java.util.List<ClasspathEntry.AccessRule> getBootClasspathExtraAccessRules(org.apache.maven.project.MavenProject project)
- Specified by:
getBootClasspathExtraAccessRulesin interfaceBundleProject
-
getThisProjectClasspath
private java.util.List<java.io.File> getThisProjectClasspath(ArtifactDescriptor bundle, ReactorProject project)
Returns project compile classpath entries.
-
getOtherProjectClasspath
private java.util.List<java.io.File> getOtherProjectClasspath(ArtifactDescriptor bundle, ReactorProject otherProject, java.lang.String nestedPath)
Returns bundle classpath entries. IfnestedPathis notnull, returns single class folder that corresponds specified nestedPath. IfnestedPathisnull, returns entries specified in Bundle-ClassPath.
-
addExtraClasspathEntries
private void addExtraClasspathEntries(java.util.List<ClasspathEntry> classpath, ReactorProject project, DependencyArtifacts artifacts)
-
getBundleClasspath
private java.util.List<java.io.File> getBundleClasspath(ArtifactDescriptor bundle)
-
getBundleEntry
private java.util.List<java.io.File> getBundleEntry(ArtifactDescriptor bundle, java.lang.String nestedPath)
-
parseBundleClasspath
private java.lang.String[] parseBundleClasspath(ArtifactDescriptor bundle)
-
getNestedJarOrDir
private java.io.File getNestedJarOrDir(ArtifactDescriptor bundle, java.lang.String cp)
-
getImplicitTargetEnvironment
public TargetEnvironment getImplicitTargetEnvironment(org.apache.maven.project.MavenProject project)
Description copied from interface:TychoProjectImplicit target environment configuration present in project metadata, like, for example, Eclipse-PlatformFilter OSGi bundle manifest attribute.- Specified by:
getImplicitTargetEnvironmentin interfaceTychoProject- Overrides:
getImplicitTargetEnvironmentin classAbstractTychoProject
-
sn
private static java.lang.String sn(java.lang.String str)
-
readExecutionEnvironmentConfiguration
public void readExecutionEnvironmentConfiguration(org.apache.maven.project.MavenProject project, ExecutionEnvironmentConfiguration sink)- Overrides:
readExecutionEnvironmentConfigurationin classAbstractTychoProject
-
-