public class ProjectConfigurationManager extends java.lang.Object implements IProjectConfigurationManager, IMavenProjectChangedListener, org.eclipse.core.resources.IResourceChangeListener
| Modifier and Type | Field and Description |
|---|---|
(package private) static org.slf4j.Logger |
log |
(package private) IMaven |
maven |
(package private) IMavenConfiguration |
mavenConfiguration |
(package private) IMavenMarkerManager |
mavenMarkerManager |
(package private) MavenModelManager |
mavenModelManager |
(package private) ProjectRegistryManager |
projectManager |
| Constructor and Description |
|---|
ProjectConfigurationManager(IMaven maven,
ProjectRegistryManager projectManager,
MavenModelManager mavenModelManager,
IMavenMarkerManager mavenMarkerManager,
IMavenConfiguration mavenConfiguration) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
addMavenBuilder(org.eclipse.core.resources.IProject project,
org.eclipse.core.resources.IProjectDescription description,
org.eclipse.core.runtime.IProgressMonitor monitor)
Adds the maven builder to the specified project.
|
private void |
addMavenNature(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.IProgressMonitor monitor) |
java.util.Set<MavenProjectInfo> |
collectProjects(java.util.Collection<MavenProjectInfo> projects) |
(package private) void |
configureNewMavenProjects(java.util.List<org.eclipse.core.resources.IProject> projects,
org.eclipse.core.runtime.IProgressMonitor monitor) |
(package private) org.eclipse.core.resources.IProject |
create(MavenProjectInfo projectInfo,
ProjectImportConfiguration configuration,
IProjectCreationListener listener,
org.eclipse.core.runtime.IProgressMonitor monitor) |
void |
createArchetypeProject(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.IPath location,
org.apache.maven.archetype.catalog.Archetype archetype,
java.lang.String groupId,
java.lang.String artifactId,
java.lang.String version,
java.lang.String javaPackage,
java.util.Properties properties,
ProjectImportConfiguration configuration,
org.eclipse.core.runtime.IProgressMonitor monitor)
|
java.util.List<org.eclipse.core.resources.IProject> |
createArchetypeProjects(org.eclipse.core.runtime.IPath location,
org.apache.maven.archetype.catalog.Archetype archetype,
java.lang.String groupId,
java.lang.String artifactId,
java.lang.String version,
java.lang.String javaPackage,
java.util.Properties properties,
ProjectImportConfiguration configuration,
org.eclipse.core.runtime.IProgressMonitor monitor)
Creates project structure using Archetype and then imports created project(s)
|
java.util.List<org.eclipse.core.resources.IProject> |
createArchetypeProjects(org.eclipse.core.runtime.IPath location,
org.apache.maven.archetype.catalog.Archetype archetype,
java.lang.String groupId,
java.lang.String artifactId,
java.lang.String version,
java.lang.String javaPackage,
java.util.Properties properties,
ProjectImportConfiguration configuration,
IProjectCreationListener listener,
org.eclipse.core.runtime.IProgressMonitor monitor)
Creates project structure using Archetype and then imports created project(s)
|
(package private) java.util.List<org.eclipse.core.resources.IProject> |
createArchetypeProjects0(org.eclipse.core.runtime.IPath location,
org.apache.maven.archetype.catalog.Archetype archetype,
java.lang.String groupId,
java.lang.String artifactId,
java.lang.String version,
java.lang.String javaPackage,
java.util.Properties properties,
ProjectImportConfiguration configuration,
IProjectCreationListener listener,
org.eclipse.core.runtime.IProgressMonitor monitor) |
static void |
createFolder(org.eclipse.core.resources.IFolder folder,
boolean derived)
Helper method which creates a folder and, recursively, all its parent folders.
|
void |
createSimpleProject(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.IPath location,
org.apache.maven.model.Model model,
java.lang.String[] directories,
ProjectImportConfiguration configuration,
org.eclipse.core.runtime.IProgressMonitor monitor) |
void |
createSimpleProject(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.IPath location,
org.apache.maven.model.Model model,
java.lang.String[] directories,
ProjectImportConfiguration configuration,
IProjectCreationListener listener,
org.eclipse.core.runtime.IProgressMonitor monitor)
Creates simple Maven project
|
void |
disableMavenNature(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.IProgressMonitor monitor) |
(package private) void |
enableBasicMavenNature(org.eclipse.core.resources.IProject project,
ResolverConfiguration configuration,
org.eclipse.core.runtime.IProgressMonitor monitor) |
void |
enableMavenNature(org.eclipse.core.resources.IProject project,
ResolverConfiguration configuration,
org.eclipse.core.runtime.IProgressMonitor monitor) |
(package private) java.util.List<org.eclipse.core.resources.IProject> |
findExistingProjectsToHideFrom()
Finds all existing Maven
IProjects to hide from, if "hide folders of nested projects" preference is on,
else, returns an empty list. |
private org.eclipse.core.resources.IProject |
findParentProject(org.apache.maven.model.Model model) |
private org.apache.maven.archetype.ArchetypeManager |
getArchetyper() |
private java.io.File |
getCanonicalPomFile(java.io.File projectDir) |
ILifecycleMapping |
getLifecycleMapping(IMavenProjectFacade projectFacade) |
ResolverConfiguration |
getResolverConfiguration(org.eclipse.core.resources.IProject project)
PROVISIONAL
|
org.eclipse.core.runtime.jobs.ISchedulingRule |
getRule() |
(package private) void |
hideNestedProjectsFromParents(java.util.List<org.eclipse.core.resources.IProject> projects,
java.util.List<org.eclipse.core.resources.IProject> existingProjects,
org.eclipse.core.runtime.IProgressMonitor monitor) |
java.util.List<IMavenProjectImportResult> |
importProjects(java.util.Collection<MavenProjectInfo> projectInfos,
ProjectImportConfiguration configuration,
org.eclipse.core.runtime.IProgressMonitor monitor) |
java.util.List<IMavenProjectImportResult> |
importProjects(java.util.Collection<MavenProjectInfo> projectInfos,
ProjectImportConfiguration configuration,
IProjectCreationListener listener,
org.eclipse.core.runtime.IProgressMonitor monitor) |
private boolean |
isMavenBuilderCommand(org.eclipse.core.resources.IProject project,
org.eclipse.core.resources.ICommand command) |
void |
mavenProjectChanged(MavenProjectChangedEvent[] events,
org.eclipse.core.runtime.IProgressMonitor monitor)
This method is called while holding workspace lock.
|
boolean |
removeMavenBuilder(org.eclipse.core.resources.IProject project,
org.eclipse.core.resources.IProjectDescription description,
org.eclipse.core.runtime.IProgressMonitor monitor)
Removes the maven builder from the specified project.
|
private org.apache.maven.artifact.Artifact |
resolveArchetype(org.apache.maven.archetype.catalog.Archetype a,
org.eclipse.core.runtime.IProgressMonitor monitor)
Apparently, Archetype#generateProjectFromArchetype 2.0-alpha-4 does not attempt to resolve archetype from
configured remote repositories.
|
void |
resourceChanged(org.eclipse.core.resources.IResourceChangeEvent event) |
private void |
setHidden(org.eclipse.core.resources.IResource resource) |
boolean |
setResolverConfiguration(org.eclipse.core.resources.IProject project,
ResolverConfiguration configuration)
PROVISIONAL
|
void |
sortProjects(java.util.List<IMavenProjectFacade> facades,
org.eclipse.core.runtime.IProgressMonitor monitor) |
void |
updateProjectConfiguration(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.IProgressMonitor monitor) |
java.util.Map<java.lang.String,org.eclipse.core.runtime.IStatus> |
updateProjectConfiguration(MavenUpdateRequest request,
boolean updateConfiguration,
boolean cleanProjects,
boolean refreshFromLocal,
org.eclipse.core.runtime.IProgressMonitor monitor)
Returns project name to update status map.
|
java.util.Map<java.lang.String,org.eclipse.core.runtime.IStatus> |
updateProjectConfiguration(MavenUpdateRequest request,
boolean updateConfiguration,
boolean cleanProjects,
org.eclipse.core.runtime.IProgressMonitor monitor)
Returns project name to update status map.
|
void |
updateProjectConfiguration(MavenUpdateRequest request,
org.eclipse.core.runtime.IProgressMonitor monitor) |
private void |
updateProjectConfiguration(ProjectConfigurationRequest request,
org.eclipse.core.runtime.IProgressMonitor monitor) |
(package private) java.util.Map<java.lang.String,org.eclipse.core.runtime.IStatus> |
updateProjectConfiguration0(java.util.Collection<org.eclipse.core.resources.IFile> pomFiles,
boolean updateConfiguration,
boolean cleanProjects,
boolean refreshFromLocal,
org.eclipse.core.runtime.IProgressMonitor monitor) |
static final org.slf4j.Logger log
final ProjectRegistryManager projectManager
final MavenModelManager mavenModelManager
final IMavenMarkerManager mavenMarkerManager
final IMaven maven
final IMavenConfiguration mavenConfiguration
public ProjectConfigurationManager(IMaven maven, ProjectRegistryManager projectManager, MavenModelManager mavenModelManager, IMavenMarkerManager mavenMarkerManager, IMavenConfiguration mavenConfiguration)
public java.util.List<IMavenProjectImportResult> importProjects(java.util.Collection<MavenProjectInfo> projectInfos, ProjectImportConfiguration configuration, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
importProjects in interface IProjectConfigurationManagerorg.eclipse.core.runtime.CoreExceptionpublic java.util.List<IMavenProjectImportResult> importProjects(java.util.Collection<MavenProjectInfo> projectInfos, ProjectImportConfiguration configuration, IProjectCreationListener listener, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
importProjects in interface IProjectConfigurationManagerorg.eclipse.core.runtime.CoreExceptionprivate void setHidden(org.eclipse.core.resources.IResource resource)
void hideNestedProjectsFromParents(java.util.List<org.eclipse.core.resources.IProject> projects,
java.util.List<org.eclipse.core.resources.IProject> existingProjects,
org.eclipse.core.runtime.IProgressMonitor monitor)
void configureNewMavenProjects(java.util.List<org.eclipse.core.resources.IProject> projects,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionpublic void sortProjects(java.util.List<IMavenProjectFacade> facades, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionpublic void updateProjectConfiguration(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
updateProjectConfiguration in interface IProjectConfigurationManagerorg.eclipse.core.runtime.CoreExceptionpublic void updateProjectConfiguration(MavenUpdateRequest request, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
updateProjectConfiguration in interface IProjectConfigurationManagerorg.eclipse.core.runtime.CoreExceptionpublic java.util.Map<java.lang.String,org.eclipse.core.runtime.IStatus> updateProjectConfiguration(MavenUpdateRequest request, boolean updateConfiguration, boolean cleanProjects, org.eclipse.core.runtime.IProgressMonitor monitor)
public java.util.Map<java.lang.String,org.eclipse.core.runtime.IStatus> updateProjectConfiguration(MavenUpdateRequest request, boolean updateConfiguration, boolean cleanProjects, boolean refreshFromLocal, org.eclipse.core.runtime.IProgressMonitor monitor)
java.util.Map<java.lang.String,org.eclipse.core.runtime.IStatus> updateProjectConfiguration0(java.util.Collection<org.eclipse.core.resources.IFile> pomFiles,
boolean updateConfiguration,
boolean cleanProjects,
boolean refreshFromLocal,
org.eclipse.core.runtime.IProgressMonitor monitor)
private void updateProjectConfiguration(ProjectConfigurationRequest request, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionpublic void enableMavenNature(org.eclipse.core.resources.IProject project,
ResolverConfiguration configuration,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
enableMavenNature in interface IProjectConfigurationManagerorg.eclipse.core.runtime.CoreExceptionvoid enableBasicMavenNature(org.eclipse.core.resources.IProject project,
ResolverConfiguration configuration,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionprivate void addMavenNature(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionpublic void disableMavenNature(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
disableMavenNature in interface IProjectConfigurationManagerorg.eclipse.core.runtime.CoreExceptionpublic boolean addMavenBuilder(org.eclipse.core.resources.IProject project,
org.eclipse.core.resources.IProjectDescription description,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
IProjectConfigurationManageraddMavenBuilder in interface IProjectConfigurationManagerorg.eclipse.core.runtime.CoreExceptionpublic boolean removeMavenBuilder(org.eclipse.core.resources.IProject project,
org.eclipse.core.resources.IProjectDescription description,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
IProjectConfigurationManagerremoveMavenBuilder in interface IProjectConfigurationManagerorg.eclipse.core.runtime.CoreExceptionprivate boolean isMavenBuilderCommand(org.eclipse.core.resources.IProject project,
org.eclipse.core.resources.ICommand command)
public void createSimpleProject(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.IPath location,
org.apache.maven.model.Model model,
java.lang.String[] directories,
ProjectImportConfiguration configuration,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
createSimpleProject in interface IProjectConfigurationManagerorg.eclipse.core.runtime.CoreExceptionpublic void createSimpleProject(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.IPath location,
org.apache.maven.model.Model model,
java.lang.String[] directories,
ProjectImportConfiguration configuration,
IProjectCreationListener listener,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
The following steps are executed in the given order:
createSimpleProject in interface IProjectConfigurationManagerorg.eclipse.core.runtime.CoreExceptionprivate org.eclipse.core.resources.IProject findParentProject(org.apache.maven.model.Model model)
public static void createFolder(org.eclipse.core.resources.IFolder folder,
boolean derived)
throws org.eclipse.core.runtime.CoreException
folder - The folder to create.derived - true if folder should be marked as derivedorg.eclipse.core.runtime.CoreException - if creating the given folder or any of its parents fails.@Deprecated
public void createArchetypeProject(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.IPath location,
org.apache.maven.archetype.catalog.Archetype archetype,
java.lang.String groupId,
java.lang.String artifactId,
java.lang.String version,
java.lang.String javaPackage,
java.util.Properties properties,
ProjectImportConfiguration configuration,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
createArchetypeProjects(IPath, Archetype, String, String, String, String, Properties, ProjectImportConfiguration, IProgressMonitor)createArchetypeProject in interface IProjectConfigurationManagerorg.eclipse.core.runtime.CoreExceptionpublic java.util.List<org.eclipse.core.resources.IProject> createArchetypeProjects(org.eclipse.core.runtime.IPath location,
org.apache.maven.archetype.catalog.Archetype archetype,
java.lang.String groupId,
java.lang.String artifactId,
java.lang.String version,
java.lang.String javaPackage,
java.util.Properties properties,
ProjectImportConfiguration configuration,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
createArchetypeProjects in interface IProjectConfigurationManagerorg.eclipse.core.runtime.CoreExceptionpublic java.util.List<org.eclipse.core.resources.IProject> createArchetypeProjects(org.eclipse.core.runtime.IPath location,
org.apache.maven.archetype.catalog.Archetype archetype,
java.lang.String groupId,
java.lang.String artifactId,
java.lang.String version,
java.lang.String javaPackage,
java.util.Properties properties,
ProjectImportConfiguration configuration,
IProjectCreationListener listener,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
createArchetypeProjects in interface IProjectConfigurationManagerorg.eclipse.core.runtime.CoreExceptionjava.util.List<org.eclipse.core.resources.IProject> createArchetypeProjects0(org.eclipse.core.runtime.IPath location,
org.apache.maven.archetype.catalog.Archetype archetype,
java.lang.String groupId,
java.lang.String artifactId,
java.lang.String version,
java.lang.String javaPackage,
java.util.Properties properties,
ProjectImportConfiguration configuration,
IProjectCreationListener listener,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionprivate org.apache.maven.artifact.Artifact resolveArchetype(org.apache.maven.archetype.catalog.Archetype a,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionprivate org.apache.maven.archetype.ArchetypeManager getArchetyper()
public java.util.Set<MavenProjectInfo> collectProjects(java.util.Collection<MavenProjectInfo> projects)
collectProjects in interface IProjectConfigurationManagerpublic org.eclipse.core.runtime.jobs.ISchedulingRule getRule()
getRule in interface IProjectConfigurationManagerorg.eclipse.core.resources.IProject create(MavenProjectInfo projectInfo, ProjectImportConfiguration configuration, IProjectCreationListener listener, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionprivate java.io.File getCanonicalPomFile(java.io.File projectDir)
throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionpublic void mavenProjectChanged(MavenProjectChangedEvent[] events, org.eclipse.core.runtime.IProgressMonitor monitor)
IMavenProjectChangedListenermavenProjectChanged in interface IMavenProjectChangedListenerpublic ILifecycleMapping getLifecycleMapping(IMavenProjectFacade projectFacade) throws org.eclipse.core.runtime.CoreException
getLifecycleMapping in interface IProjectConfigurationManagerorg.eclipse.core.runtime.CoreExceptionpublic void resourceChanged(org.eclipse.core.resources.IResourceChangeEvent event)
resourceChanged in interface org.eclipse.core.resources.IResourceChangeListenerpublic ResolverConfiguration getResolverConfiguration(org.eclipse.core.resources.IProject project)
IProjectConfigurationManagergetResolverConfiguration in interface IProjectConfigurationManagerpublic boolean setResolverConfiguration(org.eclipse.core.resources.IProject project,
ResolverConfiguration configuration)
IProjectConfigurationManagersetResolverConfiguration in interface IProjectConfigurationManagerjava.util.List<org.eclipse.core.resources.IProject> findExistingProjectsToHideFrom()
IProjects to hide from, if "hide folders of nested projects" preference is on,
else, returns an empty list.