public abstract class AbstractJavaProjectConfigurator extends AbstractProjectConfigurator implements IJavaProjectConfigurator
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,
boolean addTestFlag) |
private void |
addResourceFolder(IClasspathDescriptor classpath,
org.eclipse.core.runtime.IPath resourceFolder,
org.eclipse.core.runtime.IPath outputPath,
boolean addTestFlag) |
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,
boolean addTestFlag) |
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
|
void |
configureClasspath(IMavenProjectFacade facade,
IClasspathDescriptor classpath,
org.eclipse.core.runtime.IProgressMonitor monitor)
Configures *Maven* project classpath, i.e.
|
private void |
configureOverlapWithSource(IClasspathDescriptor classpath,
IClasspathEntryDescriptor enclosing,
org.eclipse.core.runtime.IPath resourceFolder) |
void |
configureRawClasspath(ProjectConfigurationRequest request,
IClasspathDescriptor classpath,
org.eclipse.core.runtime.IProgressMonitor monitor)
Configures *JDT* project classpath, i.e.
|
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) |
private boolean |
isGenerateParameters(org.apache.maven.project.MavenProject mavenProject,
org.apache.maven.plugin.MojoExecution execution,
org.eclipse.core.runtime.IProgressMonitor monitor) |
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, boolean addTestFlag) 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, boolean addTestFlag) 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, boolean addTestFlag)
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 boolean isGenerateParameters(org.apache.maven.project.MavenProject mavenProject, org.apache.maven.plugin.MojoExecution execution, org.eclipse.core.runtime.IProgressMonitor monitor)
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)
public void configureClasspath(IMavenProjectFacade facade, IClasspathDescriptor classpath, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
IJavaProjectConfigurator
configureClasspath
in interface IJavaProjectConfigurator
org.eclipse.core.runtime.CoreException
public void configureRawClasspath(ProjectConfigurationRequest request, IClasspathDescriptor classpath, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
IJavaProjectConfigurator
configureRawClasspath
in interface IJavaProjectConfigurator
org.eclipse.core.runtime.CoreException