public abstract class AbstractJavaProjectConfigurator extends AbstractProjectConfigurator
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
COMPILER_PLUGIN_ARTIFACT_ID |
static java.lang.String |
COMPILER_PLUGIN_GROUP_ID |
protected static java.lang.String |
DEFAULT_COMPILER_LEVEL |
private static org.eclipse.core.runtime.IPath[] |
DEFAULT_INCLUSIONS |
protected static java.util.LinkedHashMap<java.lang.String,java.lang.String> |
ENVIRONMENTS |
private static java.lang.String |
GOAL_COMPILE |
private static java.lang.String |
GOAL_RESOURCES |
private static java.lang.String |
GOAL_TESTCOMPILE |
private static java.lang.String |
GOAL_TESTRESOURCES |
private static org.slf4j.Logger |
log |
protected static java.util.List<java.lang.String> |
RELEASES |
private static java.lang.String |
RESOURCES_PLUGIN_ARTIFACT_ID |
private static java.lang.String |
RESOURCES_PLUGIN_GROUP_ID |
protected static java.util.List<java.lang.String> |
SOURCES |
protected static java.util.List<java.lang.String> |
TARGETS |
ATTR_CLASS, ATTR_ID, ATTR_NAME, markerManager, maven, mavenConfiguration, projectManager
Constructor and Description |
---|
AbstractJavaProjectConfigurator() |
Modifier and Type | Method and Description |
---|---|
protected void |
addCustomClasspathEntries(org.eclipse.jdt.core.IJavaProject javaProject,
IClasspathDescriptor classpath) |
protected void |
addJavaNature(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.IProgressMonitor monitor) |
protected void |
addJavaProjectOptions(java.util.Map<java.lang.String,java.lang.String> options,
ProjectConfigurationRequest request,
org.eclipse.core.runtime.IProgressMonitor monitor) |
protected void |
addJREClasspathContainer(IClasspathDescriptor classpath,
java.lang.String environmentId) |
protected void |
addMavenClasspathContainer(IClasspathDescriptor classpath) |
protected void |
addProjectSourceFolders(IClasspathDescriptor classpath,
ProjectConfigurationRequest request,
org.eclipse.core.runtime.IProgressMonitor monitor) |
private void |
addResourceDirs(IClasspathDescriptor classpath,
org.eclipse.core.resources.IProject project,
org.apache.maven.project.MavenProject mavenProject,
java.util.List<org.apache.maven.model.Resource> resources,
org.eclipse.core.runtime.IPath outputPath,
java.lang.String resourceEncoding,
org.eclipse.core.runtime.IProgressMonitor monitor) |
private void |
addResourceFolder(IClasspathDescriptor classpath,
org.eclipse.core.runtime.IPath resourceFolder,
org.eclipse.core.runtime.IPath outputPath) |
private void |
addSourceDirs(IClasspathDescriptor classpath,
org.eclipse.core.resources.IProject project,
java.util.List<java.lang.String> sourceRoots,
org.eclipse.core.runtime.IPath outputPath,
org.eclipse.core.runtime.IPath[] inclusion,
org.eclipse.core.runtime.IPath[] exclusion,
java.lang.String sourceEncoding,
org.eclipse.core.runtime.IProgressMonitor monitor) |
void |
configure(ProjectConfigurationRequest request,
org.eclipse.core.runtime.IProgressMonitor monitor)
Configures Eclipse project passed in ProjectConfigurationRequest, using information from Maven project and other
configuration request parameters
|
private void |
configureOverlapWithSource(IClasspathDescriptor classpath,
IClasspathEntryDescriptor enclosing,
org.eclipse.core.runtime.IPath resourceFolder) |
private java.lang.String |
getCompilerLevel(org.apache.maven.project.MavenProject mavenProject,
org.apache.maven.plugin.MojoExecution execution,
java.lang.String parameter,
java.lang.String source,
java.util.List<java.lang.String> levels,
org.eclipse.core.runtime.IProgressMonitor monitor) |
protected java.util.List<org.apache.maven.plugin.MojoExecution> |
getCompilerMojoExecutions(ProjectConfigurationRequest request,
org.eclipse.core.runtime.IProgressMonitor monitor) |
protected java.lang.String |
getDefaultSourceLevel() |
protected java.lang.String |
getDefaultTargetLevel(java.lang.String source) |
private IClasspathEntryDescriptor |
getEnclosingEntryDescriptor(IClasspathDescriptor classpath,
org.eclipse.core.runtime.IPath fullPath) |
private IClasspathEntryDescriptor |
getEntryDescriptor(IClasspathDescriptor classpath,
org.eclipse.core.runtime.IPath fullPath) |
private org.eclipse.jdt.launching.environments.IExecutionEnvironment |
getExecutionEnvironment(java.lang.String environmentId) |
protected java.lang.String |
getExecutionEnvironmentId(java.util.Map<java.lang.String,java.lang.String> options) |
protected org.eclipse.core.resources.IFolder |
getFolder(org.eclipse.core.resources.IProject project,
java.lang.String absolutePath) |
private int |
getLevelIndex(java.lang.String level,
java.util.List<java.lang.String> levels) |
private org.eclipse.core.runtime.IPath[] |
getOtherResourceFolders(org.eclipse.core.resources.IProject project,
java.util.List<org.apache.maven.model.Resource> resources,
org.eclipse.core.runtime.IPath curPath) |
protected org.eclipse.core.resources.IContainer |
getOutputLocation(ProjectConfigurationRequest request,
org.eclipse.core.resources.IProject project) |
protected org.eclipse.core.runtime.IPath |
getProjectRelativePath(org.eclipse.core.resources.IProject project,
java.lang.String absolutePath) |
private org.eclipse.core.runtime.IPath[] |
getSourceFolders(org.eclipse.core.resources.IProject project,
java.util.List<java.lang.String> sources) |
protected void |
invokeJavaProjectConfigurators(IClasspathDescriptor classpath,
ProjectConfigurationRequest request,
org.eclipse.core.runtime.IProgressMonitor monitor) |
protected boolean |
isCompileExecution(org.apache.maven.plugin.MojoExecution execution) |
private boolean |
isContained(org.eclipse.core.runtime.IPath path,
org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.IPath[] otherPaths) |
protected boolean |
isTestCompileExecution(org.apache.maven.plugin.MojoExecution execution) |
private boolean |
overlapsWithOtherResourceFolder(org.eclipse.core.runtime.IPath path,
org.eclipse.core.resources.IProject project,
org.apache.maven.project.MavenProject mavenProject) |
private boolean |
overlapsWithSourceFolder(org.eclipse.core.runtime.IPath path,
org.eclipse.core.resources.IProject project,
org.apache.maven.project.MavenProject mavenProject) |
private void |
removeMavenClasspathContainer(org.eclipse.core.resources.IProject project) |
private java.lang.String |
sanitizeJavaVersion(java.lang.String version) |
private org.eclipse.core.runtime.IPath[] |
toPaths(java.lang.String[] values) |
void |
unconfigure(ProjectConfigurationRequest request,
org.eclipse.core.runtime.IProgressMonitor monitor)
Removes Maven specific configuration from the project passed in ProjectConfigurationRequest
|
addNature, addNature, assertHasNature, equals, getBuildParticipant, getConfiguratorExecutions, getId, getMojoExecutions, getName, getParameterValue, getParameterValue, hasConfigurationChanged, hashCode, mavenProjectChanged, mavenProjectChanged, setInitializationData, setMarkerManager, setMavenConfiguration, setProjectManager, toString
private static final org.eclipse.core.runtime.IPath[] DEFAULT_INCLUSIONS
private static final org.slf4j.Logger log
private static final java.lang.String GOAL_COMPILE
private static final java.lang.String GOAL_TESTCOMPILE
public static final java.lang.String COMPILER_PLUGIN_ARTIFACT_ID
public static final java.lang.String COMPILER_PLUGIN_GROUP_ID
protected static final java.util.List<java.lang.String> RELEASES
protected static final java.util.List<java.lang.String> SOURCES
protected static final java.util.List<java.lang.String> TARGETS
private static final java.lang.String GOAL_RESOURCES
private static final java.lang.String GOAL_TESTRESOURCES
private static final java.lang.String RESOURCES_PLUGIN_ARTIFACT_ID
private static final java.lang.String RESOURCES_PLUGIN_GROUP_ID
protected static final java.util.LinkedHashMap<java.lang.String,java.lang.String> ENVIRONMENTS
protected static final java.lang.String DEFAULT_COMPILER_LEVEL
public void configure(ProjectConfigurationRequest request, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
AbstractProjectConfigurator
Should be implemented by subclass
configure
in class AbstractProjectConfigurator
request
- a project configuration requestmonitor
- a progress monitororg.eclipse.core.runtime.CoreException
protected org.eclipse.core.resources.IContainer getOutputLocation(ProjectConfigurationRequest request, org.eclipse.core.resources.IProject project)
protected java.lang.String getExecutionEnvironmentId(java.util.Map<java.lang.String,java.lang.String> options)
protected void addJavaNature(org.eclipse.core.resources.IProject project, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreException
protected void addCustomClasspathEntries(org.eclipse.jdt.core.IJavaProject javaProject, IClasspathDescriptor classpath) throws org.eclipse.jdt.core.JavaModelException
org.eclipse.jdt.core.JavaModelException
protected void invokeJavaProjectConfigurators(IClasspathDescriptor classpath, ProjectConfigurationRequest request, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreException
protected void addJREClasspathContainer(IClasspathDescriptor classpath, java.lang.String environmentId)
private org.eclipse.jdt.launching.environments.IExecutionEnvironment getExecutionEnvironment(java.lang.String environmentId)
protected void addMavenClasspathContainer(IClasspathDescriptor classpath)
protected void addProjectSourceFolders(IClasspathDescriptor classpath, ProjectConfigurationRequest request, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreException
protected boolean isTestCompileExecution(org.apache.maven.plugin.MojoExecution execution)
protected boolean isCompileExecution(org.apache.maven.plugin.MojoExecution execution)
private org.eclipse.core.runtime.IPath[] toPaths(java.lang.String[] values)
private void addSourceDirs(IClasspathDescriptor classpath, org.eclipse.core.resources.IProject project, java.util.List<java.lang.String> sourceRoots, org.eclipse.core.runtime.IPath outputPath, org.eclipse.core.runtime.IPath[] inclusion, org.eclipse.core.runtime.IPath[] exclusion, java.lang.String sourceEncoding, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreException
private IClasspathEntryDescriptor getEnclosingEntryDescriptor(IClasspathDescriptor classpath, org.eclipse.core.runtime.IPath fullPath)
private IClasspathEntryDescriptor getEntryDescriptor(IClasspathDescriptor classpath, org.eclipse.core.runtime.IPath fullPath)
private void addResourceDirs(IClasspathDescriptor classpath, org.eclipse.core.resources.IProject project, org.apache.maven.project.MavenProject mavenProject, java.util.List<org.apache.maven.model.Resource> resources, org.eclipse.core.runtime.IPath outputPath, java.lang.String resourceEncoding, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreException
private void addResourceFolder(IClasspathDescriptor classpath, org.eclipse.core.runtime.IPath resourceFolder, org.eclipse.core.runtime.IPath outputPath)
private void configureOverlapWithSource(IClasspathDescriptor classpath, IClasspathEntryDescriptor enclosing, org.eclipse.core.runtime.IPath resourceFolder)
private boolean overlapsWithSourceFolder(org.eclipse.core.runtime.IPath path, org.eclipse.core.resources.IProject project, org.apache.maven.project.MavenProject mavenProject)
private boolean overlapsWithOtherResourceFolder(org.eclipse.core.runtime.IPath path, org.eclipse.core.resources.IProject project, org.apache.maven.project.MavenProject mavenProject)
private org.eclipse.core.runtime.IPath[] getSourceFolders(org.eclipse.core.resources.IProject project, java.util.List<java.lang.String> sources)
private org.eclipse.core.runtime.IPath[] getOtherResourceFolders(org.eclipse.core.resources.IProject project, java.util.List<org.apache.maven.model.Resource> resources, org.eclipse.core.runtime.IPath curPath)
private boolean isContained(org.eclipse.core.runtime.IPath path, org.eclipse.core.resources.IProject project, org.eclipse.core.runtime.IPath[] otherPaths)
protected void addJavaProjectOptions(java.util.Map<java.lang.String,java.lang.String> options, ProjectConfigurationRequest request, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreException
private java.lang.String sanitizeJavaVersion(java.lang.String version)
protected java.lang.String getDefaultTargetLevel(java.lang.String source)
protected java.lang.String getDefaultSourceLevel()
protected java.util.List<org.apache.maven.plugin.MojoExecution> getCompilerMojoExecutions(ProjectConfigurationRequest request, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreException
private java.lang.String getCompilerLevel(org.apache.maven.project.MavenProject mavenProject, org.apache.maven.plugin.MojoExecution execution, java.lang.String parameter, java.lang.String source, java.util.List<java.lang.String> levels, org.eclipse.core.runtime.IProgressMonitor monitor)
private int getLevelIndex(java.lang.String level, java.util.List<java.lang.String> levels)
public void unconfigure(ProjectConfigurationRequest request, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
AbstractProjectConfigurator
unconfigure
in class AbstractProjectConfigurator
request
- a project un-configuration requestmonitor
- a progress monitororg.eclipse.core.runtime.CoreException
private void removeMavenClasspathContainer(org.eclipse.core.resources.IProject project) throws org.eclipse.jdt.core.JavaModelException
org.eclipse.jdt.core.JavaModelException
protected org.eclipse.core.resources.IFolder getFolder(org.eclipse.core.resources.IProject project, java.lang.String absolutePath)
protected org.eclipse.core.runtime.IPath getProjectRelativePath(org.eclipse.core.resources.IProject project, java.lang.String absolutePath)