diff options
Diffstat (limited to 'org.eclipse.m2e.core/src/org/eclipse')
115 files changed, 1098 insertions, 992 deletions
diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/MavenPlugin.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/MavenPlugin.java index 3be53e36..df93ebbd 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/MavenPlugin.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/MavenPlugin.java @@ -17,9 +17,8 @@ import org.eclipse.m2e.core.embedder.MavenModelManager; import org.eclipse.m2e.core.embedder.MavenRuntimeManager; import org.eclipse.m2e.core.internal.MavenPluginActivator; import org.eclipse.m2e.core.internal.index.IndexManager; -import org.eclipse.m2e.core.internal.project.conversion.ProjectConversionManager; -import org.eclipse.m2e.core.project.IProjectConfigurationManager; import org.eclipse.m2e.core.project.IMavenProjectRegistry; +import org.eclipse.m2e.core.project.IProjectConfigurationManager; import org.eclipse.m2e.core.project.conversion.IProjectConversionManager; import org.eclipse.m2e.core.repository.IRepositoryRegistry; diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/AbstractMavenConfigurationChangeListener.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/AbstractMavenConfigurationChangeListener.java index 88d2538c..e63258d4 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/AbstractMavenConfigurationChangeListener.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/AbstractMavenConfigurationChangeListener.java @@ -13,10 +13,9 @@ package org.eclipse.m2e.core.embedder; /** * AbstractMavenConfigurationChangeListener - * + * * @author igor */ public abstract class AbstractMavenConfigurationChangeListener implements IMavenConfigurationChangeListener { - } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/ArtifactKey.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/ArtifactKey.java index 35fa5fbf..2652f4ad 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/ArtifactKey.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/ArtifactKey.java @@ -17,12 +17,16 @@ import org.eclipse.osgi.util.NLS; import org.apache.maven.artifact.Artifact; + public class ArtifactKey implements Serializable { private static final long serialVersionUID = -8984509272834024387L; - + private final String groupId; + private final String artifactId; + private final String version; + private final String classifier; /** @@ -44,12 +48,11 @@ public class ArtifactKey implements Serializable { } public boolean equals(Object o) { - if (this == o) return true; - if (o instanceof ArtifactKey) { + if(this == o) + return true; + if(o instanceof ArtifactKey) { ArtifactKey other = (ArtifactKey) o; - return equals(groupId, other.groupId) - && equals(artifactId, other.artifactId) - && equals(version, other.version) + return equals(groupId, other.groupId) && equals(artifactId, other.artifactId) && equals(version, other.version) && equals(classifier, other.classifier); } return false; @@ -57,29 +60,27 @@ public class ArtifactKey implements Serializable { public int hashCode() { int hash = 17; - hash = hash * 31 + (groupId != null? groupId.hashCode(): 0); - hash = hash * 31 + (artifactId != null? artifactId.hashCode(): 0); - hash = hash * 31 + (version != null? version.hashCode(): 0); - hash = hash * 31 + (classifier != null? classifier.hashCode(): 0); + hash = hash * 31 + (groupId != null ? groupId.hashCode() : 0); + hash = hash * 31 + (artifactId != null ? artifactId.hashCode() : 0); + hash = hash * 31 + (version != null ? version.hashCode() : 0); + hash = hash * 31 + (classifier != null ? classifier.hashCode() : 0); return hash; } private static boolean equals(Object o1, Object o2) { - return o1 == null? o2 == null: o1.equals(o2); + return o1 == null ? o2 == null : o1.equals(o2); } // XXX this method does not belong here, it compares versions, while ArtifactKey uses baseVersions in many cases public static boolean equals(Artifact a1, Artifact a2) { - if (a1 == null) { + if(a1 == null) { return a2 == null; } - if (a2 == null) { + if(a2 == null) { return false; } - return equals(a1.getGroupId(), a2.getGroupId()) - && equals(a1.getArtifactId(), a2.getArtifactId()) - && equals(a1.getVersion(), a2.getVersion()) - && equals(a1.getClassifier(), a2.getClassifier()); + return equals(a1.getGroupId(), a2.getGroupId()) && equals(a1.getArtifactId(), a2.getArtifactId()) + && equals(a1.getVersion(), a2.getVersion()) && equals(a1.getClassifier(), a2.getClassifier()); } public String toString() { @@ -94,38 +95,51 @@ public class ArtifactKey implements Serializable { public static ArtifactKey fromPortableString(String str) { int p, c; - p = 0; c = nextColonIndex(str, p); - String groupId = substring(str, p, c); + p = 0; + c = nextColonIndex(str, p); + String groupId = substring(str, p, c); - p = c + 1; c = nextColonIndex(str, p); - String artifactId = substring(str, p, c); - - p = c + 1; c = nextColonIndex(str, p); + p = c + 1; + c = nextColonIndex(str, p); + String artifactId = substring(str, p, c); + + p = c + 1; + c = nextColonIndex(str, p); String version = substring(str, p, c); - - p = c + 1; c = nextColonIndex(str, p); + + p = c + 1; + c = nextColonIndex(str, p); String classifier = substring(str, p, c); - + return new ArtifactKey(groupId, artifactId, version, classifier); } - + private static String substring(String str, int start, int end) { String substring = str.substring(start, end); - return "".equals(substring)? null: substring; //$NON-NLS-1$ + return "".equals(substring) ? null : substring; //$NON-NLS-1$ } private static int nextColonIndex(String str, int pos) { int idx = str.indexOf(':', pos); - if (idx < 0) throw new IllegalArgumentException(NLS.bind("Invalid portable string: {0}", str)); + if(idx < 0) + throw new IllegalArgumentException(NLS.bind("Invalid portable string: {0}", str)); return idx; } public String toPortableString() { StringBuilder sb = new StringBuilder(); - if (groupId != null) sb.append(groupId); sb.append(':'); - if (artifactId != null) sb.append(artifactId); sb.append(':'); - if (version != null) sb.append(version); sb.append(':'); - if (classifier != null) sb.append(classifier); sb.append(':'); + if(groupId != null) + sb.append(groupId); + sb.append(':'); + if(artifactId != null) + sb.append(artifactId); + sb.append(':'); + if(version != null) + sb.append(version); + sb.append(':'); + if(classifier != null) + sb.append(classifier); + sb.append(':'); return sb.toString(); } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/ArtifactRef.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/ArtifactRef.java index 5d5ecb88..86c88fdb 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/ArtifactRef.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/ArtifactRef.java @@ -17,13 +17,15 @@ import java.util.Set; import org.apache.maven.artifact.Artifact; + /** * @author Igor Fedorenko */ public class ArtifactRef implements Serializable { private static final long serialVersionUID = -7560496230862532267L; - + private final ArtifactKey artifactKey; + private final String scope; public ArtifactRef(Artifact artifact) { @@ -34,7 +36,7 @@ public class ArtifactRef implements Serializable { public ArtifactKey getArtifactKey() { return artifactKey; } - + public String getGroupId() { return artifactKey.getGroupId(); } @@ -54,10 +56,10 @@ public class ArtifactRef implements Serializable { public String getScope() { return scope; } - + public static Set<ArtifactKey> toArtifactKey(Set<ArtifactRef> refs) { LinkedHashSet<ArtifactKey> keys = new LinkedHashSet<ArtifactKey>(refs.size()); - for (ArtifactRef ref : refs) { + for(ArtifactRef ref : refs) { keys.add(ref.getArtifactKey()); } return keys; @@ -65,7 +67,7 @@ public class ArtifactRef implements Serializable { public static Set<ArtifactRef> fromArtifact(Set<Artifact> artifacts) { LinkedHashSet<ArtifactRef> refs = new LinkedHashSet<ArtifactRef>(artifacts.size()); - for (Artifact artifact : artifacts) { + for(Artifact artifact : artifacts) { refs.add(new ArtifactRef(artifact)); } return refs; diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/ArtifactRepositoryRef.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/ArtifactRepositoryRef.java index d5a458ac..ee52506c 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/ArtifactRepositoryRef.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/ArtifactRepositoryRef.java @@ -29,7 +29,7 @@ public class ArtifactRepositoryRef implements Serializable { public ArtifactRepositoryRef(ArtifactRepository repository) { this.id = repository.getId(); this.url = repository.getUrl(); - this.username = repository.getAuthentication() != null? repository.getAuthentication().getUsername(): null; + this.username = repository.getAuthentication() != null ? repository.getAuthentication().getUsername() : null; } public String getId() { @@ -64,6 +64,6 @@ public class ArtifactRepositoryRef implements Serializable { } private static <T> boolean eq(T a, T b) { - return a != null? a.equals(b): b == null; + return a != null ? a.equals(b) : b == null; } } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/IMaven.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/IMaven.java index 122d963c..db7d125d 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/IMaven.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/IMaven.java @@ -37,6 +37,7 @@ import org.apache.maven.settings.building.SettingsProblem; import org.apache.maven.wagon.events.TransferListener; import org.apache.maven.wagon.proxy.ProxyInfo; + /** * Entry point for all Maven functionality in m2e. Note that this component does not directly support workspace artifact * resolution. @@ -64,8 +65,9 @@ public interface IMaven { /** * Resolves specified artifact from specified remote repositories. + * * @return Artifact resolved artifact - * @throws CoreException if the artifact cannot be resolved. + * @throws CoreException if the artifact cannot be resolved. */ public Artifact resolve(String groupId, String artifactId, String version, String type, String classifier, List<ArtifactRepository> artifactRepositories, IProgressMonitor monitor) throws CoreException; @@ -78,8 +80,8 @@ public interface IMaven { String type, String classifier) throws CoreException; /** - * Returns true if the artifact does NOT exist in the local repository and - * known to be UNavailable from all specified repositories. + * Returns true if the artifact does NOT exist in the local repository and known to be UNavailable from all specified + * repositories. */ public boolean isUnavailable(String groupId, String artifactId, String version, String type, String classifier, List<ArtifactRepository> repositories) throws CoreException; @@ -99,7 +101,7 @@ public interface IMaven { public void detachFromSession(MavenProject project) throws CoreException; /** - * Returns MavenProject parent project or null if no such project. + * Returns MavenProject parent project or null if no such project. * * @TODO Currently returns null in case of resolution error, consider if it should throw CoreException instead */ @@ -117,7 +119,8 @@ public interface IMaven { public MavenExecutionPlan calculateExecutionPlan(MavenSession session, MavenProject project, List<String> goals, boolean setup, IProgressMonitor monitor) throws CoreException; - public MojoExecution setupMojoExecution(MavenSession session, MavenProject project, MojoExecution execution) throws CoreException; + public MojoExecution setupMojoExecution(MavenSession session, MavenProject project, MojoExecution execution) + throws CoreException; public <T> T getMojoParameterValue(MavenSession session, MojoExecution mojoExecution, String parameter, Class<T> asType) throws CoreException; @@ -147,11 +150,8 @@ public interface IMaven { /** * Returns list of remote artifact repositories configured in settings.xml. Only profiles active by default are - * considered when calculating the list. - * - * If injectSettings=true, mirrors, authentication and proxy info will be injected. - * - * If injectSettings=false, raw repository definition will be used. + * considered when calculating the list. If injectSettings=true, mirrors, authentication and proxy info will be + * injected. If injectSettings=false, raw repository definition will be used. */ public List<ArtifactRepository> getArtifactRepositories(boolean injectSettings) throws CoreException; @@ -184,19 +184,18 @@ public interface IMaven { public void removeLocalRepositoryListener(ILocalRepositoryListener listener); /** - * Creates wagon TransferListener that can be used with Archetype, NexusIndexer - * and other components that use wagon API directly. The listener will adopt - * wagon transfer events to corresponding calls to IProgressMonitor and all + * Creates wagon TransferListener that can be used with Archetype, NexusIndexer and other components that use wagon + * API directly. The listener will adopt wagon transfer events to corresponding calls to IProgressMonitor and all * registered ILocalRepositoryListeners. * - * @deprecated IMaven API should not expose maven.repository.ArtifactTransferListener + * @deprecated IMaven API should not expose maven.repository.ArtifactTransferListener */ public TransferListener createTransferListener(IProgressMonitor monitor); public ProxyInfo getProxyInfo(String protocol) throws CoreException; /** - * Sort projects by build order + * Sort projects by build order */ public List<MavenProject> getSortedProjects(List<MavenProject> projects) throws CoreException; @@ -207,7 +206,8 @@ public interface IMaven { * {@link #releaseMojo(Object, MojoExecution)}. This method is intended to allow introspection of mojo configuration * parameters, use {@link #execute(MavenSession, MojoExecution, IProgressMonitor)} to execute mojo. */ - public <T> T getConfiguredMojo(MavenSession session, MojoExecution mojoExecution, Class<T> clazz) throws CoreException; + public <T> T getConfiguredMojo(MavenSession session, MojoExecution mojoExecution, Class<T> clazz) + throws CoreException; /** * Releases resources used by Mojo acquired with {@link #getConfiguredMojo(MavenSession, MojoExecution, Class)} diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/IMavenConfigurationChangeListener.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/IMavenConfigurationChangeListener.java index d0401a96..217c65f4 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/IMavenConfigurationChangeListener.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/IMavenConfigurationChangeListener.java @@ -13,9 +13,10 @@ package org.eclipse.m2e.core.embedder; import org.eclipse.core.runtime.CoreException; + /** * IMavenConfigurationChangeListener - * + * * @author igor */ public interface IMavenConfigurationChangeListener { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/IMavenLauncherConfiguration.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/IMavenLauncherConfiguration.java index 06683bff..538be2db 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/IMavenLauncherConfiguration.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/IMavenLauncherConfiguration.java @@ -15,17 +15,17 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.m2e.core.project.IMavenProjectFacade; + /** - * Receive notification of content of plexus configuration. - * - * @author Igor Fedorenko + * Receive notification of content of plexus configuration. * + * @author Igor Fedorenko * @see MavenRuntime#createLauncherConfiguration */ public interface IMavenLauncherConfiguration { /** - * Special realm name used for launcher classpath entries. + * Special realm name used for launcher classpath entries. */ public static final String LAUNCHER_REALM = "]launcher"; //$NON-NLS-1$ diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/ISettingsChangeListener.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/ISettingsChangeListener.java index 1fb0af01..d81a278c 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/ISettingsChangeListener.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/ISettingsChangeListener.java @@ -15,9 +15,10 @@ import org.eclipse.core.runtime.CoreException; import org.apache.maven.settings.Settings; + /** * ISettingsChangeListener - * + * * @author igor */ public interface ISettingsChangeListener { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/MavenConfigurationChangeEvent.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/MavenConfigurationChangeEvent.java index 905980b9..797066e5 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/MavenConfigurationChangeEvent.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/MavenConfigurationChangeEvent.java @@ -13,9 +13,10 @@ package org.eclipse.m2e.core.embedder; import org.eclipse.m2e.core.internal.preferences.MavenPreferenceConstants; + /** * MavenConfigurationChangeEvent - * + * * @author igor */ public class MavenConfigurationChangeEvent implements MavenPreferenceConstants { @@ -23,7 +24,9 @@ public class MavenConfigurationChangeEvent implements MavenPreferenceConstants { public static final String P_USER_SETTINGS_FILE = MavenPreferenceConstants.P_USER_SETTINGS_FILE; private final String key; + private final Object newValue; + private final Object oldValue; public MavenConfigurationChangeEvent(String key, Object newValue, Object oldValue) { @@ -35,11 +38,11 @@ public class MavenConfigurationChangeEvent implements MavenPreferenceConstants { public String getKey() { return key; } - + public Object getNewValue() { return newValue; } - + public Object getOldValue() { return oldValue; } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/MavenModelManager.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/MavenModelManager.java index 3d4b5ed5..c54a7fcb 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/MavenModelManager.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/MavenModelManager.java @@ -72,14 +72,11 @@ import org.eclipse.m2e.core.project.IMavenProjectRegistry; /** * Model manager used to read and and modify Maven models * - * @author Eugene Kuleshov - * - * XXX fix circular dependency + * @author Eugene Kuleshov XXX fix circular dependency */ public class MavenModelManager { private static final Logger log = LoggerFactory.getLogger(MavenModelManager.class); - private final IMavenProjectRegistry projectManager; private final IMaven maven; @@ -117,7 +114,7 @@ public class MavenModelManager { DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); documentBuilderFactory.setNamespaceAware(false); DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); - + Document document = documentBuilder.parse(new ByteArrayInputStream(buf.toByteArray())); Element documentElement = document.getDocumentElement(); @@ -140,7 +137,7 @@ public class MavenModelManager { attr.setTextContent("http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"); //$NON-NLS-1$ documentElement.setAttributeNode(attr); } - + TransformerFactory transfac = TransformerFactory.newInstance(); Transformer trans = transfac.newTransformer(); trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); //$NON-NLS-1$ @@ -163,8 +160,8 @@ public class MavenModelManager { * @deprecated use {@link #readDependencyTree(IMavenProjectFacade, MavenProject, String, IProgressMonitor)}, which * supports workspace dependency resolution */ - public synchronized DependencyNode readDependencyTree(IFile file, String classpath, - IProgressMonitor monitor) throws CoreException { + public synchronized DependencyNode readDependencyTree(IFile file, String classpath, IProgressMonitor monitor) + throws CoreException { monitor.setTaskName(Messages.MavenModelManager_monitor_reading); MavenProject mavenProject = readMavenProject(file, monitor); diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/MavenRuntime.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/MavenRuntime.java index 31940164..65fc8fba 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/MavenRuntime.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/MavenRuntime.java @@ -14,25 +14,24 @@ package org.eclipse.m2e.core.embedder; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; + /** * Maven runtime - * + * * @author Eugene Kuleshov * @author Igor Fedorenko - * * @noimplement This interface is not intended to be implemented by clients. */ public interface MavenRuntime { - + public abstract boolean isEditable(); /** - * Reads m2.conf file and notifies configuration collector of the logical content of plexus configuration. - * - * Collector callback methods are invoked in the order corresponding - * configuration elements are present in m2.conf file. + * Reads m2.conf file and notifies configuration collector of the logical content of plexus configuration. Collector + * callback methods are invoked in the order corresponding configuration elements are present in m2.conf file. */ - public abstract void createLauncherConfiguration(IMavenLauncherConfiguration collector, IProgressMonitor monitor) throws CoreException; + public abstract void createLauncherConfiguration(IMavenLauncherConfiguration collector, IProgressMonitor monitor) + throws CoreException; public abstract String getLocation(); diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/NearestVersionConflictResolver.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/NearestVersionConflictResolver.java index 92c73f1f..ee8bc365 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/NearestVersionConflictResolver.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/embedder/NearestVersionConflictResolver.java @@ -116,16 +116,13 @@ class NearestVersionConflictResolver implements DependencyGraphTransformer { } } - private boolean isAcceptable( ConflictGroup group, Version version ) - { - for ( VersionConstraint constraint : group.constraints ) - { - if ( !constraint.containsVersion( version ) ) - { - return false; - } + private boolean isAcceptable(ConflictGroup group, Version version) { + for(VersionConstraint constraint : group.constraints) { + if(!constraint.containsVersion(version)) { + return false; } - return true; + } + return true; } private void backtrack(ConflictGroup group) throws UnsolvableVersionConflictException { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/ExtensionReader.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/ExtensionReader.java index 74bc12c6..9fb1f39f 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/ExtensionReader.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/ExtensionReader.java @@ -41,7 +41,8 @@ public class ExtensionReader { public static final String EXTENSION_ARCHETYPES = IMavenConstants.PLUGIN_ID + ".archetypeCatalogs"; //$NON-NLS-1$ - public static final String EXTENSION_PROJECT_CHANGED_EVENT_LISTENERS = IMavenConstants.PLUGIN_ID + ".mavenProjectChangedListeners"; //$NON-NLS-1$ + public static final String EXTENSION_PROJECT_CHANGED_EVENT_LISTENERS = IMavenConstants.PLUGIN_ID + + ".mavenProjectChangedListeners"; //$NON-NLS-1$ private static final String ELEMENT_LOCAL_ARCHETYPE = "local"; //$NON-NLS-1$ @@ -116,7 +117,7 @@ public class ExtensionReader { for(IConfigurationElement element : elements) { if(element.getName().equals(ELEMENT_LISTENER)) { try { - listeners.add( (IMavenProjectChangedListener) element.createExecutableExtension("class") ); //$NON-NLS-1$ + listeners.add((IMavenProjectChangedListener) element.createExecutableExtension("class")); //$NON-NLS-1$ } catch(CoreException ex) { log.error(ex.getMessage(), ex); } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/M2EUtils.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/M2EUtils.java index e64a244c..776121ca 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/M2EUtils.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/M2EUtils.java @@ -72,14 +72,14 @@ public class M2EUtils { } } - public static String getRootCauseMessage(Throwable t){ + public static String getRootCauseMessage(Throwable t) { Throwable root = getRootCause(t); - if(t == null){ + if(t == null) { return null; } return root.getMessage(); } - + public static Throwable getRootCause(Throwable ex) { if(ex == null) { return null; @@ -120,7 +120,7 @@ public class M2EUtils { public static Collection<MavenProject> getDefiningProjects(MojoExecutionKey key, Collection<MavenProject> projects) { Set<MavenProject> sourceProjects = new HashSet<MavenProject>(); - for (MavenProject project : projects) { + for(MavenProject project : projects) { if(definesPlugin(project, key)) { sourceProjects.add(project); continue; diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/MavenPluginActivator.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/MavenPluginActivator.java index 58d24da5..437c584b 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/MavenPluginActivator.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/MavenPluginActivator.java @@ -21,14 +21,11 @@ import org.osgi.framework.Version; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResourceChangeEvent; import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Plugin; -import org.eclipse.core.runtime.preferences.IEclipsePreferences; -import org.eclipse.core.runtime.preferences.InstanceScope; import org.codehaus.plexus.ContainerConfiguration; import org.codehaus.plexus.DefaultContainerConfiguration; @@ -246,7 +243,7 @@ public class MavenPluginActivator extends Plugin { // fork repository registry update. must after index manager registered as a listener this.repositoryRegistry.updateRegistry(); - + this.projectConversionManager = new ProjectConversionManager(); } @@ -297,7 +294,7 @@ public class MavenPluginActivator extends Plugin { LifecycleMappingFactory.setBundleMetadataSources(null); this.projectConversionManager = null; - + plugin = null; } @@ -379,7 +376,8 @@ public class MavenPluginActivator extends Plugin { public static String getUserAgent() { // cast is necessary for eclipse 3.6 compatibility - String osgiVersion = (String) Platform.getBundle("org.eclipse.osgi").getHeaders().get(org.osgi.framework.Constants.BUNDLE_VERSION); //$NON-NLS-1$ + String osgiVersion = (String) Platform + .getBundle("org.eclipse.osgi").getHeaders().get(org.osgi.framework.Constants.BUNDLE_VERSION); //$NON-NLS-1$ String m2eVersion = plugin.qualifiedVersion; return "m2e/" + osgiVersion + "/" + m2eVersion; //$NON-NLS-1$ } @@ -442,6 +440,7 @@ public class MavenPluginActivator extends Plugin { public ArtifactFilterManager getArifactFilterManager() { return artifactFilterManager; } + /** * @return */ diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/Messages.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/Messages.java index c6dabdc8..e3cc4fd3 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/Messages.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/Messages.java @@ -239,7 +239,7 @@ public class Messages extends NLS { public static String pluginMarkerBuildError; public static String importProjectExists; - + public static String buildConextFileAccessOutsideOfProjectBasedir; static { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/NoSuchComponentException.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/NoSuchComponentException.java index cc09334b..a4d68f85 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/NoSuchComponentException.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/NoSuchComponentException.java @@ -13,9 +13,10 @@ package org.eclipse.m2e.core.internal; import org.codehaus.plexus.component.repository.exception.ComponentLookupException; + /** * NoSuchComponentException - * + * * @author igor */ public class NoSuchComponentException extends IllegalArgumentException { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/archetype/ArchetypeCatalogFactory.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/archetype/ArchetypeCatalogFactory.java index 3d3a1721..45356b90 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/archetype/ArchetypeCatalogFactory.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/archetype/ArchetypeCatalogFactory.java @@ -130,7 +130,8 @@ public abstract class ArchetypeCatalogFactory { public static class LocalCatalogFactory extends ArchetypeCatalogFactory { public LocalCatalogFactory(String path, String description, boolean editable) { - super(path, description == null || description.trim().length() == 0 ? NLS.bind(Messages.ArchetypeCatalogFactory_local, path) : description, editable); + super(path, description == null || description.trim().length() == 0 ? NLS.bind( + Messages.ArchetypeCatalogFactory_local, path) : description, editable); } public ArchetypeCatalog getArchetypeCatalog() { @@ -144,29 +145,29 @@ public abstract class ArchetypeCatalogFactory { public static class RemoteCatalogFactory extends ArchetypeCatalogFactory { private String repositoryUrl = null; - + public RemoteCatalogFactory(String url, String description, boolean editable) { - super(url, description == null || description.trim().length() == 0 ? NLS.bind(Messages.ArchetypeCatalogFactory_remote, url) : description, editable); + super(url, description == null || description.trim().length() == 0 ? NLS.bind( + Messages.ArchetypeCatalogFactory_remote, url) : description, editable); repositoryUrl = parseCatalogUrl(url); } /** * @param url * @return - */ private String parseCatalogUrl(String url) { - if (url == null) { + if(url == null) { return null; } int length = url.length(); - if (length > 1 && url.endsWith("/")) //$NON-NLS-1$ + if(length > 1 && url.endsWith("/")) //$NON-NLS-1$ { - return url.substring(0, url.length()-1); + return url.substring(0, url.length() - 1); } int idx = url.lastIndexOf("/"); //$NON-NLS-1$ - idx = (idx>0)?idx:0; - if (url.lastIndexOf(".") >= idx) { //$NON-NLS-1$ + idx = (idx > 0) ? idx : 0; + if(url.lastIndexOf(".") >= idx) { //$NON-NLS-1$ //Assume last fragment of the url is a file, let's keep its parent folder return url.substring(0, idx); } @@ -176,13 +177,12 @@ public abstract class ArchetypeCatalogFactory { public ArchetypeCatalog getArchetypeCatalog() { String url = getId(); int idx = url.lastIndexOf("/archetype-catalog.xml"); - if (idx > -1) { + if(idx > -1) { url = url.substring(0, idx); } return getArchetyper().getRemoteCatalog(url); } - /** * @return the url of the remote repository hosting the catalog */ diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/archetype/ArchetypeCatalogsWriter.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/archetype/ArchetypeCatalogsWriter.java index e096e49e..10b459f6 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/archetype/ArchetypeCatalogsWriter.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/archetype/ArchetypeCatalogsWriter.java @@ -60,14 +60,13 @@ public class ArchetypeCatalogsWriter { private static final String ATT_CATALOG_TYPE = "type"; //$NON-NLS-1$ private static final String ATT_CATALOG_LOCATION = "location"; //$NON-NLS-1$ - + public static final String ATT_CATALOG_DESCRIPTION = "description"; //$NON-NLS-1$ - + private static final String TYPE_LOCAL = "local"; //$NON-NLS-1$ private static final String TYPE_REMOTE = "remote"; //$NON-NLS-1$ - public Collection<ArchetypeCatalogFactory> readArchetypeCatalogs(InputStream is) throws IOException { Collection<ArchetypeCatalogFactory> catalogs = new ArrayList<ArchetypeCatalogFactory>(); try { @@ -86,17 +85,19 @@ public class ArchetypeCatalogsWriter { return catalogs; } - public void writeArchetypeCatalogs(final Collection<ArchetypeCatalogFactory> catalogs, OutputStream os) throws IOException { + public void writeArchetypeCatalogs(final Collection<ArchetypeCatalogFactory> catalogs, OutputStream os) + throws IOException { try { Transformer transformer = TransformerFactory.newInstance().newTransformer(); - transformer.transform(new SAXSource(new XMLArchetypeCatalogsWriter(catalogs), new InputSource()), new StreamResult(os)); + transformer.transform(new SAXSource(new XMLArchetypeCatalogsWriter(catalogs), new InputSource()), + new StreamResult(os)); } catch(TransformerFactoryConfigurationError ex) { throw new IOException(NLS.bind(Messages.ArchetypeCatalogsWriter_error_write, ex.getMessage())); } catch(TransformerException ex) { throw new IOException(NLS.bind(Messages.ArchetypeCatalogsWriter_error_write, ex.getMessage())); - + } } @@ -151,13 +152,13 @@ public class ArchetypeCatalogsWriter { String type = attributes.getValue(ATT_CATALOG_TYPE); if(TYPE_LOCAL.equals(type)) { String path = attributes.getValue(ATT_CATALOG_LOCATION); - if(path!=null) { + if(path != null) { String description = attributes.getValue(ATT_CATALOG_DESCRIPTION); catalogs.add(new LocalCatalogFactory(path, description, true)); } } else if(TYPE_REMOTE.equals(type)) { String url = attributes.getValue(ATT_CATALOG_LOCATION); - if(url!=null) { + if(url != null) { String description = attributes.getValue(ATT_CATALOG_DESCRIPTION); catalogs.add(new RemoteCatalogFactory(url, description, true)); } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/archetype/ArchetypeManager.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/archetype/ArchetypeManager.java index cdd6b7bf..ebdacd12 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/archetype/ArchetypeManager.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/archetype/ArchetypeManager.java @@ -45,8 +45,6 @@ import org.eclipse.m2e.core.internal.MavenPluginActivator; import org.eclipse.m2e.core.internal.archetype.ArchetypeCatalogFactory.RemoteCatalogFactory; - - /** * Archetype Manager * @@ -57,7 +55,7 @@ public class ArchetypeManager { private final Map<String, ArchetypeCatalogFactory> catalogs = new LinkedHashMap<String, ArchetypeCatalogFactory>(); private final File configFile; - + private final ArchetypeCatalogsWriter writer; public ArchetypeManager(File configFile) { @@ -81,11 +79,11 @@ public class ArchetypeManager { public void removeArchetypeCatalogFactory(String catalogId) { catalogs.remove(catalogId); } - + public ArchetypeCatalogFactory getArchetypeCatalogFactory(String catalogId) { return catalogs.get(catalogId); } - + public void readCatalogs() throws IOException { if(configFile.exists()) { InputStream is = null; @@ -100,7 +98,7 @@ public class ArchetypeManager { } } } - + public void saveCatalogs() throws IOException { OutputStream os = null; try { @@ -114,15 +112,16 @@ public class ArchetypeManager { /** * @return the archetypeCatalogFactory containing the archetype parameter, null if none was found. */ - public <T extends ArchetypeCatalogFactory> T findParentCatalogFactory(Archetype a, Class<T> type) throws CoreException { - if (a!=null){ - for (ArchetypeCatalogFactory factory : getArchetypeCatalogs()) { - if ((type.isAssignableFrom(factory.getClass())) - //temporary hack to get around https://issues.sonatype.org/browse/MNGECLIPSE-1792 - //cf. MavenProjectWizardArchetypePage.getAllArchetypes - && !(factory.getDescription() != null && factory.getDescription().startsWith("Test")) //$NON-NLS-1$ - && factory.getArchetypeCatalog().getArchetypes().contains(a)) { - return (T)factory; + public <T extends ArchetypeCatalogFactory> T findParentCatalogFactory(Archetype a, Class<T> type) + throws CoreException { + if(a != null) { + for(ArchetypeCatalogFactory factory : getArchetypeCatalogs()) { + if((type.isAssignableFrom(factory.getClass())) + //temporary hack to get around https://issues.sonatype.org/browse/MNGECLIPSE-1792 + //cf. MavenProjectWizardArchetypePage.getAllArchetypes + && !(factory.getDescription() != null && factory.getDescription().startsWith("Test")) //$NON-NLS-1$ + && factory.getArchetypeCatalog().getArchetypes().contains(a)) { + return (T) factory; } } } @@ -130,27 +129,29 @@ public class ArchetypeManager { } /** - * Gets the remote {@link ArtifactRepository} of the given {@link Archetype}, or null if none is found. - * The repository url is extracted from {@link Archetype#getRepository()}, or, if it has none, the remote catalog the archetype is found in. - * The {@link ArtifactRepository} id is set to <strong>archetypeId+"-repo"</strong>, to enable authentication on that repository. - * - * @see <a href="http://maven.apache.org/archetype/maven-archetype-plugin/faq.html">http://maven.apache.org/archetype/maven-archetype-plugin/faq.html</a> + * Gets the remote {@link ArtifactRepository} of the given {@link Archetype}, or null if none is found. The repository + * url is extracted from {@link Archetype#getRepository()}, or, if it has none, the remote catalog the archetype is + * found in. The {@link ArtifactRepository} id is set to <strong>archetypeId+"-repo"</strong>, to enable + * authentication on that repository. + * + * @see <a + * href="http://maven.apache.org/archetype/maven-archetype-plugin/faq.html">http://maven.apache.org/archetype/maven-archetype-plugin/faq.html</a> * @param archetype * @return the remote {@link ArtifactRepository} of the given {@link Archetype}, or null if none is found. * @throws CoreException */ public ArtifactRepository getArchetypeRepository(Archetype archetype) throws CoreException { String repoUrl = archetype.getRepository(); - if (repoUrl == null) { + if(repoUrl == null) { RemoteCatalogFactory catalogFactory = findParentCatalogFactory(archetype, RemoteCatalogFactory.class); - if (catalogFactory != null ) { + if(catalogFactory != null) { repoUrl = catalogFactory.getRepositoryUrl(); } } - return repoUrl == null?null:MavenPlugin.getMaven().createArtifactRepository(archetype.getArtifactId()+"-repo", repoUrl); //$NON-NLS-1$ + return repoUrl == null ? null : MavenPlugin.getMaven().createArtifactRepository( + archetype.getArtifactId() + "-repo", repoUrl); //$NON-NLS-1$ } - /** * Gets the required properties of an {@link Archetype}. * @@ -161,32 +162,33 @@ public class ArchetypeManager { * @throws UnknownArchetype thrown if no archetype is can be resolved * @throws CoreException */ - public List<?> getRequiredProperties(Archetype archetype, ArtifactRepository remoteArchetypeRepository, IProgressMonitor monitor) throws UnknownArchetype, CoreException { + public List<?> getRequiredProperties(Archetype archetype, ArtifactRepository remoteArchetypeRepository, + IProgressMonitor monitor) throws UnknownArchetype, CoreException { Assert.isNotNull(archetype, "Archetype can not be null"); - - if (monitor == null) { + + if(monitor == null) { monitor = new NullProgressMonitor(); } - + final String groupId = archetype.getGroupId(); final String artifactId = archetype.getArtifactId(); final String version = archetype.getVersion(); - + //XXX I'm not fond of that dependencies to MavenPlugin / MavenPluginActivator IMaven maven = MavenPlugin.getMaven(); ArtifactRepository localRepository = maven.getLocalRepository(); List<ArtifactRepository> repositories; - - if (remoteArchetypeRepository == null) { + + if(remoteArchetypeRepository == null) { repositories = maven.getArtifactRepositories(); } else { repositories = Collections.singletonList(remoteArchetypeRepository); } MavenSession session = maven.createSession(maven.createExecutionRequest(monitor), null); - + MavenSession oldSession = MavenPluginActivator.getDefault().setSession(session); ArchetypeArtifactManager aaMgr = MavenPluginActivator.getDefault().getArchetypeArtifactManager(); @@ -194,19 +196,10 @@ public class ArchetypeManager { List<?> properties = null; try { - if(aaMgr.isFileSetArchetype(groupId, - artifactId, - version, - null, - localRepository, - repositories)) { - ArchetypeDescriptor descriptor = aaMgr.getFileSetArchetypeDescriptor(groupId, - artifactId, - version, - null, - localRepository, - repositories); - + if(aaMgr.isFileSetArchetype(groupId, artifactId, version, null, localRepository, repositories)) { + ArchetypeDescriptor descriptor = aaMgr.getFileSetArchetypeDescriptor(groupId, artifactId, version, null, + localRepository, repositories); + properties = descriptor.getRequiredProperties(); } } finally { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/AbstractEclipseBuildContext.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/AbstractEclipseBuildContext.java index 60890777..fd2827a4 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/AbstractEclipseBuildContext.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/AbstractEclipseBuildContext.java @@ -104,11 +104,11 @@ public abstract class AbstractEclipseBuildContext implements BuildContext { protected IResource getResource(File file) { IPath relpath = getRelativePath(file); - if (relpath == null) { + if(relpath == null) { return null; } IResource baseResource = getBaseResource(); - if (baseResource instanceof IContainer) { + if(baseResource instanceof IContainer) { return ((IContainer) baseResource).findMember(relpath); } return null; @@ -173,8 +173,8 @@ public abstract class AbstractEclipseBuildContext implements BuildContext { public boolean isUptodate(File target, File source) { IResource targetResource = getResource(target); IResource sourceResource = getResource(source); - return targetResource != null && targetResource.isAccessible() && !hasDelta(target) - && sourceResource != null && sourceResource.isAccessible() && !hasDelta(source) + return targetResource != null && targetResource.isAccessible() && !hasDelta(target) && sourceResource != null + && sourceResource.isAccessible() && !hasDelta(source) && targetResource.getLocalTimeStamp() >= sourceResource.getLocalTimeStamp(); } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/BuildProblemInfo.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/BuildProblemInfo.java index 52300fec..40e989b5 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/BuildProblemInfo.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/BuildProblemInfo.java @@ -8,12 +8,14 @@ * Contributors: * Sonatype, Inc. - initial API and implementation *******************************************************************************/ + package org.eclipse.m2e.core.internal.builder; import org.eclipse.m2e.core.internal.markers.MavenProblemInfo; import org.eclipse.m2e.core.internal.markers.SourceLocation; import org.eclipse.m2e.core.project.configurator.MojoExecutionKey; + class BuildProblemInfo extends MavenProblemInfo { public BuildProblemInfo(Throwable error, MojoExecutionKey mojoExecutionKey, SourceLocation markerLocation) { super( diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/ChangedFileOutputStream.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/ChangedFileOutputStream.java index 2017699a..17562b80 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/ChangedFileOutputStream.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/ChangedFileOutputStream.java @@ -23,19 +23,19 @@ import java.io.OutputStream; import org.sonatype.plexus.build.incremental.BuildContext; + /** - * Writes to the file only if content of the file is different. - * - * TODO. Current implementation defers actual writing to the output file until - * invocation of {@link #close()} method. This results in missed/ignored IOExceptions - * in some cases. First, {@link #flush()} method does not actually flush buffer to the disk. - * Second, any problems writing to the file will be reported as IOException - * thrown by {@link #close()}, which are generally ignored. + * Writes to the file only if content of the file is different. TODO. Current implementation defers actual writing to + * the output file until invocation of {@link #close()} method. This results in missed/ignored IOExceptions in some + * cases. First, {@link #flush()} method does not actually flush buffer to the disk. Second, any problems writing to the + * file will be reported as IOException thrown by {@link #close()}, which are generally ignored. */ public class ChangedFileOutputStream extends OutputStream { private final File file; + private final BuildContext buildContext; + private final OutputStream os; private ByteArrayOutputStream buffer = new ByteArrayOutputStream(); @@ -72,11 +72,11 @@ public class ChangedFileOutputStream extends OutputStream { boolean needToWrite = false; // XXX harden - if (file.exists()) { + if(file.exists()) { BufferedInputStream is = new BufferedInputStream(new FileInputStream(file)); try { - for (int i = 0; i < bytes.length; i++) { - if (bytes[i] != is.read()) { + for(int i = 0; i < bytes.length; i++ ) { + if(bytes[i] != is.read()) { needToWrite = true; break; } @@ -84,17 +84,17 @@ public class ChangedFileOutputStream extends OutputStream { } finally { try { is.close(); - } catch (IOException e) { - + } catch(IOException e) { + } } } else { // file does not exist - needToWrite = true; + needToWrite = true; } - if (needToWrite) { - if (buildContext != null) { + if(needToWrite) { + if(buildContext != null) { buildContext.refresh(file); } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/DeltaProvider.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/DeltaProvider.java index 03423509..47c8f666 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/DeltaProvider.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/DeltaProvider.java @@ -8,11 +8,13 @@ * Contributors: * Sonatype, Inc. - initial API and implementation *******************************************************************************/ + package org.eclipse.m2e.core.internal.builder; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResourceDelta; + interface DeltaProvider { public IResourceDelta getDelta(IProject project); -}
\ No newline at end of file +} diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/EclipseBuildContext.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/EclipseBuildContext.java index 51a0871e..25f85177 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/EclipseBuildContext.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/EclipseBuildContext.java @@ -27,15 +27,16 @@ import org.sonatype.plexus.build.incremental.EmptyScanner; import org.eclipse.m2e.core.internal.Messages; + /** * EclipseBuildContext - * + * * @author igor */ public class EclipseBuildContext extends AbstractEclipseBuildContext { protected final IProject project; - + public EclipseBuildContext(IProject project, Map<String, Object> context) { super(context); this.project = project; @@ -60,9 +61,9 @@ public class EclipseBuildContext extends AbstractEclipseBuildContext { public Scanner newScanner(File basedir) { IPath relpath = getRelativePath(basedir); - if (relpath !=null) { + if(relpath != null) { IResource resource = project.findMember(relpath); - return resource != null? new ResourceScanner(resource): new EmptyScanner(basedir); + return resource != null ? new ResourceScanner(resource) : new EmptyScanner(basedir); } File projectBasedir = getBaseResource().getFullPath().toFile(); addMessage(projectBasedir, -1, -1, NLS.bind(Messages.buildConextFileAccessOutsideOfProjectBasedir, basedir), diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/EclipseIncrementalBuildContext.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/EclipseIncrementalBuildContext.java index 5ea17e6d..f40122b1 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/EclipseIncrementalBuildContext.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/EclipseIncrementalBuildContext.java @@ -26,6 +26,7 @@ import org.codehaus.plexus.util.Scanner; import org.sonatype.plexus.build.incremental.EmptyScanner; + public class EclipseIncrementalBuildContext extends AbstractEclipseBuildContext { private final IResourceDelta delta; @@ -46,8 +47,8 @@ public class EclipseIncrementalBuildContext extends AbstractEclipseBuildContext @SuppressWarnings({"unchecked", "rawtypes"}) public boolean hasDelta(List relPaths) { - for (String relPath : (List<String>) relPaths) { - if (hasDelta(relPath)) { + for(String relPath : (List<String>) relPaths) { + if(hasDelta(relPath)) { return true; } } @@ -61,7 +62,7 @@ public class EclipseIncrementalBuildContext extends AbstractEclipseBuildContext public Scanner newDeleteScanner(File basedir) { IResourceDelta reldelta = getDelta(basedir); - if (reldelta == null || !isRemove(reldelta)) { + if(reldelta == null || !isRemove(reldelta)) { return new EmptyScanner(basedir); } @@ -73,10 +74,10 @@ public class EclipseIncrementalBuildContext extends AbstractEclipseBuildContext } public Scanner newScanner(File basedir, boolean ignoreDelta) { - if (!ignoreDelta) { + if(!ignoreDelta) { IResourceDelta reldelta = getDelta(basedir); - if (reldelta == null || !isContentChange(reldelta)) { + if(reldelta == null || !isContentChange(reldelta)) { return new EmptyScanner(basedir); } @@ -90,7 +91,7 @@ public class EclipseIncrementalBuildContext extends AbstractEclipseBuildContext private IResourceDelta getDelta(File file) { IPath relpath = getRelativePath(file); - if (relpath == null) { + if(relpath == null) { return null; } return delta.findMember(relpath); @@ -98,12 +99,12 @@ public class EclipseIncrementalBuildContext extends AbstractEclipseBuildContext static boolean isContentChange(IResourceDelta delta) { int kind = delta.getKind(); - if (IResourceDelta.ADDED == kind) { + if(IResourceDelta.ADDED == kind) { return true; } - - if (IResourceDelta.CHANGED == kind) { - if (delta.getResource() instanceof IContainer) { + + if(IResourceDelta.CHANGED == kind) { + if(delta.getResource() instanceof IContainer) { return true; } @@ -117,19 +118,18 @@ public class EclipseIncrementalBuildContext extends AbstractEclipseBuildContext static boolean isRemove(IResourceDelta delta) { int kind = delta.getKind(); - - if (IResourceDelta.REMOVED == kind) { + + if(IResourceDelta.REMOVED == kind) { return true; } - - if (IResourceDelta.CHANGED == kind && delta.getResource() instanceof IContainer) { + + if(IResourceDelta.CHANGED == kind && delta.getResource() instanceof IContainer) { return true; } - + return false; } - @Override protected IResource getBaseResource() { return delta.getResource(); diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/InternalBuildParticipant.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/InternalBuildParticipant.java index b93a5e00..91d7b7f0 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/InternalBuildParticipant.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/InternalBuildParticipant.java @@ -24,11 +24,15 @@ import org.sonatype.plexus.build.incremental.BuildContext; import org.eclipse.m2e.core.project.IMavenProjectFacade; + public abstract class InternalBuildParticipant { - + private IMavenProjectFacade facade; + private DeltaProvider getDeltaCallback; + private MavenSession session; + private AbstractEclipseBuildContext buildContext; protected IMavenProjectFacade getMavenProjectFacade() { @@ -56,7 +60,7 @@ public abstract class InternalBuildParticipant { } public abstract Set<IProject> build(int kind, IProgressMonitor monitor) throws Exception; - + @SuppressWarnings("unused") public void clean(IProgressMonitor monitor) throws CoreException { // default implementation does nothing diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/MavenNature.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/MavenNature.java index 6041622b..870e65de 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/MavenNature.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/MavenNature.java @@ -40,8 +40,7 @@ public class MavenNature implements IProjectNature { */ public void deconfigure() throws CoreException { IProjectDescription description = project.getDescription(); - MavenPlugin.getProjectConfigurationManager() - .removeMavenBuilder(project, description, null /*monitor*/); + MavenPlugin.getProjectConfigurationManager().removeMavenBuilder(project, description, null /*monitor*/); } /* diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/ResourceDeltaScanner.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/ResourceDeltaScanner.java index 95433e53..336de8ef 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/ResourceDeltaScanner.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/ResourceDeltaScanner.java @@ -24,6 +24,7 @@ import org.eclipse.core.runtime.CoreException; import org.codehaus.plexus.util.AbstractScanner; + public class ResourceDeltaScanner extends AbstractScanner { protected final IResourceDelta delta; @@ -33,7 +34,7 @@ public class ResourceDeltaScanner extends AbstractScanner { protected final List<String> includedFiles = new ArrayList<String>(); protected final boolean deleted; - + public ResourceDeltaScanner(IResourceDelta delta, boolean deleted) { this.delta = delta; this.deleted = deleted; @@ -63,15 +64,15 @@ public class ResourceDeltaScanner extends AbstractScanner { @SuppressWarnings("synthetic-access") public boolean visit(IResourceDelta delta) { String relpath = getRelativePath(delta); - if (isInteresting(delta) && isIncluded(relpath) && !isExcluded(relpath)) { + if(isInteresting(delta) && isIncluded(relpath) && !isExcluded(relpath)) { IResource resource = delta.getResource(); - if (resource instanceof IContainer) { + if(resource instanceof IContainer) { includedDirectories.add(relpath); } else { includedFiles.add(relpath); } return true; - } else if (delta.getResource() instanceof IFolder) { + } else if(delta.getResource() instanceof IFolder) { return couldHoldIncluded(relpath); } @@ -82,7 +83,8 @@ public class ResourceDeltaScanner extends AbstractScanner { } protected boolean isInteresting(IResourceDelta delta) { - return deleted? EclipseIncrementalBuildContext.isRemove(delta): EclipseIncrementalBuildContext.isContentChange(delta); + return deleted ? EclipseIncrementalBuildContext.isRemove(delta) : EclipseIncrementalBuildContext + .isContentChange(delta); } protected String getRelativePath(IResourceDelta delta) { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/ResourceScanner.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/ResourceScanner.java index eff507d3..479735ce 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/ResourceScanner.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/builder/ResourceScanner.java @@ -23,19 +23,20 @@ import org.eclipse.core.runtime.CoreException; import org.codehaus.plexus.util.AbstractScanner; + /** * WorkspaceScanner - * + * * @author igor */ public class ResourceScanner extends AbstractScanner { - + protected final IResource resource; protected final List<String> includedDirectories = new ArrayList<String>(); protected final List<String> includedFiles = new ArrayList<String>(); - + public ResourceScanner(IResource resource) { this.resource = resource; } @@ -63,14 +64,14 @@ public class ResourceScanner extends AbstractScanner { public boolean visit(IResource resource) { String relpath = getRelativePath(resource); - if (isIncluded(relpath) && !isExcluded(relpath)) { - if (resource instanceof IContainer) { + if(isIncluded(relpath) && !isExcluded(relpath)) { + if(resource instanceof IContainer) { includedDirectories.add(relpath); } else { includedFiles.add(relpath); } return true; - } else if (resource instanceof IFolder) { + } else if(resource instanceof IFolder) { return couldHoldIncluded(relpath); } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/content/PomFileContentDescriber.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/content/PomFileContentDescriber.java index 49c9a868..aaa558cb 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/content/PomFileContentDescriber.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/content/PomFileContentDescriber.java @@ -37,11 +37,12 @@ public final class PomFileContentDescriber extends XMLContentDescriber { * Determines the validation status for the given contents. * * @param contents the contents to be evaluated - * @return one of the following:<ul> - * <li><code>VALID</code></li>, - * <li><code>INVALID</code></li>, - * <li><code>INDETERMINATE</code></li> - * </ul> + * @return one of the following: + * <ul> + * <li><code>VALID</code></li>, + * <li><code>INVALID</code></li>, + * <li><code>INDETERMINATE</code></li> + * </ul> * @throws IOException */ private int checkCriteria(InputSource contents) throws IOException { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/content/PomHandler.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/content/PomHandler.java index 3ff2db65..0d5e029a 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/content/PomHandler.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/content/PomHandler.java @@ -133,7 +133,6 @@ public final class PomHandler extends DefaultHandler { return new InputSource(new StringReader("")); //$NON-NLS-1$ } - @Override public final void startElement(final String uri, final String elementName, final String qualifiedName, final Attributes attributes) throws SAXException { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/content/TextContentDescriber.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/content/TextContentDescriber.java index bfe4da15..9a6d8acc 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/content/TextContentDescriber.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/content/TextContentDescriber.java @@ -19,15 +19,13 @@ import org.eclipse.core.runtime.QualifiedName; import org.eclipse.core.runtime.content.IContentDescription; import org.eclipse.core.runtime.content.ITextContentDescriber; + /** - * A copy of org.eclipse.core.internal.content.TextContentDescriber to avoid internal API use. - * - * This class provides internal basis for text-based content describers. - * + * A copy of org.eclipse.core.internal.content.TextContentDescriber to avoid internal API use. This class provides + * internal basis for text-based content describers. * <p> - * Note: do not add protected/public members to this class if you don't intend to - * make them public API. - * </p> + * Note: do not add protected/public members to this class if you don't intend to make them public API. + * </p> * * @see org.eclipse.core.runtime.content.XMLRootElementContentDescriber2 * @since 3.0 @@ -51,10 +49,10 @@ class TextContentDescriber implements ITextContentDescriber { * @see org.eclipse.core.runtime.content.IContentDescriber#describe(java.io.InputStream, org.eclipse.core.runtime.content.IContentDescription) */ public int describe(InputStream contents, IContentDescription description) throws IOException { - if (description == null || !description.isRequested(IContentDescription.BYTE_ORDER_MARK)) + if(description == null || !description.isRequested(IContentDescription.BYTE_ORDER_MARK)) return INDETERMINATE; byte[] bom = getByteOrderMark(contents); - if (bom != null) + if(bom != null) description.setProperty(IContentDescription.BYTE_ORDER_MARK, bom); // we want to be pretty loose on detecting the text content type return INDETERMINATE; @@ -70,18 +68,18 @@ class TextContentDescriber implements ITextContentDescriber { byte[] getByteOrderMark(InputStream input) throws IOException { int first = input.read(); - if (first == 0xEF) { + if(first == 0xEF) { //look for the UTF-8 Byte Order Mark (BOM) int second = input.read(); int third = input.read(); - if (second == 0xBB && third == 0xBF) + if(second == 0xBB && third == 0xBF) return IContentDescription.BOM_UTF_8; - } else if (first == 0xFE) { + } else if(first == 0xFE) { //look for the UTF-16 BOM - if (input.read() == 0xFF) + if(input.read() == 0xFF) return IContentDescription.BOM_UTF_16BE; - } else if (first == 0xFF) { - if (input.read() == 0xFE) + } else if(first == 0xFF) { + if(input.read() == 0xFE) return IContentDescription.BOM_UTF_16LE; } return null; diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/content/XMLContentDescriber.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/content/XMLContentDescriber.java index ed115a0a..3caad11e 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/content/XMLContentDescriber.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/content/XMLContentDescriber.java @@ -20,56 +20,57 @@ import org.eclipse.core.runtime.QualifiedName; import org.eclipse.core.runtime.content.IContentDescription; import org.eclipse.core.runtime.content.ITextContentDescriber; + /** - * A copy of org.eclipse.core.internal.content.XMLContentDescriber to avoid internal API use. - * - * A content interpreter for XML files. - * This class provides internal basis for XML-based content describers. + * A copy of org.eclipse.core.internal.content.XMLContentDescriber to avoid internal API use. A content interpreter for + * XML files. This class provides internal basis for XML-based content describers. * <p> - * Note: do not add protected/public members to this class if you don't intend to - * make them public API. + * Note: do not add protected/public members to this class if you don't intend to make them public API. * </p> - * + * * @see org.eclipse.core.runtime.content.XMLRootElementContentDescriber2 * @see "http://www.w3.org/TR/REC-xml *" */ class XMLContentDescriber extends TextContentDescriber implements ITextContentDescriber { - private static final QualifiedName[] SUPPORTED_OPTIONS = new QualifiedName[] {IContentDescription.CHARSET, IContentDescription.BYTE_ORDER_MARK}; + private static final QualifiedName[] SUPPORTED_OPTIONS = new QualifiedName[] {IContentDescription.CHARSET, + IContentDescription.BYTE_ORDER_MARK}; + private static final String ENCODING = "encoding="; //$NON-NLS-1$ + private static final String XML_PREFIX = "<?xml "; //$NON-NLS-1$ public int describe(InputStream input, IContentDescription description) throws IOException { byte[] bom = getByteOrderMark(input); String xmlDeclEncoding = "UTF-8"; //$NON-NLS-1$ input.reset(); - if (bom != null) { - if (bom == IContentDescription.BOM_UTF_16BE) + if(bom != null) { + if(bom == IContentDescription.BOM_UTF_16BE) xmlDeclEncoding = "UTF-16BE"; //$NON-NLS-1$ - else if (bom == IContentDescription.BOM_UTF_16LE) + else if(bom == IContentDescription.BOM_UTF_16LE) xmlDeclEncoding = "UTF-16LE"; //$NON-NLS-1$ // skip BOM to make comparison simpler input.skip(bom.length); // set the BOM in the description if requested - if (description != null && description.isRequested(IContentDescription.BYTE_ORDER_MARK)) + if(description != null && description.isRequested(IContentDescription.BYTE_ORDER_MARK)) description.setProperty(IContentDescription.BYTE_ORDER_MARK, bom); } byte[] xmlPrefixBytes = XML_PREFIX.getBytes(xmlDeclEncoding); byte[] prefix = new byte[xmlPrefixBytes.length]; - if (input.read(prefix) < prefix.length) + if(input.read(prefix) < prefix.length) // there is not enough info to say anything return INDETERMINATE; - for (int i = 0; i < prefix.length; i++) - if (prefix[i] != xmlPrefixBytes[i]) + for(int i = 0; i < prefix.length; i++ ) + if(prefix[i] != xmlPrefixBytes[i]) // we don't have a XMLDecl... there is not enough info to say anything return INDETERMINATE; - if (description == null) + if(description == null) return VALID; // describe charset if requested - if (description.isRequested(IContentDescription.CHARSET)) { + if(description.isRequested(IContentDescription.CHARSET)) { String fullXMLDecl = readFullXMLDecl(input, xmlDeclEncoding); - if (fullXMLDecl != null) { + if(fullXMLDecl != null) { String charset = getCharset(fullXMLDecl); - if (charset != null && !"UTF-8".equalsIgnoreCase(charset)) //$NON-NLS-1$ + if(charset != null && !"UTF-8".equalsIgnoreCase(charset)) //$NON-NLS-1$ // only set property if value is not default (avoid using a non-default content description) description.setProperty(IContentDescription.CHARSET, getCharset(fullXMLDecl)); } @@ -82,8 +83,8 @@ class XMLContentDescriber extends TextContentDescriber implements ITextContentDe int c = 0; // looks for XMLDecl ending char (?) int read = 0; - while (read < xmlDecl.length && (c = input.read()) != -1 && c != '?') - xmlDecl[read++] = (byte) c; + while(read < xmlDecl.length && (c = input.read()) != -1 && c != '?') + xmlDecl[read++ ] = (byte) c; return c == '?' ? new String(xmlDecl, 0, read, unicodeEncoding) : null; } @@ -91,33 +92,33 @@ class XMLContentDescriber extends TextContentDescriber implements ITextContentDe BufferedReader reader = new BufferedReader(input); String line = reader.readLine(); // end of stream - if (line == null) + if(line == null) return INDETERMINATE; // XMLDecl should be the first string (no blanks allowed) - if (!line.startsWith(XML_PREFIX)) + if(!line.startsWith(XML_PREFIX)) return INDETERMINATE; - if (description == null) + if(description == null) return VALID; // describe charset if requested - if ((description.isRequested(IContentDescription.CHARSET))) + if((description.isRequested(IContentDescription.CHARSET))) description.setProperty(IContentDescription.CHARSET, getCharset(line)); return VALID; } private String getCharset(String firstLine) { int encodingPos = firstLine.indexOf(ENCODING); - if (encodingPos == -1) + if(encodingPos == -1) return null; char quoteChar = '"'; int firstQuote = firstLine.indexOf(quoteChar, encodingPos); - if (firstQuote == -1) { + if(firstQuote == -1) { quoteChar = '\''; firstQuote = firstLine.indexOf(quoteChar, encodingPos); } - if (firstQuote == -1 || firstLine.length() == firstQuote - 1) + if(firstQuote == -1 || firstLine.length() == firstQuote - 1) return null; int secondQuote = firstLine.indexOf(quoteChar, firstQuote + 1); - if (secondQuote == -1) + if(secondQuote == -1) return null; return firstLine.substring(firstQuote + 1, secondQuote); } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/AbstractTransferListenerAdapter.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/AbstractTransferListenerAdapter.java index 6daedc2e..e94fdc43 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/AbstractTransferListenerAdapter.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/AbstractTransferListenerAdapter.java @@ -38,7 +38,8 @@ abstract class AbstractTransferListenerAdapter { protected long complete = 0; - private static final String[] units = {Messages.AbstractTransferListenerAdapter_byte, Messages.AbstractTransferListenerAdapter_kb, Messages.AbstractTransferListenerAdapter_mb}; + private static final String[] units = {Messages.AbstractTransferListenerAdapter_byte, + Messages.AbstractTransferListenerAdapter_kb, Messages.AbstractTransferListenerAdapter_mb}; protected AbstractTransferListenerAdapter(MavenImpl maven, IProgressMonitor monitor) { this.maven = maven; @@ -60,8 +61,8 @@ abstract class AbstractTransferListenerAdapter { } this.complete = 0; - - if (artifactUrl != null) { + + if(artifactUrl != null) { monitor.subTask(artifactUrl); } } @@ -85,7 +86,7 @@ abstract class AbstractTransferListenerAdapter { if(total != WagonConstants.UNKNOWN_LENGTH) { sb.append('/'); formatBytes(total, sb); - if (total > 0) { + if(total > 0) { sb.append(" ("); sb.append(100l * complete / total); sb.append("%)"); diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/ArtifactTransferListenerAdapter.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/ArtifactTransferListenerAdapter.java index 27e690d8..3fc952e1 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/ArtifactTransferListenerAdapter.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/ArtifactTransferListenerAdapter.java @@ -18,13 +18,13 @@ import org.sonatype.aether.transfer.TransferCancelledException; import org.sonatype.aether.transfer.TransferEvent; import org.sonatype.aether.transfer.TransferListener; + /** * ArtifactTransferListenerAdapter * * @author igor */ -public class ArtifactTransferListenerAdapter extends AbstractTransferListenerAdapter implements - TransferListener { +public class ArtifactTransferListenerAdapter extends AbstractTransferListenerAdapter implements TransferListener { ArtifactTransferListenerAdapter(MavenImpl maven, IProgressMonitor monitor) { super(maven, monitor); diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/ContextRepositorySystemSession.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/ContextRepositorySystemSession.java index 7ac41337..223e1b6a 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/ContextRepositorySystemSession.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/ContextRepositorySystemSession.java @@ -13,6 +13,7 @@ package org.eclipse.m2e.core.internal.embedder; import org.sonatype.aether.RepositorySystemSession; + public interface ContextRepositorySystemSession extends RepositorySystemSession { } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/DefaultMavenComponentContributor.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/DefaultMavenComponentContributor.java index 7948a497..36a600f2 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/DefaultMavenComponentContributor.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/DefaultMavenComponentContributor.java @@ -28,7 +28,8 @@ public class DefaultMavenComponentContributor implements IMavenComponentContribu binder.bind(MavenMetadataCache.class, EclipseMavenMetadataCache.class, null); binder.bind(PluginDependenciesResolver.class, EclipsePluginDependenciesResolver.class, null); binder.bind(BuildContext.class, EclipseBuildContext.class, null); - binder.bind(ClassRealmManagerDelegate.class, EclipseClassRealmManagerDelegate.class, EclipseClassRealmManagerDelegate.ROLE_HINT); + binder.bind(ClassRealmManagerDelegate.class, EclipseClassRealmManagerDelegate.class, + EclipseClassRealmManagerDelegate.ROLE_HINT); binder.bind(RepositoryListener.class, EclipseRepositoryListener.class, EclipseRepositoryListener.ROLE_HINT); binder.bind(ContextRepositorySystemSession.class, ContextRepositorySystemSessionImpl.class, null); } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/EclipseLogger.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/EclipseLogger.java index 72d6197f..5e5a1ac6 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/EclipseLogger.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/EclipseLogger.java @@ -18,6 +18,7 @@ import org.codehaus.plexus.logging.Logger; import org.eclipse.m2e.core.embedder.IMavenConfiguration; import org.eclipse.m2e.core.internal.Messages; + class EclipseLogger implements Logger { private static final org.slf4j.Logger log = LoggerFactory.getLogger(EclipseLogger.class); @@ -26,71 +27,71 @@ class EclipseLogger implements Logger { public EclipseLogger(IMavenConfiguration mavenConfiguration) { this.mavenConfiguration = mavenConfiguration; } - - public void debug( String msg ) { - if (isDebugEnabled()) { + + public void debug(String msg) { + if(isDebugEnabled()) { log.debug(msg); } } - public void debug( String msg, Throwable t) { - if (isDebugEnabled()) { + public void debug(String msg, Throwable t) { + if(isDebugEnabled()) { log.debug(msg + " " + t.getMessage(), t); } } - public void info( String msg ) { - if (isInfoEnabled()) { + public void info(String msg) { + if(isInfoEnabled()) { log.info(msg); } } - public void info( String msg, Throwable t ) { - if (isInfoEnabled()) { + public void info(String msg, Throwable t) { + if(isInfoEnabled()) { log.info(msg + " " + t.getMessage(), t); } } - public void warn( String msg ) { - if (isWarnEnabled()) { + public void warn(String msg) { + if(isWarnEnabled()) { log.warn(msg); } } - - public void warn( String msg, Throwable t ) { - if (isWarnEnabled()) { + + public void warn(String msg, Throwable t) { + if(isWarnEnabled()) { log.warn(msg + " " + t.getMessage(), t); } } - - public void fatalError( String msg ) { - if (isFatalErrorEnabled()) { + + public void fatalError(String msg) { + if(isFatalErrorEnabled()) { log.error(msg); } } - - public void fatalError( String msg, Throwable t ) { - if (isFatalErrorEnabled()) { + + public void fatalError(String msg, Throwable t) { + if(isFatalErrorEnabled()) { log.error(msg + " " + t.getMessage(), t); } } - - public void error( String msg ) { - if (isErrorEnabled()) { + + public void error(String msg) { + if(isErrorEnabled()) { log.error(msg); } } - - public void error( String msg, Throwable t ) { - if (isErrorEnabled()) { + + public void error(String msg, Throwable t) { + if(isErrorEnabled()) { log.error(msg + " " + t.getMessage(), t); } } - + public boolean isDebugEnabled() { return mavenConfiguration.isDebugOutput(); } - + public boolean isInfoEnabled() { return true; } @@ -107,7 +108,7 @@ class EclipseLogger implements Logger { return true; } - public void setThreshold( int treshold ) { + public void setThreshold(int treshold) { } public int getThreshold() { @@ -122,4 +123,3 @@ class EclipseLogger implements Logger { return Messages.EclipseLogger_name; } } - diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/EclipseRepositoryListener.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/EclipseRepositoryListener.java index 1b44268a..3cc5c2b9 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/EclipseRepositoryListener.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/EclipseRepositoryListener.java @@ -58,7 +58,7 @@ public class EclipseRepositoryListener extends AbstractRepositoryListener implem } private static String nes(String str) { - if (str == null || str.trim().length() == 0) { + if(str == null || str.trim().length() == 0) { return null; } return str.trim(); diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenExternalRuntime.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenExternalRuntime.java index 0c91e580..3603d7fb 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenExternalRuntime.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenExternalRuntime.java @@ -35,12 +35,12 @@ import org.eclipse.m2e.core.embedder.MavenRuntime; import org.eclipse.m2e.core.internal.IMavenConstants; import org.eclipse.m2e.core.internal.Messages; + /** * Maven external runtime using ClassWorlds launcher * * @author Eugene Kuleshov * @author Igor Fedorenko - * */ public class MavenExternalRuntime implements MavenRuntime { private static final Logger log = LoggerFactory.getLogger(MavenExternalRuntime.class); @@ -48,12 +48,11 @@ public class MavenExternalRuntime implements MavenRuntime { private static final String PROPERTY_MAVEN_HOME = "maven.home"; //$NON-NLS-1$ private final String location; - public MavenExternalRuntime(String location) { this.location = location; } - + public boolean isEditable() { return true; } @@ -61,15 +60,15 @@ public class MavenExternalRuntime implements MavenRuntime { public boolean isAvailable() { return new File(location, "bin").exists() && getLauncherClasspath() != null; //$NON-NLS-1$ } - + public String getLocation() { return location; } - + public String getSettings() { return location + File.separator + "conf" + File.separator + "settings.xml"; //$NON-NLS-1$ //$NON-NLS-2$ } - + public String getMainTypeName() { return "org.codehaus.classworlds.Launcher"; //$NON-NLS-1$ } @@ -78,8 +77,9 @@ public class MavenExternalRuntime implements MavenRuntime { return new File(location, "bin/m2.conf"); //$NON-NLS-1$ } - public void createLauncherConfiguration(final IMavenLauncherConfiguration collector, IProgressMonitor monitor) throws CoreException { - + public void createLauncherConfiguration(final IMavenLauncherConfiguration collector, IProgressMonitor monitor) + throws CoreException { + collector.addRealm(IMavenLauncherConfiguration.LAUNCHER_REALM); collector.addArchiveEntry(getLauncherClasspath()); @@ -87,6 +87,7 @@ public class MavenExternalRuntime implements MavenRuntime { public void addImportFrom(String relamName, String importSpec) { throw new UnsupportedOperationException(Messages.MavenExternalRuntime_exc_unsupported); } + public void addLoadFile(File file) { try { collector.addArchiveEntry(file.getAbsolutePath()); @@ -94,6 +95,7 @@ public class MavenExternalRuntime implements MavenRuntime { throw new ExceptionWrapper(ex); } } + public void addLoadURL(URL url) { try { collector.addArchiveEntry(url.toExternalForm()); @@ -101,9 +103,11 @@ public class MavenExternalRuntime implements MavenRuntime { throw new ExceptionWrapper(ex); } } + public void addRealm(String realmName) { collector.addRealm(realmName); } + public void setAppMain(String mainClassName, String mainRealmName) { collector.setMainType(mainClassName, mainRealmName); } @@ -113,7 +117,7 @@ public class MavenExternalRuntime implements MavenRuntime { properties.put(PROPERTY_MAVEN_HOME, location); ConfigurationParser parser = new ConfigurationParser(handler, properties); - + try { FileInputStream is = new FileInputStream(getLauncherConfigurationFile()); try { @@ -121,11 +125,12 @@ public class MavenExternalRuntime implements MavenRuntime { } finally { is.close(); } - } catch (Exception e) { - if (e instanceof ExceptionWrapper && e.getCause() instanceof CoreException) { + } catch(Exception e) { + if(e instanceof ExceptionWrapper && e.getCause() instanceof CoreException) { throw (CoreException) e.getCause(); } - throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, Messages.MavenExternalRuntime_error_cannot_parse, e)); + throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, + Messages.MavenExternalRuntime_error_cannot_parse, e)); } // XXX show error dialog and fail launch @@ -137,7 +142,7 @@ public class MavenExternalRuntime implements MavenRuntime { } return false; } - + public int hashCode() { return location.hashCode(); } @@ -148,6 +153,7 @@ public class MavenExternalRuntime implements MavenRuntime { private static class ExceptionWrapper extends RuntimeException { private static final long serialVersionUID = 8815818826909815028L; + public ExceptionWrapper(Exception cause) { super(cause); } @@ -157,15 +163,14 @@ public class MavenExternalRuntime implements MavenRuntime { File mavenHome = new File(location); DirectoryScanner ds = new DirectoryScanner(); ds.setBasedir(mavenHome); - ds.setIncludes(new String[] { - "core/boot/classworlds*.jar", // 2.0.4 //$NON-NLS-1$ + ds.setIncludes(new String[] {"core/boot/classworlds*.jar", // 2.0.4 //$NON-NLS-1$ "boot/classworlds*.jar", // 2.0.7 //$NON-NLS-1$ "boot/plexus-classworlds*.jar", // 2.1 as of 2008-03-27 //$NON-NLS-1$ }); ds.scan(); String[] includedFiles = ds.getIncludedFiles(); - if (includedFiles.length == 1) { + if(includedFiles.length == 1) { return new File(mavenHome, includedFiles[0]).getAbsolutePath(); } @@ -173,26 +178,33 @@ public class MavenExternalRuntime implements MavenRuntime { } public String getVersion() { - + class VersionHandler implements ConfigurationHandler { File mavenCore; + File uber; + public void addImportFrom(String relamName, String importSpec) { } + public void addLoadFile(File file) { - if (file.getName().contains("maven-core")) { //$NON-NLS-1$ + if(file.getName().contains("maven-core")) { //$NON-NLS-1$ mavenCore = file; - } else if (file.getName().endsWith("uber.jar")) { //$NON-NLS-1$ + } else if(file.getName().endsWith("uber.jar")) { //$NON-NLS-1$ uber = file; } } + public void addLoadURL(URL url) { } + public void addRealm(String realmName) { } + public void setAppMain(String mainClassName, String mainRealmName) { } - }; + } + ; VersionHandler handler = new VersionHandler(); Properties properties = new Properties(); @@ -209,20 +221,20 @@ public class MavenExternalRuntime implements MavenRuntime { } ZipFile zip = null; - if (handler.mavenCore != null) { + if(handler.mavenCore != null) { zip = new ZipFile(handler.mavenCore); - } else if (handler.uber != null) { + } else if(handler.uber != null) { zip = new ZipFile(handler.uber); } - if (zip != null) { + if(zip != null) { try { ZipEntry zipEntry = zip.getEntry("META-INF/maven/org.apache.maven/maven-core/pom.properties"); //$NON-NLS-1$ - if (zipEntry != null) { + if(zipEntry != null) { Properties pomProperties = new Properties(); pomProperties.load(zip.getInputStream(zipEntry)); - + String version = pomProperties.getProperty("version"); //$NON-NLS-1$ - if (version != null) { + if(version != null) { return version; } } @@ -230,11 +242,11 @@ public class MavenExternalRuntime implements MavenRuntime { zip.close(); } } - } catch (Exception e) { + } catch(Exception e) { // most likely a bad location, but who knows log.error("Could not parse classwords configuration file", e); } return Messages.MavenExternalRuntime_unknown; } -}
\ No newline at end of file +} diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenImpl.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenImpl.java index 76f28329..1201dfa6 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenImpl.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenImpl.java @@ -286,7 +286,7 @@ public class MavenImpl implements IMaven, IMavenConfigurationChangeListener { try { RepositorySystemSession session = ((DefaultMaven) lookup(Maven.class)).newRepositorySession(request); final String updatePolicy = mavenConfiguration.getGlobalUpdatePolicy(); - if (!request.isUpdateSnapshots() && updatePolicy != null) { + if(!request.isUpdateSnapshots() && updatePolicy != null) { session = new FilterRepositorySystemSession(session) { public String getUpdatePolicy() { return updatePolicy; @@ -328,7 +328,7 @@ public class MavenImpl implements IMaven, IMavenConfigurationChangeListener { project.setResolvedArtifacts(null); project.setArtifacts(artifacts.get(project)); MavenProjectMutableState snapshot = snapshots.get(project); - if (snapshot != null) { + if(snapshot != null) { snapshot.restore(project); } } @@ -343,20 +343,20 @@ public class MavenImpl implements IMaven, IMavenConfigurationChangeListener { lookup(BuildPluginManager.class).getPluginRealm(session, mojoDescriptor.getPluginDescriptor()); return clazz.cast(lookup(MavenPluginManager.class).getConfiguredMojo(Mojo.class, session, mojoExecution)); } catch(PluginContainerException ex) { - throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, - NLS.bind(Messages.MavenImpl_error_mojo, mojoExecution), ex)); + throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, NLS.bind( + Messages.MavenImpl_error_mojo, mojoExecution), ex)); } catch(PluginConfigurationException ex) { - throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, - NLS.bind(Messages.MavenImpl_error_mojo, mojoExecution), ex)); + throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, NLS.bind( + Messages.MavenImpl_error_mojo, mojoExecution), ex)); } catch(ClassCastException ex) { - throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, - NLS.bind(Messages.MavenImpl_error_mojo, mojoExecution), ex)); + throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, NLS.bind( + Messages.MavenImpl_error_mojo, mojoExecution), ex)); } catch(PluginResolutionException ex) { - throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, - NLS.bind(Messages.MavenImpl_error_mojo, mojoExecution), ex)); + throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, NLS.bind( + Messages.MavenImpl_error_mojo, mojoExecution), ex)); } catch(PluginManagerException ex) { - throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, - NLS.bind(Messages.MavenImpl_error_mojo, mojoExecution), ex)); + throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, NLS.bind( + Messages.MavenImpl_error_mojo, mojoExecution), ex)); } } @@ -367,14 +367,16 @@ public class MavenImpl implements IMaven, IMavenConfigurationChangeListener { public MavenExecutionPlan calculateExecutionPlan(MavenSession session, MavenProject project, List<String> goals, boolean setup, IProgressMonitor monitor) throws CoreException { try { - return lookup(LifecycleExecutor.class).calculateExecutionPlan(session, setup, goals.toArray(new String[goals.size()])); + return lookup(LifecycleExecutor.class).calculateExecutionPlan(session, setup, + goals.toArray(new String[goals.size()])); } catch(Exception ex) { throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, NLS.bind( Messages.MavenImpl_error_calc_build_plan, ex.getMessage()), ex)); } } - - public MojoExecution setupMojoExecution(MavenSession session, MavenProject project, MojoExecution execution) throws CoreException { + + public MojoExecution setupMojoExecution(MavenSession session, MavenProject project, MojoExecution execution) + throws CoreException { MojoExecution clone = new MojoExecution(execution.getPlugin(), execution.getGoal(), execution.getExecutionId()); clone.setMojoDescriptor(execution.getMojoDescriptor()); if(execution.getConfiguration() != null) { @@ -419,8 +421,7 @@ public class MavenImpl implements IMaven, IMavenConfigurationChangeListener { boolean reload = force_reload || settings == null; if(!reload && userSettingsFile != null) { - reload = userSettingsFile.lastModified() != settings_timestamp - || userSettingsFile.length() != settings_length; + reload = userSettingsFile.lastModified() != settings_timestamp || userSettingsFile.length() != settings_length; } if(reload) { @@ -460,8 +461,8 @@ public class MavenImpl implements IMaven, IMavenConfigurationChangeListener { try { return lookup(SettingsBuilder.class).build(request).getEffectiveSettings(); } catch(SettingsBuildingException ex) { - throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, Messages.MavenImpl_error_read_settings, - ex)); + throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, + Messages.MavenImpl_error_read_settings, ex)); } } @@ -469,8 +470,8 @@ public class MavenImpl implements IMaven, IMavenConfigurationChangeListener { try { lookup(SettingsWriter.class).write(out, null, settings); } catch(IOException ex) { - throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, Messages.MavenImpl_error_write_settings, - ex)); + throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, + Messages.MavenImpl_error_write_settings, ex)); } } @@ -528,7 +529,8 @@ public class MavenImpl implements IMaven, IMavenConfigurationChangeListener { try { return lookup(ModelReader.class).read(in, null); } catch(IOException e) { - throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, Messages.MavenImpl_error_read_pom, e)); + throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, + Messages.MavenImpl_error_read_pom, e)); } } @@ -541,7 +543,8 @@ public class MavenImpl implements IMaven, IMavenConfigurationChangeListener { IOUtil.close(is); } } catch(IOException e) { - throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, Messages.MavenImpl_error_read_pom, e)); + throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, + Messages.MavenImpl_error_read_pom, e)); } } @@ -549,7 +552,8 @@ public class MavenImpl implements IMaven, IMavenConfigurationChangeListener { try { lookup(ModelWriter.class).write(out, null, model); } catch(IOException ex) { - throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, Messages.MavenImpl_error_write_pom, ex)); + throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, + Messages.MavenImpl_error_write_pom, ex)); } } @@ -562,11 +566,11 @@ public class MavenImpl implements IMaven, IMavenConfigurationChangeListener { configuration.setRepositorySession(createRepositorySession(request)); return lookup(ProjectBuilder.class).build(pomFile, configuration).getProject(); } catch(ProjectBuildingException ex) { - throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, Messages.MavenImpl_error_read_project, - ex)); + throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, + Messages.MavenImpl_error_read_project, ex)); } catch(MavenExecutionRequestPopulationException ex) { - throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, Messages.MavenImpl_error_read_project, - ex)); + throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, + Messages.MavenImpl_error_read_project, ex)); } } @@ -642,8 +646,8 @@ public class MavenImpl implements IMaven, IMavenConfigurationChangeListener { return resolve(artifact, remoteRepositories, monitor); } - public Artifact resolve(Artifact artifact, List<ArtifactRepository> remoteRepositories, - IProgressMonitor monitor) throws CoreException { + public Artifact resolve(Artifact artifact, List<ArtifactRepository> remoteRepositories, IProgressMonitor monitor) + throws CoreException { if(remoteRepositories == null) { try { remoteRepositories = getArtifactRepositories(); @@ -691,12 +695,12 @@ public class MavenImpl implements IMaven, IMavenConfigurationChangeListener { } } if(members.isEmpty()) { - members.add(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, NLS.bind(Messages.MavenImpl_error_missing, artifact), null)); + members.add(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, NLS.bind(Messages.MavenImpl_error_missing, + artifact), null)); } IStatus[] newMembers = members.toArray(new IStatus[members.size()]); throw new CoreException(new MultiStatus(IMavenConstants.PLUGIN_ID, -1, newMembers, NLS.bind( - Messages.MavenImpl_error_resolve, artifact.toString()), - null)); + Messages.MavenImpl_error_resolve, artifact.toString()), null)); } return artifact; @@ -924,11 +928,11 @@ public class MavenImpl implements IMaven, IMavenConfigurationChangeListener { plexus.getContainerRealm(), expressionEvaluator, null); return type.cast(value); } catch(ComponentConfigurationException ex) { - throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, - Messages.MavenImpl_error_param, ex)); + throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, Messages.MavenImpl_error_param, + ex)); } catch(ClassCastException ex) { - throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, - Messages.MavenImpl_error_param, ex)); + throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, Messages.MavenImpl_error_param, + ex)); } } @@ -1007,7 +1011,7 @@ public class MavenImpl implements IMaven, IMavenConfigurationChangeListener { private void injectSettings(ArrayList<ArtifactRepository> repositories) throws CoreException { Settings settings = getSettings(); - RepositorySystem repositorySystem = lookup(RepositorySystem.class); + RepositorySystem repositorySystem = lookup(RepositorySystem.class); repositorySystem.injectMirror(repositories, getMirrors()); repositorySystem.injectProxy(repositories, settings.getProxies()); repositorySystem.injectAuthentication(repositories, settings.getServers()); @@ -1033,8 +1037,8 @@ public class MavenImpl implements IMaven, IMavenConfigurationChangeListener { ArtifactRepository artifactRepository = lookup(RepositorySystem.class).buildArtifactRepository(repository); artifactRepositories.add(artifactRepository); } catch(InvalidRepositoryException ex) { - throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, Messages.MavenImpl_error_read_settings, - ex)); + throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, + Messages.MavenImpl_error_read_settings, ex)); } } } @@ -1180,15 +1184,14 @@ public class MavenImpl implements IMaven, IMavenConfigurationChangeListener { try { return getPlexusContainer().lookup(clazz); } catch(ComponentLookupException ex) { - throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, - Messages.MavenImpl_error_lookup, ex)); + throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, Messages.MavenImpl_error_lookup, + ex)); } } private static DefaultPlexusContainer newPlexusContainer() throws PlexusContainerException { ContainerConfiguration mavenCoreCC = new DefaultContainerConfiguration().setClassWorld( - new ClassWorld(MAVEN_CORE_REALM_ID, ClassWorld.class.getClassLoader())).setName( - "mavenCore"); //$NON-NLS-1$ + new ClassWorld(MAVEN_CORE_REALM_ID, ClassWorld.class.getClassLoader())).setName("mavenCore"); //$NON-NLS-1$ mavenCoreCC.setAutoWiring(true); @@ -1209,8 +1212,7 @@ public class MavenImpl implements IMaven, IMavenConfigurationChangeListener { return classLoader; } - public void interpolateModel(MavenProject project, Model model) - throws CoreException { + public void interpolateModel(MavenProject project, Model model) throws CoreException { ModelBuildingRequest request = new DefaultModelBuildingRequest(); request.setUserProperties(project.getProperties()); ModelProblemCollector problems = new ModelProblemCollector() { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenWorkspaceRuntime.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenWorkspaceRuntime.java index f6caa23c..85c138c2 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenWorkspaceRuntime.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenWorkspaceRuntime.java @@ -30,6 +30,7 @@ import org.eclipse.m2e.core.embedder.MavenRuntimeManager; import org.eclipse.m2e.core.project.IMavenProjectFacade; import org.eclipse.m2e.core.project.IMavenProjectRegistry; + /** * Maven 3.0-SNAPSHOT runtime loaded from the Eclipse Workspace * @@ -38,9 +39,11 @@ import org.eclipse.m2e.core.project.IMavenProjectRegistry; */ public class MavenWorkspaceRuntime implements MavenRuntime { - private static final ArtifactKey MAVEN_DISTRIBUTION = new ArtifactKey("org.apache.maven", "apache-maven", "[3.0,)", null); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + private static final ArtifactKey MAVEN_DISTRIBUTION = new ArtifactKey( + "org.apache.maven", "apache-maven", "[3.0,)", null); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - private static final ArtifactKey PLEXUS_CLASSWORLDS = new ArtifactKey("org.codehaus.plexus", "plexus-classworlds", null, null); //$NON-NLS-1$ //$NON-NLS-2$ + private static final ArtifactKey PLEXUS_CLASSWORLDS = new ArtifactKey( + "org.codehaus.plexus", "plexus-classworlds", null, null); //$NON-NLS-1$ //$NON-NLS-2$ private static final String MAVEN_EXECUTOR_CLASS = "org.apache.maven.cli.MavenCli"; //$NON-NLS-1$ @@ -51,11 +54,11 @@ public class MavenWorkspaceRuntime implements MavenRuntime { public MavenWorkspaceRuntime(IMavenProjectRegistry projectManager) { this.projectManager = projectManager; } - + public String getLocation() { return MavenRuntimeManager.WORKSPACE; } - + public String getSettings() { return null; } @@ -85,9 +88,10 @@ public class MavenWorkspaceRuntime implements MavenRuntime { return null; } - public void createLauncherConfiguration(IMavenLauncherConfiguration collector, IProgressMonitor monitor) throws CoreException { + public void createLauncherConfiguration(IMavenLauncherConfiguration collector, IProgressMonitor monitor) + throws CoreException { IMavenProjectFacade maven = getMavenDistribution(); - if (maven != null) { + if(maven != null) { MavenProject mavenProject = maven.getMavenProject(monitor); collector.setMainType(MAVEN_EXECUTOR_CLASS, PLEXUS_CLASSWORLD_NAME); @@ -95,23 +99,24 @@ public class MavenWorkspaceRuntime implements MavenRuntime { collector.addRealm(PLEXUS_CLASSWORLD_NAME); Set<Artifact> artifacts = mavenProject.getArtifacts(); - + Artifact launcherArtifact = null; - for (Artifact artifact : artifacts) { - if (Artifact.SCOPE_TEST.equals(artifact.getScope())) { + for(Artifact artifact : artifacts) { + if(Artifact.SCOPE_TEST.equals(artifact.getScope())) { continue; } - if (PLEXUS_CLASSWORLDS.getGroupId().equals(artifact.getGroupId()) && PLEXUS_CLASSWORLDS.getArtifactId().equals(artifact.getArtifactId())) { + if(PLEXUS_CLASSWORLDS.getGroupId().equals(artifact.getGroupId()) + && PLEXUS_CLASSWORLDS.getArtifactId().equals(artifact.getArtifactId())) { launcherArtifact = artifact; continue; } addArtifact(collector, artifact); } - - if (launcherArtifact != null) { + + if(launcherArtifact != null) { collector.addRealm(IMavenLauncherConfiguration.LAUNCHER_REALM); addArtifact(collector, launcherArtifact); } @@ -121,13 +126,14 @@ public class MavenWorkspaceRuntime implements MavenRuntime { } private void addArtifact(IMavenLauncherConfiguration collector, Artifact artifact) throws CoreException { - IMavenProjectFacade facade = projectManager.getMavenProject(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion()); + IMavenProjectFacade facade = projectManager.getMavenProject(artifact.getGroupId(), artifact.getArtifactId(), + artifact.getVersion()); - if (facade != null) { + if(facade != null) { collector.addProjectEntry(facade); } else { File file = artifact.getFile(); - if (file != null) { + if(file != null) { collector.addArchiveEntry(file.getAbsolutePath()); } } @@ -139,11 +145,10 @@ public class MavenWorkspaceRuntime implements MavenRuntime { public String getVersion() { IMavenProjectFacade maven = getMavenDistribution(); - if (maven != null) { + if(maven != null) { return maven.getArtifactKey().getVersion(); } return MAVEN_DISTRIBUTION.getVersion(); } } - diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/WagonTransferListenerAdapter.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/WagonTransferListenerAdapter.java index 43b5bc72..7ca35119 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/WagonTransferListenerAdapter.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/WagonTransferListenerAdapter.java @@ -18,6 +18,7 @@ import org.apache.maven.wagon.events.TransferEvent; import org.apache.maven.wagon.events.TransferListener; import org.apache.maven.wagon.repository.Repository; + /** * @author Eugene Kuleshov */ diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/IndexListener.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/IndexListener.java index a31469ef..2c84ee09 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/IndexListener.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/IndexListener.java @@ -14,20 +14,19 @@ package org.eclipse.m2e.core.internal.index; import org.eclipse.m2e.core.repository.IRepository; - /** * IndexListener - * + * * @author Eugene Kuleshov */ public interface IndexListener { - + public void indexAdded(IRepository repository); public void indexRemoved(IRepository repository); - + public void indexChanged(IRepository repository); - + public void indexUpdating(IRepository repository); } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/IndexedArtifactFile.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/IndexedArtifactFile.java index c0f380e8..52cfc04e 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/IndexedArtifactFile.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/IndexedArtifactFile.java @@ -22,8 +22,9 @@ import org.apache.maven.model.Dependency; import org.eclipse.m2e.core.embedder.ArtifactKey; + public class IndexedArtifactFile implements IAdaptable { - + public final String repository; public final String group; @@ -39,7 +40,7 @@ public class IndexedArtifactFile implements IAdaptable { public final String type; public final String classifier; - + public final long size; public final Date date; @@ -71,12 +72,12 @@ public class IndexedArtifactFile implements IAdaptable { } public ArtifactVersion getArtifactVersion() { - if (artifactVersion == null) { + if(artifactVersion == null) { artifactVersion = new DefaultArtifactVersion(version); } return artifactVersion; } - + public Dependency getDependency() { Dependency dependency = new Dependency(); dependency.setArtifactId(artifact); @@ -89,16 +90,15 @@ public class IndexedArtifactFile implements IAdaptable { } public ArtifactKey getArtifactKey() { - return new ArtifactKey(group, artifact, version, classifier); + return new ArtifactKey(group, artifact, version, classifier); } - + @SuppressWarnings("rawtypes") public Object getAdapter(Class adapter) { - if(adapter==ArtifactKey.class) { + if(adapter == ArtifactKey.class) { return getArtifactKey(); } return null; } } - diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/ArtifactScanningMonitor.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/ArtifactScanningMonitor.java index 67e26bad..23f1f990 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/ArtifactScanningMonitor.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/ArtifactScanningMonitor.java @@ -23,6 +23,7 @@ import org.apache.maven.index.ArtifactScanningListener; import org.apache.maven.index.ScanningResult; import org.apache.maven.index.context.IndexingContext; + class ArtifactScanningMonitor implements ArtifactScanningListener { private static final Logger log = LoggerFactory.getLogger(ArtifactScanningMonitor.class); @@ -52,8 +53,7 @@ class ArtifactScanningMonitor implements ArtifactScanningListener { long current = System.currentTimeMillis(); if((current - timestamp) > THRESHOLD) { // String id = info.groupId + ":" + info.artifactId + ":" + info.version; - String id = ac.getPom().getAbsolutePath().substring( - this.repositoryDir.getAbsolutePath().length()); + String id = ac.getPom().getAbsolutePath().substring(this.repositoryDir.getAbsolutePath().length()); this.monitor.setTaskName(id); this.timestamp = current; } @@ -63,4 +63,4 @@ class ArtifactScanningMonitor implements ArtifactScanningListener { String id = ac.getPom().getAbsolutePath().substring(repositoryDir.getAbsolutePath().length()); log.error(id + " " + e.getMessage()); //$NON-NLS-1$ } -}
\ No newline at end of file +} diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/AsyncFetcher.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/AsyncFetcher.java index 0c949b6f..b9a8ad50 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/AsyncFetcher.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/AsyncFetcher.java @@ -38,7 +38,6 @@ import com.ning.http.client.simple.SimpleAHCTransferListener; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.Platform; import org.eclipse.osgi.util.NLS; import org.codehaus.plexus.util.FileUtils; @@ -120,7 +119,7 @@ public class AsyncFetcher extends AbstractResourceFetcher { private SimpleAsyncHttpClient createClient(String url) { SimpleAsyncHttpClient.Builder sahcBuilder = new SimpleAsyncHttpClient.Builder(); - + sahcBuilder.setUserAgent(userAgent); sahcBuilder.setConnectionTimeoutInMs(15 * 1000); @@ -262,13 +261,13 @@ public class AsyncFetcher extends AbstractResourceFetcher { } private class MonitorListener implements SimpleAHCTransferListener { - + private IProgressMonitor monitor; - + public MonitorListener(IProgressMonitor monitor) { this.monitor = monitor; } - + private void checkCancelled(String url) { if(monitor.isCanceled()) { cancel(url); @@ -285,12 +284,12 @@ public class AsyncFetcher extends AbstractResourceFetcher { public void onHeaders(String url, HeaderMap arg1) { checkCancelled(url); } - + public void onBytesReceived(String url, long amount, long current, long total) { checkCancelled(url); monitor.subTask(NLS.bind(Messages.AsyncFetcher_task_fetching2, url, amount * 100 / total)); } - + public void onBytesSent(String arg0, long arg1, long arg2, long arg3) { // we only retrieve } @@ -298,11 +297,12 @@ public class AsyncFetcher extends AbstractResourceFetcher { public void onCompleted(String arg0, int arg1, String arg2) { monitor.subTask(""); //$NON-NLS-1$ } - + } private final class Streams { PipedErrorInputStream in; + PipedOutputStream out; public Streams(PipedErrorInputStream pis, PipedOutputStream pos) { @@ -311,4 +311,4 @@ public class AsyncFetcher extends AbstractResourceFetcher { } } -}
\ No newline at end of file +} diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/CompositeIndex.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/CompositeIndex.java index 93b5fb42..04bd436c 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/CompositeIndex.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/CompositeIndex.java @@ -90,7 +90,7 @@ public class CompositeIndex implements IIndex { public Collection<IndexedArtifact> find(Collection<SearchExpression> groupId, Collection<SearchExpression> artifactId, Collection<SearchExpression> version, Collection<SearchExpression> packaging) throws CoreException { - + Set<IndexedArtifact> result = new TreeSet<IndexedArtifact>(); for(IIndex index : indexes) { Collection<IndexedArtifact> findResults = index.find(groupId, artifactId, version, packaging); diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/EquinoxLock.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/EquinoxLock.java index 06da383c..f5b6f57b 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/EquinoxLock.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/EquinoxLock.java @@ -15,21 +15,18 @@ import org.eclipse.core.runtime.internal.adaptor.Locker; import org.apache.maven.index.fs.Lock; + @SuppressWarnings("restriction") -public class EquinoxLock - implements Lock -{ +public class EquinoxLock implements Lock { - private final Locker lock; + private final Locker lock; - public EquinoxLock( Locker lock ) - { - this.lock = lock; - } + public EquinoxLock(Locker lock) { + this.lock = lock; + } - public void release() - { - lock.release(); - } + public void release() { + lock.release(); + } } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/EquinoxLocker.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/EquinoxLocker.java index caeb7c0e..02e0af10 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/EquinoxLocker.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/EquinoxLocker.java @@ -20,22 +20,19 @@ import org.eclipse.osgi.util.NLS; import org.apache.maven.index.fs.Lock; import org.apache.maven.index.fs.Locker; -@SuppressWarnings("restriction") -public class EquinoxLocker - implements Locker -{ - public Lock lock( File directory ) - throws IOException - { - org.eclipse.core.runtime.internal.adaptor.Locker lock = BasicLocation.createLocker(new File( directory, LOCK_FILE ), null ); +@SuppressWarnings("restriction") +public class EquinoxLocker implements Locker { - if ( lock.lock() ) - { - return new EquinoxLock( lock ); - } + public Lock lock(File directory) throws IOException { + org.eclipse.core.runtime.internal.adaptor.Locker lock = BasicLocation.createLocker(new File(directory, LOCK_FILE), + null); - throw new IOException( NLS.bind("Could not acquire lock on directory {0}", directory )); + if(lock.lock()) { + return new EquinoxLock(lock); } + throw new IOException(NLS.bind("Could not acquire lock on directory {0}", directory)); + } + } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/IndexUpdaterJob.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/IndexUpdaterJob.java index fbde08a3..0cb672a9 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/IndexUpdaterJob.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/IndexUpdaterJob.java @@ -27,6 +27,7 @@ import org.eclipse.m2e.core.internal.IMavenConstants; import org.eclipse.m2e.core.internal.Messages; import org.eclipse.m2e.core.internal.jobs.IBackgroundProcessingQueue; + class IndexUpdaterJob extends Job implements IBackgroundProcessingQueue { public static class IndexUpdaterRule implements ISchedulingRule { @@ -38,8 +39,8 @@ class IndexUpdaterJob extends Job implements IBackgroundProcessingQueue { public boolean isConflicting(ISchedulingRule rule) { return rule == this; } - - } + + } public interface IndexCommand { abstract void run(IProgressMonitor monitor) throws CoreException; @@ -62,7 +63,7 @@ class IndexUpdaterJob extends Job implements IBackgroundProcessingQueue { ArrayList<IStatus> problems = new ArrayList<IStatus>(); while(!updateQueue.isEmpty()) { - if (monitor.isCanceled()) { + if(monitor.isCanceled()) { throw new OperationCanceledException(); } @@ -76,11 +77,12 @@ class IndexUpdaterJob extends Job implements IBackgroundProcessingQueue { monitor.done(); - return problems.isEmpty()? Status.OK_STATUS: new MultiStatus(IMavenConstants.PLUGIN_ID, -1, problems.toArray(new IStatus[problems.size()]), null, null); + return problems.isEmpty() ? Status.OK_STATUS : new MultiStatus(IMavenConstants.PLUGIN_ID, -1, + problems.toArray(new IStatus[problems.size()]), null, null); } public boolean isEmpty() { return updateQueue.isEmpty(); } - -}
\ No newline at end of file + +} diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/IndexedArtifactGroup.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/IndexedArtifactGroup.java index 591b2e1b..bf58d9a7 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/IndexedArtifactGroup.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/IndexedArtifactGroup.java @@ -17,10 +17,13 @@ import org.eclipse.m2e.core.internal.index.IndexedArtifact; import org.eclipse.m2e.core.repository.IRepository; -public class IndexedArtifactGroup implements Comparable<IndexedArtifactGroup>{ +public class IndexedArtifactGroup implements Comparable<IndexedArtifactGroup> { private final IRepository repository; + private final String prefix; + private final LinkedHashMap<String, IndexedArtifactGroup> nodes = new LinkedHashMap<String, IndexedArtifactGroup>(); + private final LinkedHashMap<String, IndexedArtifact> files = new LinkedHashMap<String, IndexedArtifact>(); public IndexedArtifactGroup(IRepository repository, String prefix) { @@ -39,7 +42,7 @@ public class IndexedArtifactGroup implements Comparable<IndexedArtifactGroup>{ public String getPrefix() { return prefix; } - + public IRepository getRepository() { return this.repository; } @@ -48,7 +51,7 @@ public class IndexedArtifactGroup implements Comparable<IndexedArtifactGroup>{ * Compare the groups by prefix */ public int compareTo(IndexedArtifactGroup o) { - if(o == null){ + if(o == null) { return -1; } return getPrefix().compareToIgnoreCase(o.getPrefix()); diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/IndexesExtensionReader.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/IndexesExtensionReader.java index 903dd003..0f14492d 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/IndexesExtensionReader.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/IndexesExtensionReader.java @@ -24,9 +24,10 @@ import org.eclipse.m2e.core.internal.repository.RepositoryInfo; import org.eclipse.m2e.core.internal.repository.RepositoryRegistry; import org.eclipse.m2e.core.repository.IRepositoryRegistry; + /** * IndexesExtensionReader - * + * * @author igor */ public class IndexesExtensionReader implements IRepositoryDiscoverer { @@ -66,7 +67,8 @@ public class IndexesExtensionReader implements IRepositoryDiscoverer { } } - private void processIndexElement(RepositoryRegistry registry, IConfigurationElement element, IProgressMonitor monitor) throws CoreException { + private void processIndexElement(RepositoryRegistry registry, IConfigurationElement element, IProgressMonitor monitor) + throws CoreException { String indexId = element.getAttribute(ATTR_INDEX_ID); String repositoryUrl = element.getAttribute(ATTR_REPOSITORY_URL); boolean isShort = Boolean.valueOf(element.getAttribute(ATTR_IS_SHORT)).booleanValue(); @@ -76,9 +78,10 @@ public class IndexesExtensionReader implements IRepositoryDiscoverer { RepositoryInfo repository = new RepositoryInfo(indexId, repositoryUrl, IRepositoryRegistry.SCOPE_UNKNOWN, null); registry.addRepository(repository, monitor); - + // for consistency, always process indexes using our background thread - indexManager.setIndexDetails(repository, isShort? NexusIndex.DETAILS_MIN: NexusIndex.DETAILS_FULL, null/*async*/); + indexManager + .setIndexDetails(repository, isShort ? NexusIndex.DETAILS_MIN : NexusIndex.DETAILS_FULL, null/*async*/); } } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/IndexingTransferListener.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/IndexingTransferListener.java index fbbaacf6..f7a0c0c1 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/IndexingTransferListener.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/IndexingTransferListener.java @@ -16,6 +16,7 @@ import java.io.File; import org.eclipse.m2e.core.embedder.ArtifactKey; import org.eclipse.m2e.core.embedder.ILocalRepositoryListener; + public class IndexingTransferListener implements ILocalRepositoryListener { private final NexusIndexManager indexManager; @@ -24,7 +25,8 @@ public class IndexingTransferListener implements ILocalRepositoryListener { this.indexManager = indexManager; } - public void artifactInstalled(File repositoryBasedir, ArtifactKey baseArtifact, ArtifactKey artifact, File artifactFile) { + public void artifactInstalled(File repositoryBasedir, ArtifactKey baseArtifact, ArtifactKey artifact, + File artifactFile) { NexusIndex localIndex = indexManager.getLocalIndex(); if(artifactFile.getName().endsWith(".jar")) { //$NON-NLS-1$ localIndex.addArtifact(artifactFile, artifact); diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/NexusIndexManager.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/NexusIndexManager.java index a09c6f07..5737d9ae 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/NexusIndexManager.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/NexusIndexManager.java @@ -96,15 +96,15 @@ import org.eclipse.m2e.core.internal.index.IndexManager; import org.eclipse.m2e.core.internal.index.IndexedArtifact; import org.eclipse.m2e.core.internal.index.IndexedArtifactFile; import org.eclipse.m2e.core.internal.index.MatchTyped; +import org.eclipse.m2e.core.internal.index.MatchTyped.MatchType; import org.eclipse.m2e.core.internal.index.SearchExpression; import org.eclipse.m2e.core.internal.index.SourcedSearchExpression; -import org.eclipse.m2e.core.internal.index.MatchTyped.MatchType; import org.eclipse.m2e.core.internal.index.nexus.IndexUpdaterJob.IndexCommand; import org.eclipse.m2e.core.internal.repository.IRepositoryIndexer; import org.eclipse.m2e.core.project.IMavenProjectChangedListener; import org.eclipse.m2e.core.project.IMavenProjectFacade; -import org.eclipse.m2e.core.project.MavenProjectChangedEvent; import org.eclipse.m2e.core.project.IMavenProjectRegistry; +import org.eclipse.m2e.core.project.MavenProjectChangedEvent; import org.eclipse.m2e.core.repository.IRepository; import org.eclipse.m2e.core.repository.IRepositoryRegistry; @@ -172,8 +172,7 @@ public class NexusIndexManager implements IndexManager, IMavenProjectChangedList */ private final Map<String, Object> indexLocks = new WeakHashMap<String, Object>(); - public NexusIndexManager(IMavenProjectRegistry projectManager, - IRepositoryRegistry repositoryRegistry, File stateDir) { + public NexusIndexManager(IMavenProjectRegistry projectManager, IRepositoryRegistry repositoryRegistry, File stateDir) { this.projectManager = projectManager; this.repositoryRegistry = repositoryRegistry; this.baseIndexDir = new File(stateDir, "nexus"); //$NON-NLS-1$ diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/jobs/IBackgroundProcessingQueue.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/jobs/IBackgroundProcessingQueue.java index e27df0df..964a05d3 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/jobs/IBackgroundProcessingQueue.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/jobs/IBackgroundProcessingQueue.java @@ -16,16 +16,16 @@ import org.eclipse.core.runtime.IStatus; /** - * Common interface implemented by all m2e background processing jobs. - * + * Common interface implemented by all m2e background processing jobs. + * * @author igor */ public interface IBackgroundProcessingQueue { public void join() throws InterruptedException; public boolean isEmpty(); - + public IStatus run(IProgressMonitor monitor); - + public boolean cancel(); } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/DefaultLifecycleMapping.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/DefaultLifecycleMapping.java index f5b30460..04c0cb55 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/DefaultLifecycleMapping.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/DefaultLifecycleMapping.java @@ -8,10 +8,12 @@ * Contributors: * Sonatype, Inc. - initial API and implementation *******************************************************************************/ + package org.eclipse.m2e.core.internal.lifecyclemapping; import org.eclipse.m2e.core.project.configurator.AbstractCustomizableLifecycleMapping; + public class DefaultLifecycleMapping extends AbstractCustomizableLifecycleMapping { - + } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/DuplicateMappingException.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/DuplicateMappingException.java index 5b00a0c3..b4e9ec4a 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/DuplicateMappingException.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/DuplicateMappingException.java @@ -8,6 +8,7 @@ * Contributors: * Sonatype, Inc. - initial API and implementation *******************************************************************************/ + package org.eclipse.m2e.core.internal.lifecyclemapping; public class DuplicateMappingException extends RuntimeException { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/LifecycleMappingConfigurationException.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/LifecycleMappingConfigurationException.java index d80feb23..e3010de9 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/LifecycleMappingConfigurationException.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/LifecycleMappingConfigurationException.java @@ -13,6 +13,7 @@ package org.eclipse.m2e.core.internal.lifecyclemapping; import org.eclipse.m2e.core.internal.markers.SourceLocation; + public class LifecycleMappingConfigurationException extends RuntimeException { private static final long serialVersionUID = 713512516951833457L; diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/LifecycleMappingFactory.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/LifecycleMappingFactory.java index c4c78dde..2b8d4d07 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/LifecycleMappingFactory.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/LifecycleMappingFactory.java @@ -236,9 +236,9 @@ public class LifecycleMappingFactory { return; } - + List<MojoExecution> mojoExecutions = projectFacade.getMojoExecutions(monitor); - + List<MappingMetadataSource> metadataSources; try { metadataSources = getProjectMetadataSources(templateRequest, mavenProject, getBundleMetadataSources(), diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/MissingConfiguratorProblemInfo.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/MissingConfiguratorProblemInfo.java index 7663f12c..b5e58e48 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/MissingConfiguratorProblemInfo.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/MissingConfiguratorProblemInfo.java @@ -17,8 +17,8 @@ import org.eclipse.osgi.util.NLS; import org.eclipse.m2e.core.internal.IMavenConstants; import org.eclipse.m2e.core.internal.Messages; -import org.eclipse.m2e.core.internal.markers.SourceLocation; import org.eclipse.m2e.core.internal.markers.MavenProblemInfo; +import org.eclipse.m2e.core.internal.markers.SourceLocation; public class MissingConfiguratorProblemInfo extends MavenProblemInfo { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/MissingLifecycleExtensionPoint.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/MissingLifecycleExtensionPoint.java index 845beea6..a0a1d959 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/MissingLifecycleExtensionPoint.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/MissingLifecycleExtensionPoint.java @@ -8,6 +8,7 @@ * Contributors: * Sonatype, Inc. - initial API and implementation *******************************************************************************/ + package org.eclipse.m2e.core.internal.lifecyclemapping; import org.eclipse.core.resources.IMarker; @@ -16,8 +17,9 @@ import org.eclipse.osgi.util.NLS; import org.eclipse.m2e.core.internal.IMavenConstants; import org.eclipse.m2e.core.internal.Messages; -import org.eclipse.m2e.core.internal.markers.SourceLocation; import org.eclipse.m2e.core.internal.markers.MavenProblemInfo; +import org.eclipse.m2e.core.internal.markers.SourceLocation; + public class MissingLifecycleExtensionPoint extends MavenProblemInfo { private final String lifecycleMappingId; @@ -37,4 +39,4 @@ public class MissingLifecycleExtensionPoint extends MavenProblemInfo { marker.setAttribute(IMavenConstants.MARKER_ATTR_LIFECYCLE_PHASE, getLifecycleId()); marker.setAttribute(IMavenConstants.MARKER_ATTR_EDITOR_HINT, IMavenConstants.EDITOR_HINT_UNKNOWN_LIFECYCLE_ID); } -}
\ No newline at end of file +} diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/discovery/IMavenDiscoveryProposal.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/discovery/IMavenDiscoveryProposal.java index 602a9cd1..ba11eadb 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/discovery/IMavenDiscoveryProposal.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/discovery/IMavenDiscoveryProposal.java @@ -8,10 +8,9 @@ package org.eclipse.m2e.core.internal.lifecyclemapping.discovery; - /** * IMavenDiscoveryProposal - * + * * @author igor */ public interface IMavenDiscoveryProposal { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/discovery/LifecycleMappingConfiguration.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/discovery/LifecycleMappingConfiguration.java index ae7fc95f..1c49b346 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/discovery/LifecycleMappingConfiguration.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/discovery/LifecycleMappingConfiguration.java @@ -81,7 +81,6 @@ public class LifecycleMappingConfiguration { */ private Set<MavenProjectInfo> selectedProjects; - private Map<MavenProjectInfo, Throwable> errors = new HashMap<MavenProjectInfo, Throwable>(); private LifecycleMappingConfiguration() { @@ -120,12 +119,12 @@ public class LifecycleMappingConfiguration { } public Map<ILifecycleMappingRequirement, List<IMavenDiscoveryProposal>> getAllProposals() { - if (allproposals==null) { + if(allproposals == null) { return Collections.emptyMap(); } return allproposals; } - + public void addSelectedProposal(IMavenDiscoveryProposal proposal) { selectedProposals.add(proposal); } @@ -258,7 +257,7 @@ public class LifecycleMappingConfiguration { public static LifecycleMappingConfiguration calculate(Collection<MavenProjectInfo> projects, ProjectImportConfiguration importConfiguration, IProgressMonitor monitor) { monitor.beginTask("Analysing project execution plan", projects.size()); - + LifecycleMappingConfiguration result = new LifecycleMappingConfiguration(); List<MavenProjectInfo> nonErrorProjects = new ArrayList<MavenProjectInfo>(); @@ -270,29 +269,29 @@ public class LifecycleMappingConfiguration { } MavenProject mavenProject = null; try { - SubMonitor subMmonitor = SubMonitor.convert(monitor, NLS.bind("Analysing {0}",projectInfo.getLabel()), 1); + SubMonitor subMmonitor = SubMonitor.convert(monitor, NLS.bind("Analysing {0}", projectInfo.getLabel()), 1); MavenExecutionRequest request = maven.createExecutionRequest(subMmonitor); - + request.setPom(projectInfo.getPomFile()); request.addActiveProfiles(importConfiguration.getResolverConfiguration().getActiveProfileList()); request.addInactiveProfiles(importConfiguration.getResolverConfiguration().getInactiveProfileList()); - + // jdk-based profile activation Properties systemProperties = new Properties(); EnvironmentUtils.addEnvVars(systemProperties); systemProperties.putAll(System.getProperties()); request.setSystemProperties(systemProperties); - + request.setLocalRepository(maven.getLocalRepository()); - + MavenExecutionResult executionResult = maven.readProject(request, subMmonitor); - + mavenProject = executionResult.getProject(); - + if(monitor.isCanceled()) { throw new OperationCanceledException(); } - + if(mavenProject != null) { if("pom".equals(projectInfo.getModel().getPackaging())) { // m2e uses a noop lifecycle mapping for packaging=pom @@ -305,9 +304,9 @@ public class LifecycleMappingConfiguration { nonErrorProjects.add(projectInfo); continue; } - + MavenSession session = maven.createSession(request, mavenProject); - + List<MojoExecution> mojoExecutions = new ArrayList<MojoExecution>(); MavenExecutionPlan executionPlan = maven.calculateExecutionPlan(session, mavenProject, Arrays.asList(ProjectRegistryManager.LIFECYCLE_CLEAN), false, subMmonitor); @@ -318,9 +317,9 @@ public class LifecycleMappingConfiguration { executionPlan = maven.calculateExecutionPlan(session, mavenProject, Arrays.asList(ProjectRegistryManager.LIFECYCLE_SITE), false, subMmonitor); mojoExecutions.addAll(executionPlan.getMojoExecutions()); - + LifecycleMappingResult lifecycleResult = new LifecycleMappingResult(); - + List<MappingMetadataSource> metadataSources; try { metadataSources = LifecycleMappingFactory.getProjectMetadataSources(request, mavenProject, @@ -331,26 +330,26 @@ public class LifecycleMappingConfiguration { log.error(e.getMessage(), e); continue; } - + LifecycleMappingFactory.calculateEffectiveLifecycleMappingMetadata(lifecycleResult, request, metadataSources, mavenProject, mojoExecutions, false); LifecycleMappingFactory.instantiateLifecycleMapping(lifecycleResult, mavenProject, lifecycleResult.getLifecycleMappingId()); LifecycleMappingFactory.instantiateProjectConfigurators(mavenProject, lifecycleResult, lifecycleResult.getMojoExecutionMapping()); - + PackagingTypeMappingConfiguration pkgConfiguration = new PackagingTypeMappingConfiguration( mavenProject.getPackaging(), isProjectSource(lifecycleResult.getLifecycleMappingMetadata()) ? lifecycleResult.getLifecycleMappingId() : null); ProjectLifecycleMappingConfiguration configuration = new ProjectLifecycleMappingConfiguration( projectInfo.getLabel(), mavenProject, mojoExecutions, pkgConfiguration); - + if(lifecycleResult.getLifecycleMapping() != null) { result.addInstalledProvider(configuration.getPackagingTypeMappingConfiguration() .getLifecycleMappingRequirement()); } - + for(Map.Entry<MojoExecutionKey, List<IPluginExecutionMetadata>> entry : lifecycleResult .getMojoExecutionMapping().entrySet()) { MojoExecutionKey key = entry.getKey(); @@ -360,7 +359,7 @@ public class LifecycleMappingConfiguration { primaryMapping = mapppings.get(0); } MojoExecutionMappingConfiguration executionConfiguration = new MojoExecutionMappingConfiguration(key, - isProjectSource(primaryMapping)? primaryMapping: null); + isProjectSource(primaryMapping) ? primaryMapping : null); configuration.addMojoExecution(executionConfiguration); if(primaryMapping != null) { switch(primaryMapping.getAction()) { @@ -387,46 +386,46 @@ public class LifecycleMappingConfiguration { //XXX mkleint: what shall happen now? we don't have a valid MavenProject instance to play with, // currently we skip such project silently, is that ok? } - - } catch (OperationCanceledException ex) { + + } catch(OperationCanceledException ex) { throw ex; - } catch (Throwable th) { + } catch(Throwable th) { result.addError(projectInfo, th); } finally { - if (mavenProject != null) { - ((MavenImpl)maven).releaseExtensionsRealm(mavenProject); + if(mavenProject != null) { + ((MavenImpl) maven).releaseExtensionsRealm(mavenProject); } } } result.setSelectedProjects(nonErrorProjects); - + return result; } private static boolean isProjectSource(IPluginExecutionMetadata primaryMapping) { - if (primaryMapping == null) { + if(primaryMapping == null) { return false; } return isProjectSource(((PluginExecutionMetadata) primaryMapping).getSource()); } private static boolean isProjectSource(LifecycleMappingMetadata mappingMetadata) { - if (mappingMetadata==null) { + if(mappingMetadata == null) { return false; } return isProjectSource(mappingMetadata.getSource()); } private static boolean isProjectSource(LifecycleMappingMetadataSource metadataSource) { - if (metadataSource == null) { + if(metadataSource == null) { return false; } Object source = metadataSource.getSource(); - if (source instanceof MavenProject) { + if(source instanceof MavenProject) { return true; } - if (source instanceof Artifact) { + if(source instanceof Artifact) { return true; } return false; @@ -450,11 +449,11 @@ public class LifecycleMappingConfiguration { public void setSelectedProjects(Collection<MavenProjectInfo> projects) { this.selectedProjects = new HashSet<MavenProjectInfo>(projects); } - + public void addError(MavenProjectInfo info, Throwable th) { errors.put(info, th); } - + public Map<MavenProjectInfo, Throwable> getErrors() { return errors; } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/discovery/MojoExecutionMappingConfiguration.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/discovery/MojoExecutionMappingConfiguration.java index a7a4e890..55c9cff9 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/discovery/MojoExecutionMappingConfiguration.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/discovery/MojoExecutionMappingConfiguration.java @@ -102,7 +102,8 @@ public class MojoExecutionMappingConfiguration implements ILifecycleMappingEleme if(mapping == null) { requirement = new MojoExecutionMappingRequirement(execution); } else if(mapping.getAction() == PluginExecutionAction.configurator) { - requirement = new ProjectConfiguratorMappingRequirement(execution, LifecycleMappingFactory.getProjectConfiguratorId(mapping)); + requirement = new ProjectConfiguratorMappingRequirement(execution, + LifecycleMappingFactory.getProjectConfiguratorId(mapping)); } else { requirement = null; // this execution is fully mapped with <execute/>, <ignore/> or <error/> action } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/discovery/PackagingTypeMappingConfiguration.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/discovery/PackagingTypeMappingConfiguration.java index 2fe25232..4677fefe 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/discovery/PackagingTypeMappingConfiguration.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/discovery/PackagingTypeMappingConfiguration.java @@ -48,7 +48,7 @@ public class PackagingTypeMappingConfiguration implements ILifecycleMappingEleme public static class LifecycleStrategyMappingRequirement implements ILifecycleMappingRequirement { private final String packaging; - + private final String lifecycleMappingId; public LifecycleStrategyMappingRequirement(String packaging, String lifecycleMappingId) { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/ArtifactNotFoundProblemInfo.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/ArtifactNotFoundProblemInfo.java index c1b611e2..130d79ce 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/ArtifactNotFoundProblemInfo.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/ArtifactNotFoundProblemInfo.java @@ -8,12 +8,14 @@ * Contributors: * Sonatype, Inc. - initial API and implementation *******************************************************************************/ + package org.eclipse.m2e.core.internal.markers; import org.eclipse.osgi.util.NLS; import org.sonatype.aether.artifact.Artifact; + public class ArtifactNotFoundProblemInfo extends MavenProblemInfo { private final Artifact artifact; diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/IEditorMarkerService.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/IEditorMarkerService.java index bbeadb0f..37330e6c 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/IEditorMarkerService.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/IEditorMarkerService.java @@ -8,6 +8,7 @@ * Contributors: * Sonatype, Inc. - initial API and implementation *******************************************************************************/ + package org.eclipse.m2e.core.internal.markers; import org.eclipse.core.resources.IFile; @@ -17,17 +18,17 @@ import org.apache.maven.project.MavenProject; /** * IEditorMarkerService - * + * * @author mkleint */ public interface IEditorMarkerService { /** * adds m2e's own editor markers to the pom file in question + * * @param markerManager * @param pom * @param mavenProject * @param type */ - void addEditorHintMarkers(IMavenMarkerManager markerManager, IFile pom, MavenProject mavenProject, - String type); + void addEditorHintMarkers(IMavenMarkerManager markerManager, IFile pom, MavenProject mavenProject, String type); } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/IMarkerLocationService.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/IMarkerLocationService.java index 82cd590b..fd6a0d3d 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/IMarkerLocationService.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/IMarkerLocationService.java @@ -8,21 +8,24 @@ * Contributors: * Sonatype, Inc. - initial API and implementation *******************************************************************************/ + package org.eclipse.m2e.core.internal.markers; import org.eclipse.core.resources.IMarker; + /** * IMarkerLocationService - * + * * @author mkleint */ public interface IMarkerLocationService { /** - * sets the offset attribute on the marker if the marker is recognized and offset found + * sets the offset attribute on the marker if the marker is recognized and offset found + * * @param marker */ void findLocationForMarker(IMarker marker); - + } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/IMavenMarkerManager.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/IMavenMarkerManager.java index 303d363d..51baec02 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/IMavenMarkerManager.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/IMavenMarkerManager.java @@ -60,8 +60,7 @@ public interface IMavenMarkerManager { /** * Delete all Maven markers that have the specified type and attribute from an IResource */ - public void deleteMarkers(IResource resource, String type, String attrName, String attrValue) - throws CoreException; + public void deleteMarkers(IResource resource, String type, String attrName, String attrValue) throws CoreException; /** * Transform an exception into an error marker on an IResource diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/MarkerUtils.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/MarkerUtils.java index 082eac35..967597a7 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/MarkerUtils.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/MarkerUtils.java @@ -8,6 +8,7 @@ * Contributors: * Sonatype, Inc. - initial API and implementation *******************************************************************************/ + package org.eclipse.m2e.core.internal.markers; import org.osgi.framework.BundleContext; @@ -22,9 +23,10 @@ import org.apache.maven.project.MavenProject; import org.eclipse.m2e.core.internal.MavenPluginActivator; + /** * MarkerUtils - * + * * @author mkleint */ public class MarkerUtils { @@ -46,22 +48,22 @@ public class MarkerUtils { } } } - + public static void addEditorHintMarkers(IMavenMarkerManager markerManager, IFile pom, MavenProject mavenProject, String type) { BundleContext context = MavenPluginActivator.getDefault().getBundleContext(); ServiceReference ref = context.getServiceReference(IEditorMarkerService.class.getName()); - if (ref == null) { + if(ref == null) { log.warn("Could not find OSGI service for " + IEditorMarkerService.class.getName()); return; } - IEditorMarkerService service = (IEditorMarkerService)context.getService(ref); - if (service != null) { + IEditorMarkerService service = (IEditorMarkerService) context.getService(ref); + if(service != null) { try { service.addEditorHintMarkers(markerManager, pom, mavenProject, type); } finally { context.ungetService(ref); } } - } + } } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/MavenMarkerManager.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/MavenMarkerManager.java index cf88e09e..ff6beed2 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/MavenMarkerManager.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/MavenMarkerManager.java @@ -44,12 +44,12 @@ public class MavenMarkerManager implements IMavenMarkerManager { private static Logger log = LoggerFactory.getLogger(MavenMarkerManager.class); - private final IMavenConfiguration mavenConfiguration; + private final IMavenConfiguration mavenConfiguration; public MavenMarkerManager(IMavenConfiguration mavenConfiguration) { this.mavenConfiguration = mavenConfiguration; } - + public void addMarkers(IResource pomResource, String type, MavenExecutionResult result) { SourceLocation defaultSourceLocation = new SourceLocation(1, 0, 0); List<MavenProblemInfo> allProblems = new ArrayList<MavenProblemInfo>(); @@ -76,7 +76,7 @@ public class MavenMarkerManager implements IMavenMarkerManager { addErrorMarkers(pomResource, type, allProblems); } - + /* (non-Javadoc) * @see org.eclipse.m2e.core.project.IMavenMarkerManager#addMarker(org.eclipse.core.resources.IResource, java.lang.String, int, int) */ @@ -84,14 +84,15 @@ public class MavenMarkerManager implements IMavenMarkerManager { return addMarker(resource, type, message, lineNumber, severity, false /*isTransient*/); } - private IMarker addMarker(IResource resource, String type, String message, int lineNumber, int severity, boolean isTransient) { + private IMarker addMarker(IResource resource, String type, String message, int lineNumber, int severity, + boolean isTransient) { IMarker marker = null; try { if(resource.isAccessible()) { if(lineNumber == -1) { lineNumber = 1; } - + //mkleint: this strongly smells like some sort of workaround for a problem with bad marker cleanup. //adding is adding and as such shall always be performed. marker = findMarker(resource, type, message, lineNumber, severity, isTransient); @@ -99,11 +100,11 @@ public class MavenMarkerManager implements IMavenMarkerManager { // This marker already exists return marker; } - marker= resource.createMarker(type); + marker = resource.createMarker(type); marker.setAttribute(IMarker.MESSAGE, message); marker.setAttribute(IMarker.SEVERITY, severity); marker.setAttribute(IMarker.TRANSIENT, isTransient); - + marker.setAttribute(IMarker.LINE_NUMBER, lineNumber); log.debug("Created marker '{}' on resource '{}'.", message, resource.getFullPath()); } @@ -182,7 +183,6 @@ public class MavenMarkerManager implements IMavenMarkerManager { return cause == null ? lastCause : cause; } - private List<MavenProblemInfo> toMavenProblemInfos(IResource pomResource, SourceLocation location, List<? extends Throwable> exceptions) { List<MavenProblemInfo> result = new ArrayList<MavenProblemInfo>(); @@ -227,13 +227,12 @@ public class MavenMarkerManager implements IMavenMarkerManager { } public void deleteMarkers(IResource resource, boolean includeSubtypes, String type) throws CoreException { - if (resource != null && resource.exists()) { + if(resource != null && resource.exists()) { resource.deleteMarkers(type, includeSubtypes, IResource.DEPTH_INFINITE); } } - public void deleteMarkers(IResource resource, String type, String attrName, String attrValue) - throws CoreException { + public void deleteMarkers(IResource resource, String type, String attrName, String attrValue) throws CoreException { if(resource == null || !resource.exists()) { return; } @@ -260,7 +259,7 @@ public class MavenMarkerManager implements IMavenMarkerManager { } } } - + knownProblems.add(new ArtifactNotFoundProblemInfo(artifact, mavenConfiguration.isOffline(), location)); } } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/SourceLocation.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/SourceLocation.java index b40f4207..eb4101dc 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/SourceLocation.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/SourceLocation.java @@ -8,6 +8,7 @@ * Contributors: * Sonatype, Inc. - initial API and implementation *******************************************************************************/ + package org.eclipse.m2e.core.internal.markers; public class SourceLocation { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/SourceLocationHelper.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/SourceLocationHelper.java index 2ecd6ed1..5d9135df 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/SourceLocationHelper.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/markers/SourceLocationHelper.java @@ -8,6 +8,7 @@ * Contributors: * Sonatype, Inc. - initial API and implementation *******************************************************************************/ + package org.eclipse.m2e.core.internal.markers; import java.io.File; @@ -190,8 +191,7 @@ public class SourceLocationHelper { // Plugin/execution is specified in some parent pom SourceLocation causeLocation = new SourceLocation(inputLocation.getSource().getLocation(), inputLocation - .getSource().getModelId(), inputLocation.getLineNumber(), inputLocation.getColumnNumber() - - DEPENDENCY.length() + .getSource().getModelId(), inputLocation.getLineNumber(), inputLocation.getColumnNumber() - DEPENDENCY.length() - COLUMN_START_OFFSET, inputLocation.getColumnNumber() - COLUMN_END_OFFSET); inputLocation = mavenProject.getModel().getParent().getLocation(SELF); return new SourceLocation(inputLocation.getLineNumber(), inputLocation.getColumnNumber() - PARENT.length() diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/preferences/MavenPreferenceConstants.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/preferences/MavenPreferenceConstants.java index 51fd1c0e..607a1d34 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/preferences/MavenPreferenceConstants.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/preferences/MavenPreferenceConstants.java @@ -12,20 +12,19 @@ package org.eclipse.m2e.core.internal.preferences; - /** - * Maven preferences constants + * Maven preferences constants */ public interface MavenPreferenceConstants { - + static final String PREFIX = "eclipse.m2."; //$NON-NLS-1$ /** String */ // public static final String P_LOCAL_REPOSITORY_DIR = PREFIX+"localRepositoryDirectory"; - + /** true or false */ // public static final String P_CHECK_LATEST_PLUGIN_VERSION = PREFIX+"checkLatestPluginVersion"; - + /** String ??? */ // public static final String P_GLOBAL_CHECKSUM_POLICY = PREFIX+"globalChecksumPolicy"; @@ -37,7 +36,7 @@ public interface MavenPreferenceConstants { /** boolean */ // public static final String P_UPDATE_SNAPSHOTS = PREFIX+"updateSnapshots"; - + /** boolean */ public static final String P_DEBUG_OUTPUT = PREFIX + "debugOutput"; //$NON-NLS-1$ @@ -76,13 +75,13 @@ public interface MavenPreferenceConstants { /** boolean */ public static final String P_HIDE_FOLDERS_OF_NESTED_PROJECTS = PREFIX + "hideFoldersOfNestedProjects"; //$NON-NLS-1$ - - public static final String P_SHOW_CONSOLE_ON_ERR = PREFIX+"showConsoleOnErr"; //$NON-NLS-1$ - - public static final String P_SHOW_CONSOLE_ON_OUTPUT = PREFIX+"showConsoleOnOutput"; //$NON-NLS-1$ - + + public static final String P_SHOW_CONSOLE_ON_ERR = PREFIX + "showConsoleOnErr"; //$NON-NLS-1$ + + public static final String P_SHOW_CONSOLE_ON_OUTPUT = PREFIX + "showConsoleOnOutput"; //$NON-NLS-1$ + /** boolean */ - public static final String P_FULL_INDEX= PREFIX+"fullIndex"; //$NON-NLS-1$ + public static final String P_FULL_INDEX = PREFIX + "fullIndex"; //$NON-NLS-1$ /** boolean **/ public static final String P_WARN_INCOMPLETE_MAPPING = PREFIX + "warn_incomplete_mapping"; //$NON-NLS-1$ @@ -91,15 +90,17 @@ public interface MavenPreferenceConstants { public static final String P_DEFAULT_POM_EDITOR_PAGE = "eclipse.m2.defaultPomEditorPage"; //$NON-NLS-1$ /** boolean **/ - public static final String P_DISABLE_GROUPID_DUP_OF_PARENT_WARNING = PREFIX + ".disableGroupIdDuplicateOfParentWarning"; //$NON-NLS-1$ + public static final String P_DISABLE_GROUPID_DUP_OF_PARENT_WARNING = PREFIX + + ".disableGroupIdDuplicateOfParentWarning"; //$NON-NLS-1$ /** boolean **/ - public static final String P_DISABLE_VERSION_DUP_OF_PARENT_WARNING = PREFIX + ".disableVersionDuplicateOfParentWarning"; //$NON-NLS-1$ + public static final String P_DISABLE_VERSION_DUP_OF_PARENT_WARNING = PREFIX + + ".disableVersionDuplicateOfParentWarning"; //$NON-NLS-1$ /** string **/ public static final String P_LIFECYCLE_MAPPINGS = PREFIX + "lifecycleMappings"; //$NON-NLS-1$ - + /** string **/ public static final String P_WORKSPACE_MAPPINGS_LOCATION = PREFIX + "WorkspacelifecycleMappingsLocation"; //$NON-NLS-1$ - + } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/DependencyResolutionContext.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/DependencyResolutionContext.java index e73ebfa2..31ab0978 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/DependencyResolutionContext.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/DependencyResolutionContext.java @@ -21,6 +21,7 @@ import org.apache.maven.execution.MavenExecutionRequest; import org.eclipse.m2e.core.project.MavenUpdateRequest; + /** * @author igor */ diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/EclipseMavenMetadataCache.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/EclipseMavenMetadataCache.java index 292a9137..c46dacf7 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/EclipseMavenMetadataCache.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/EclipseMavenMetadataCache.java @@ -38,7 +38,7 @@ public class EclipseMavenMetadataCache extends DefaultMavenMetadataCache impleme ArtifactKey gav = new ArtifactKey(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), null); - if ("pom".equals(artifact.getType()) ) { //$NON-NLS-1$ + if("pom".equals(artifact.getType())) { //$NON-NLS-1$ // new project pom, remove any existing project entries removeProject(gav); } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/IManagedCache.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/IManagedCache.java index 6eb2d41c..25a4def4 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/IManagedCache.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/IManagedCache.java @@ -15,9 +15,10 @@ import org.eclipse.core.resources.IFile; import org.eclipse.m2e.core.embedder.ArtifactKey; + /** * IManagedCache - * + * * @author igor */ public interface IManagedCache { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/MavenProjectImportResult.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/MavenProjectImportResult.java index 68d6a628..49105adb 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/MavenProjectImportResult.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/MavenProjectImportResult.java @@ -16,9 +16,11 @@ import org.eclipse.core.resources.IProject; import org.eclipse.m2e.core.project.IMavenProjectImportResult; import org.eclipse.m2e.core.project.MavenProjectInfo; + public class MavenProjectImportResult implements IMavenProjectImportResult { private final IProject project; + private final MavenProjectInfo projectInfo; public MavenProjectImportResult(MavenProjectInfo projectInfo, IProject project) { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/ProjectConfigurationManager.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/ProjectConfigurationManager.java index 93335190..4eedba9e 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/ProjectConfigurationManager.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/ProjectConfigurationManager.java @@ -94,12 +94,10 @@ import org.eclipse.m2e.core.project.configurator.AbstractProjectConfigurator; import org.eclipse.m2e.core.project.configurator.ILifecycleMapping; import org.eclipse.m2e.core.project.configurator.ProjectConfigurationRequest; + /** - * import Maven projects - * update project configuration from Maven - * enable Maven nature - * create new project - * + * import Maven projects update project configuration from Maven enable Maven nature create new project + * * @author igor */ public class ProjectConfigurationManager implements IProjectConfigurationManager, IMavenProjectChangedListener, @@ -117,7 +115,8 @@ public class ProjectConfigurationManager implements IProjectConfigurationManager final IMavenConfiguration mavenConfiguration; public ProjectConfigurationManager(IMaven maven, ProjectRegistryManager projectManager, - MavenModelManager mavenModelManager, IMavenMarkerManager mavenMarkerManager, IMavenConfiguration mavenConfiguration) { + MavenModelManager mavenModelManager, IMavenMarkerManager mavenMarkerManager, + IMavenConfiguration mavenConfiguration) { this.projectManager = projectManager; this.mavenModelManager = mavenModelManager; this.mavenMarkerManager = mavenMarkerManager; @@ -125,16 +124,16 @@ public class ProjectConfigurationManager implements IProjectConfigurationManager this.mavenConfiguration = mavenConfiguration; } - public List<IMavenProjectImportResult> importProjects(Collection<MavenProjectInfo> projectInfos, ProjectImportConfiguration configuration, IProgressMonitor monitor) throws CoreException { + public List<IMavenProjectImportResult> importProjects(Collection<MavenProjectInfo> projectInfos, + ProjectImportConfiguration configuration, IProgressMonitor monitor) throws CoreException { long t1 = System.currentTimeMillis(); - + SubMonitor progress = SubMonitor.convert(monitor, Messages.ProjectConfigurationManager_task_importing, 100); ArrayList<IMavenProjectImportResult> result = new ArrayList<IMavenProjectImportResult>(); ArrayList<IProject> projects = new ArrayList<IProject>(); - SubMonitor subProgress = - SubMonitor.convert( progress.newChild( 10 ), projectInfos.size() * 100 ); + SubMonitor subProgress = SubMonitor.convert(progress.newChild(10), projectInfos.size() * 100); // first, create all projects with basic configuration for(MavenProjectInfo projectInfo : projectInfos) { @@ -146,7 +145,7 @@ public class ProjectConfigurationManager implements IProjectConfigurationManager result.add(new MavenProjectImportResult(projectInfo, project)); - if (project != null) { + if(project != null) { projects.add(project); } } @@ -164,11 +163,11 @@ public class ProjectConfigurationManager implements IProjectConfigurationManager private void setHidden(IResource resource) { try { resource.setHidden(true); - } catch (Exception ex) { + } catch(Exception ex) { log.error("Failed to hide resource; " + resource.getLocation().toOSString(), ex); } } - + private void hideNestedProjectsFromParents(List<IProject> projects) { if(!MavenPlugin.getMavenConfiguration().isHideFoldersOfNestedProjects()) { @@ -194,13 +193,12 @@ public class ProjectConfigurationManager implements IProjectConfigurationManager } } } - - private void configureNewMavenProject(List<IProject> projects, IProgressMonitor monitor) - throws CoreException { + + private void configureNewMavenProject(List<IProject> projects, IProgressMonitor monitor) throws CoreException { SubMonitor progress = SubMonitor.convert(monitor, Messages.ProjectConfigurationManager_task_configuring, 100); //SubProgressMonitor sub = new SubProgressMonitor(monitor, projects.size()+1); - + // first, resolve maven dependencies for all projects MavenUpdateRequest updateRequest = new MavenUpdateRequest(mavenConfiguration.isOffline(), false); for(IProject project : projects) { @@ -217,9 +215,9 @@ public class ProjectConfigurationManager implements IProjectConfigurationManager for(IProject project : projects) { if(progress.isCanceled()) { throw new OperationCanceledException(); - } + } IMavenProjectFacade facade = projectManager.create(project, subProgress.newChild(100)); - if (facade != null) { + if(facade != null) { facades.add(facade); } } @@ -242,19 +240,22 @@ public class ProjectConfigurationManager implements IProjectConfigurationManager } private MavenSession createMavenSession(IMavenProjectFacade facade, IProgressMonitor monitor) throws CoreException { - MavenExecutionRequest request = projectManager.createExecutionRequest(facade.getPom(), facade.getResolverConfiguration(), monitor); + MavenExecutionRequest request = projectManager.createExecutionRequest(facade.getPom(), + facade.getResolverConfiguration(), monitor); return maven.createSession(request, facade.getMavenProject(monitor)); } public void sortProjects(List<IMavenProjectFacade> facades, IProgressMonitor monitor) throws CoreException { - HashMap<MavenProject, IMavenProjectFacade> mavenProjectToFacadeMap = new HashMap<MavenProject, IMavenProjectFacade>(facades.size()); - for(IMavenProjectFacade facade:facades) { - mavenProjectToFacadeMap.put(facade.getMavenProject(monitor), facade); - } - facades.clear(); - for(MavenProject mavenProject: maven.getSortedProjects(new ArrayList<MavenProject>(mavenProjectToFacadeMap.keySet()))) { - facades.add(mavenProjectToFacadeMap.get(mavenProject)); - } + HashMap<MavenProject, IMavenProjectFacade> mavenProjectToFacadeMap = new HashMap<MavenProject, IMavenProjectFacade>( + facades.size()); + for(IMavenProjectFacade facade : facades) { + mavenProjectToFacadeMap.put(facade.getMavenProject(monitor), facade); + } + facades.clear(); + for(MavenProject mavenProject : maven.getSortedProjects(new ArrayList<MavenProject>(mavenProjectToFacadeMap + .keySet()))) { + facades.add(mavenProjectToFacadeMap.get(mavenProject)); + } } /** @@ -288,9 +289,7 @@ public class ProjectConfigurationManager implements IProjectConfigurationManager /** * Returns project name to update status map * - * @since 1.1 - * - * TODO promote to API + * @since 1.1 TODO promote to API */ public Map<String, IStatus> updateProjectConfiguration(MavenUpdateRequest request, boolean updateConfiguration, boolean cleanProjects, IProgressMonitor monitor) { @@ -317,7 +316,7 @@ public class ProjectConfigurationManager implements IProjectConfigurationManager IProject project = pom.getProject(); monitor.subTask(project.getName()); - + try { SubProgressMonitor submonitor = new SubProgressMonitor(monitor, 1, SubProgressMonitor.SUPPRESS_SUBTASK_LABEL); projectManager.refresh(new MavenUpdateRequest(project, request.isOffline(), request.isForceDependencyUpdate()), @@ -390,8 +389,8 @@ public class ProjectConfigurationManager implements IProjectConfigurationManager return updateStatus; } - private void updateProjectConfiguration(ProjectConfigurationRequest request, - IProgressMonitor monitor) throws CoreException { + private void updateProjectConfiguration(ProjectConfigurationRequest request, IProgressMonitor monitor) + throws CoreException { IProject project = request.getProject(); long start = System.currentTimeMillis(); IMavenProjectFacade mavenProjectFacade = request.getMavenProjectFacade(); @@ -405,7 +404,7 @@ public class ProjectConfigurationManager implements IProjectConfigurationManager String sourceEncoding = mavenProperties.getProperty("project.build.sourceEncoding"); log.debug("Setting encoding for project {}: {}", project.getName(), sourceEncoding); //$NON-NLS-1$ project.setDefaultCharset(sourceEncoding, monitor); - + ILifecycleMapping lifecycleMapping = getLifecycleMapping(mavenProjectFacade); if(lifecycleMapping != null) { @@ -441,7 +440,7 @@ public class ProjectConfigurationManager implements IProjectConfigurationManager } private void addMavenNature(IProject project, IProgressMonitor monitor) throws CoreException { - if (!project.hasNature(IMavenConstants.NATURE_ID)) { + if(!project.hasNature(IMavenConstants.NATURE_ID)) { IProjectDescription description = project.getDescription(); String[] prevNatures = description.getNatureIds(); String[] newNatures = new String[prevNatures.length + 1]; @@ -456,7 +455,7 @@ public class ProjectConfigurationManager implements IProjectConfigurationManager monitor.subTask(Messages.ProjectConfigurationManager_task_disable_nature); IMavenProjectFacade facade = projectManager.create(project, monitor); - if(facade!=null) { + if(facade != null) { ILifecycleMapping lifecycleMapping = getLifecycleMapping(facade); if(lifecycleMapping != null) { ProjectConfigurationRequest request = new ProjectConfigurationRequest(facade, facade.getMavenProject(monitor), @@ -581,13 +580,13 @@ public class ProjectConfigurationManager implements IProjectConfigurationManager project.create(description, monitor); project.open(monitor); monitor.worked(1); - + hideNestedProjectsFromParents(Collections.singletonList(project)); monitor.worked(1); monitor.subTask(Messages.ProjectConfigurationManager_task_creating_pom); - IFile pomFile = project.getFile(IMavenConstants.POM_FILE_NAME); + IFile pomFile = project.getFile(IMavenConstants.POM_FILE_NAME); mavenModelManager.createMavenModel(pomFile, model); monitor.worked(1); @@ -628,54 +627,67 @@ public class ProjectConfigurationManager implements IProjectConfigurationManager /** * Creates project structure using Archetype and then imports created project(s) * - * @deprecated use {@link #createArchetypeProjects(IPath, Archetype, String, String, - * String, String, Properties, ProjectImportConfiguration, IProgressMonitor)} + * @deprecated use + * {@link #createArchetypeProjects(IPath, Archetype, String, String, String, String, Properties, ProjectImportConfiguration, IProgressMonitor)} */ @Deprecated public void createArchetypeProject(IProject project, IPath location, Archetype archetype, String groupId, String artifactId, String version, String javaPackage, Properties properties, ProjectImportConfiguration configuration, IProgressMonitor monitor) throws CoreException { - createArchetypeProjects(location, archetype, groupId, artifactId, version, javaPackage, properties, configuration, monitor); + createArchetypeProjects(location, archetype, groupId, artifactId, version, javaPackage, properties, configuration, + monitor); } - + /** * Creates project structure using Archetype and then imports created project(s) * * @return an unmodifiable list of created projects. * @since 1.1 */ - public List<IProject> createArchetypeProjects(IPath location, Archetype archetype, String groupId, - String artifactId, String version, String javaPackage, Properties properties, - ProjectImportConfiguration configuration, IProgressMonitor monitor) throws CoreException { + public List<IProject> createArchetypeProjects(IPath location, Archetype archetype, String groupId, String artifactId, + String version, String javaPackage, Properties properties, ProjectImportConfiguration configuration, + IProgressMonitor monitor) throws CoreException { monitor.beginTask(NLS.bind(Messages.ProjectConfigurationManager_task_creating_project1, artifactId), 2); IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot(); - - monitor.subTask(NLS.bind(Messages.ProjectConfigurationManager_task_executing_archetype, archetype.getGroupId(), archetype.getArtifactId())); + + monitor.subTask(NLS.bind(Messages.ProjectConfigurationManager_task_executing_archetype, archetype.getGroupId(), + archetype.getArtifactId())); if(location == null) { // if the project should be created in the workspace, figure out the path location = workspaceRoot.getLocation(); } List<IProject> createdProjects = new ArrayList<IProject>(); - + try { - + Artifact artifact = resolveArchetype(archetype, monitor); - - ArchetypeGenerationRequest request = new ArchetypeGenerationRequest() // - .setTransferListener(maven.createTransferListener(monitor)) // - .setArchetypeGroupId(artifact.getGroupId()) // - .setArchetypeArtifactId(artifact.getArtifactId()) // - .setArchetypeVersion(artifact.getVersion()) // - .setArchetypeRepository(archetype.getRepository()) // - .setGroupId(groupId) // - .setArtifactId(artifactId) // - .setVersion(version) // - .setPackage(javaPackage) // the model does not have a package field - .setLocalRepository(maven.getLocalRepository()) // - .setRemoteArtifactRepositories(maven.getArtifactRepositories(true)) - .setProperties(properties).setOutputDirectory(location.toPortableString()); + + ArchetypeGenerationRequest request = new ArchetypeGenerationRequest() + // + .setTransferListener(maven.createTransferListener(monitor)) + // + .setArchetypeGroupId(artifact.getGroupId()) + // + .setArchetypeArtifactId(artifact.getArtifactId()) + // + .setArchetypeVersion(artifact.getVersion()) + // + .setArchetypeRepository(archetype.getRepository()) + // + .setGroupId(groupId) + // + .setArtifactId(artifactId) + // + .setVersion(version) + // + .setPackage(javaPackage) + // the model does not have a package field + .setLocalRepository(maven.getLocalRepository()) + // + .setRemoteArtifactRepositories(maven.getArtifactRepositories(true)).setProperties(properties) + .setOutputDirectory(location.toPortableString()); MavenSession session = maven.createSession(maven.createExecutionRequest(monitor), null); @@ -702,32 +714,33 @@ public class ProjectConfigurationManager implements IProjectConfigurationManager LocalProjectScanner scanner = new LocalProjectScanner(workspaceRoot.getLocation().toFile(), // projectFolder, true, mavenModelManager); scanner.run(monitor); - + Set<MavenProjectInfo> projectSet = collectProjects(scanner.getProjects()); - + List<IMavenProjectImportResult> importResults = importProjects(projectSet, configuration, monitor); - for (IMavenProjectImportResult r : importResults) { + for(IMavenProjectImportResult r : importResults) { IProject p = r.getProject(); - if (p != null && p.exists()) { + if(p != null && p.exists()) { createdProjects.add(p); } } - + monitor.worked(1); - } catch (CoreException e) { + } catch(CoreException e) { throw e; - } catch (InterruptedException e) { + } catch(InterruptedException e) { throw new CoreException(Status.CANCEL_STATUS); - } catch (Exception ex) { - throw new CoreException(new Status(IStatus.ERROR, "org.eclipse.m2e", Messages.ProjectConfigurationManager_error_failed, ex)); //$NON-NLS-1$ + } catch(Exception ex) { + throw new CoreException(new Status(IStatus.ERROR, + "org.eclipse.m2e", Messages.ProjectConfigurationManager_error_failed, ex)); //$NON-NLS-1$ } - + return Collections.unmodifiableList(createdProjects); } /** - * Apparently, Archetype#generateProjectFromArchetype 2.0-alpha-4 does not attempt to resolve archetype - * from configured remote repositories. To compensate, we populate local repo with archetype pom/jar. + * Apparently, Archetype#generateProjectFromArchetype 2.0-alpha-4 does not attempt to resolve archetype from + * configured remote repositories. To compensate, we populate local repo with archetype pom/jar. */ private Artifact resolveArchetype(Archetype a, IProgressMonitor monitor) throws CoreException { ArrayList<ArtifactRepository> repos = new ArrayList<ArtifactRepository>(); @@ -737,32 +750,34 @@ public class ProjectConfigurationManager implements IProjectConfigurationManager String artifactRemoteRepository = a.getRepository(); try { - - if (StringUtils.isBlank(artifactRemoteRepository)){ - + + if(StringUtils.isBlank(artifactRemoteRepository)) { + IMavenConfiguration mavenConfiguration = MavenPlugin.getMavenConfiguration(); - if (!mavenConfiguration.isOffline()){ + if(!mavenConfiguration.isOffline()) { //Try to find the repository from remote catalog if needed final ArchetypeManager archetypeManager = MavenPluginActivator.getDefault().getArchetypeManager(); RemoteCatalogFactory factory = archetypeManager.findParentCatalogFactory(a, RemoteCatalogFactory.class); - if (factory != null) { - //Grab the computed remote repository url - artifactRemoteRepository = factory.getRepositoryUrl(); - a.setRepository(artifactRemoteRepository);//Hopefully will prevent further lookups for the same archetype + if(factory != null) { + //Grab the computed remote repository url + artifactRemoteRepository = factory.getRepositoryUrl(); + a.setRepository(artifactRemoteRepository);//Hopefully will prevent further lookups for the same archetype } } } - - if (StringUtils.isNotBlank(artifactRemoteRepository)) { - ArtifactRepository archetypeRepository = maven.createArtifactRepository(a.getArtifactId()+"-repo", a.getRepository().trim()); //$NON-NLS-1$ - repos.add(0,archetypeRepository);//If the archetype doesn't exist locally, this will be the first remote repo to be searched. + + if(StringUtils.isNotBlank(artifactRemoteRepository)) { + ArtifactRepository archetypeRepository = maven.createArtifactRepository( + a.getArtifactId() + "-repo", a.getRepository().trim()); //$NON-NLS-1$ + repos.add(0, archetypeRepository);//If the archetype doesn't exist locally, this will be the first remote repo to be searched. } - - maven.resolve(a.getGroupId(), a.getArtifactId(),a.getVersion(), "pom", null, repos, monitor); //$NON-NLS-1$ - return maven.resolve(a.getGroupId(), a.getArtifactId(),a.getVersion(), "jar", null, repos, monitor); //$NON-NLS-1$ - } catch (CoreException e) { + + maven.resolve(a.getGroupId(), a.getArtifactId(), a.getVersion(), "pom", null, repos, monitor); //$NON-NLS-1$ + return maven.resolve(a.getGroupId(), a.getArtifactId(), a.getVersion(), "jar", null, repos, monitor); //$NON-NLS-1$ + } catch(CoreException e) { StringBuilder sb = new StringBuilder(); - sb.append(Messages.ProjectConfigurationManager_error_resolve).append(a.getGroupId()).append(':').append(a.getArtifactId()).append(':').append(a.getVersion()); + sb.append(Messages.ProjectConfigurationManager_error_resolve).append(a.getGroupId()).append(':') + .append(a.getArtifactId()).append(':').append(a.getVersion()); sb.append(Messages.ProjectConfigurationManager_error_resolve2); throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, sb.toString(), e)); } @@ -792,11 +807,12 @@ public class ProjectConfigurationManager implements IProjectConfigurationManager return ResourcesPlugin.getWorkspace().getRuleFactory().buildRule(); } - private IProject create(MavenProjectInfo projectInfo, ProjectImportConfiguration configuration, IProgressMonitor monitor) throws CoreException { + private IProject create(MavenProjectInfo projectInfo, ProjectImportConfiguration configuration, + IProgressMonitor monitor) throws CoreException { IWorkspace workspace = ResourcesPlugin.getWorkspace(); IWorkspaceRoot root = workspace.getRoot(); - - File pomFile = projectInfo.getPomFile(); + + File pomFile = projectInfo.getPomFile(); Model model = projectInfo.getModel(); if(model == null) { model = maven.readModel(pomFile); @@ -808,14 +824,15 @@ public class ProjectConfigurationManager implements IProjectConfigurationManager File projectDir = pomFile.getParentFile(); String projectParent = projectDir.getParentFile().getAbsolutePath(); - if (projectInfo.getBasedirRename() == MavenProjectInfo.RENAME_REQUIRED) { + if(projectInfo.getBasedirRename() == MavenProjectInfo.RENAME_REQUIRED) { File newProject = new File(projectDir.getParent(), projectName); if(!projectDir.equals(newProject)) { boolean renamed = projectDir.renameTo(newProject); if(!renamed) { StringBuilder msg = new StringBuilder(); - msg.append(NLS.bind(Messages.ProjectConfigurationManager_error_rename, projectDir.getAbsolutePath())).append('.'); - if (newProject.exists()) { + msg.append(NLS.bind(Messages.ProjectConfigurationManager_error_rename, projectDir.getAbsolutePath())).append( + '.'); + if(newProject.exists()) { msg.append(NLS.bind(Messages.ProjectConfigurationManager_error_targetDir, newProject.getAbsolutePath())); } throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, msg.toString(), null)); @@ -903,14 +920,14 @@ public class ProjectConfigurationManager implements IProjectConfigurationManager mavenMarkerManager.deleteMarkers(oldFacade.getPom(), IMavenConstants.MARKER_CONFIGURATION_ID); } } - } catch (CoreException e) { + } catch(CoreException e) { log.error(e.getMessage(), e); } } } public ILifecycleMapping getLifecycleMapping(IMavenProjectFacade projectFacade) throws CoreException { - if (projectFacade==null) { + if(projectFacade == null) { return null; } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/conversion/ProjectConversionManager.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/conversion/ProjectConversionManager.java index 80b08c8c..f6321a39 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/conversion/ProjectConversionManager.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/conversion/ProjectConversionManager.java @@ -12,7 +12,6 @@ package org.eclipse.m2e.core.internal.project.conversion; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; @@ -62,25 +61,26 @@ public class ProjectConversionManager implements IProjectConversionManager { for(IExtension extension : archetypesExtensions) { IConfigurationElement[] elements = extension.getConfigurationElements(); for(IConfigurationElement element : elements) { - if ("projectConversionParticipant".equals(element.getName())) { + if("projectConversionParticipant".equals(element.getName())) { try { if(project.hasNature(element.getAttribute("nature"))) { - AbstractProjectConversionParticipant projectConversionParticipant = (AbstractProjectConversionParticipant) element.createExecutableExtension("class"); + AbstractProjectConversionParticipant projectConversionParticipant = (AbstractProjectConversionParticipant) element + .createExecutableExtension("class"); participants.add(projectConversionParticipant); } } catch(CoreException ex) { log.debug("Can not load IProjectConversionParticipant", ex); } - } else if ("conversionParticipantConfiguration".equals(element.getName())) { + } else if("conversionParticipantConfiguration".equals(element.getName())) { setRestrictedPackagings(restrictedPackagings, element); } } } - - for (AbstractProjectConversionParticipant cp : participants) { + + for(AbstractProjectConversionParticipant cp : participants) { Set<String> newPackagings = restrictedPackagings.get(cp.getId()); - if (newPackagings != null) { - for (String p : newPackagings) { + if(newPackagings != null) { + for(String p : newPackagings) { cp.addRestrictedPackaging(p); } } @@ -93,27 +93,27 @@ public class ProjectConversionManager implements IProjectConversionManager { IConfigurationElement element) { String pid = element.getAttribute("conversionParticipantId"); String packagesAsString = element.getAttribute("compatiblePackagings"); - if (pid != null && packagesAsString != null) { + if(pid != null && packagesAsString != null) { try { String[] packagingsArray = packagesAsString.split(","); Set<String> packagings = new HashSet<String>(packagingsArray.length); - for (String packaging : packagingsArray) { + for(String packaging : packagingsArray) { String p = packaging.trim(); - if (p.length() > 0) { + if(p.length() > 0) { packagings.add(p); } } - + Set<String> allPackages = restrictedPackagings.get(pid); - if (allPackages == null) { + if(allPackages == null) { allPackages = new HashSet<String>(); restrictedPackagings.put(pid, allPackages); } allPackages.addAll(packagings); - - } catch (Exception e) { - log.debug("Cannot parse restricted packagings ",e); + + } catch(Exception e) { + log.debug("Cannot parse restricted packagings ", e); } } } @@ -135,12 +135,13 @@ public class ProjectConversionManager implements IProjectConversionManager { return getConversionParticipants(project, null); } - public List<AbstractProjectConversionParticipant> getConversionParticipants(IProject project, String packaging) throws CoreException { + public List<AbstractProjectConversionParticipant> getConversionParticipants(IProject project, String packaging) + throws CoreException { List<AbstractProjectConversionParticipant> allParticipants = lookupConversionParticipants(project); List<AbstractProjectConversionParticipant> participants = new ArrayList<AbstractProjectConversionParticipant>(); if(allParticipants != null) { for(AbstractProjectConversionParticipant participant : allParticipants) { - if (packaging != null && !participant.isPackagingCompatible(packaging)){ + if(packaging != null && !participant.isPackagingCompatible(packaging)) { continue; } if(participant.accept(project)) { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/AbstractMavenDependencyResolver.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/AbstractMavenDependencyResolver.java index 819fd46a..7f40c6ce 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/AbstractMavenDependencyResolver.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/AbstractMavenDependencyResolver.java @@ -32,6 +32,7 @@ import org.eclipse.m2e.core.project.IMavenProjectFacade; public abstract class AbstractMavenDependencyResolver { private ProjectRegistryManager manager; + private MutableProjectRegistry contextRegistry; protected IMaven getMaven() { @@ -46,7 +47,9 @@ public abstract class AbstractMavenDependencyResolver { return manager; } - public abstract void resolveProjectDependencies(IMavenProjectFacade facade, MavenExecutionRequest mavenRequest, Set<Capability> capabilities, Set<RequiredCapability> requirements, IProgressMonitor monitor) throws CoreException; + public abstract void resolveProjectDependencies(IMavenProjectFacade facade, MavenExecutionRequest mavenRequest, + Set<Capability> capabilities, Set<RequiredCapability> requirements, IProgressMonitor monitor) + throws CoreException; void setContextProjectRegistry(MutableProjectRegistry contextRegistry) { this.contextRegistry = contextRegistry; diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/EclipseWorkspaceArtifactRepository.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/EclipseWorkspaceArtifactRepository.java index d810432e..8d09e624 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/EclipseWorkspaceArtifactRepository.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/EclipseWorkspaceArtifactRepository.java @@ -45,8 +45,9 @@ public final class EclipseWorkspaceArtifactRepository extends LocalArtifactRepos this.workspaceRepository = new WorkspaceRepository("ide", getClass()); //$NON-NLS-1$ } - protected File resolveAsEclipseProject(String groupId, String artifactId, String baseVersion, String classifier, String extension) { - if (isDisabled()) { + protected File resolveAsEclipseProject(String groupId, String artifactId, String baseVersion, String classifier, + String extension) { + if(isDisabled()) { return null; } @@ -71,7 +72,7 @@ public final class EclipseWorkspaceArtifactRepository extends LocalArtifactRepos if(context.resolverConfiguration.shouldResolveWorkspaceProjects()) { IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); IPath file = pom.getLocation(); - if (!"pom".equals(extension)) { //$NON-NLS-1$ + if(!"pom".equals(extension)) { //$NON-NLS-1$ MavenProjectFacade facade = context.state.getProjectFacade(pom); if(facade.getOutputLocation() != null) { IFolder outputLocation = root.getFolder(facade.getOutputLocation()); @@ -109,9 +110,9 @@ public final class EclipseWorkspaceArtifactRepository extends LocalArtifactRepos } public static void setDisabled(boolean disable) { - disabled.set(disable? Boolean.TRUE: null); + disabled.set(disable ? Boolean.TRUE : null); } - + public static boolean isDisabled() { return Boolean.TRUE.equals(disabled.get()); } @@ -136,7 +137,7 @@ public final class EclipseWorkspaceArtifactRepository extends LocalArtifactRepos private List<String> findVersions(String groupId, String artifactId) { ArrayList<String> versions = new ArrayList<String>(); - if (isDisabled()) { + if(isDisabled()) { return versions; } @@ -144,9 +145,9 @@ public final class EclipseWorkspaceArtifactRepository extends LocalArtifactRepos return versions; } - for (MavenProjectFacade facade : context.state.getProjects()) { + for(MavenProjectFacade facade : context.state.getProjects()) { ArtifactKey artifactKey = facade.getArtifactKey(); - if (groupId.equals(artifactKey.getGroupId()) && artifactId.equals(artifactKey.getArtifactId())) { + if(groupId.equals(artifactKey.getGroupId()) && artifactId.equals(artifactKey.getArtifactId())) { versions.add(artifactKey.getVersion()); } } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ILifecycleMapping2.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ILifecycleMapping2.java index 2b3d1960..c49147fa 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ILifecycleMapping2.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ILifecycleMapping2.java @@ -15,9 +15,10 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.m2e.core.project.configurator.ILifecycleMapping; + /** * ILifecycleMapping2 - * + * * @author igor */ public interface ILifecycleMapping2 extends ILifecycleMapping { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/IProjectRegistry.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/IProjectRegistry.java index dc4c605d..c13fc6c6 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/IProjectRegistry.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/IProjectRegistry.java @@ -18,7 +18,7 @@ import org.eclipse.m2e.core.embedder.ArtifactKey; /** * Registry of all known workspace maven projects. - * + * * @author igor */ public interface IProjectRegistry { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/MavenProjectFacade.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/MavenProjectFacade.java index 3cbf5583..fe958205 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/MavenProjectFacade.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/MavenProjectFacade.java @@ -50,6 +50,7 @@ import org.eclipse.m2e.core.project.MavenUpdateRequest; import org.eclipse.m2e.core.project.ResolverConfiguration; import org.eclipse.m2e.core.project.configurator.MojoExecutionKey; + public class MavenProjectFacade implements IMavenProjectFacade, Serializable { private static final long serialVersionUID = -3648172776786224087L; @@ -81,20 +82,32 @@ public class MavenProjectFacade implements IMavenProjectFacade, Serializable { // cached values from mavenProject private final ArtifactKey artifactKey; + private final List<String> modules; + private final String packaging; + private final IPath[] resourceLocations; + private final IPath[] testResourceLocations; + private final IPath[] compileSourceLocations; + private final IPath[] testCompileSourceLocations; + private final IPath outputLocation; + private final IPath testOutputLocation; + private final Set<ArtifactRepositoryRef> artifactRepositories; + private final Set<ArtifactRepositoryRef> pluginArtifactRepositories; + private Set<ArtifactRef> artifacts; // dependencies are resolved after facade instance is created - + // lifecycle mapping private String lifecycleMappingId; + private Map<MojoExecutionKey, List<IPluginExecutionMetadata>> mojoExecutionMapping; public MavenProjectFacade(ProjectRegistryManager manager, IFile pom, MavenProject mavenProject, @@ -114,8 +127,10 @@ public class MavenProjectFacade implements IMavenProjectFacade, Serializable { this.resourceLocations = MavenProjectUtils.getResourceLocations(getProject(), mavenProject.getResources()); this.testResourceLocations = MavenProjectUtils.getResourceLocations(getProject(), mavenProject.getTestResources()); - this.compileSourceLocations = MavenProjectUtils.getSourceLocations(getProject(), mavenProject.getCompileSourceRoots()); - this.testCompileSourceLocations = MavenProjectUtils.getSourceLocations(getProject(),mavenProject.getTestCompileSourceRoots()); + this.compileSourceLocations = MavenProjectUtils.getSourceLocations(getProject(), + mavenProject.getCompileSourceRoots()); + this.testCompileSourceLocations = MavenProjectUtils.getSourceLocations(getProject(), + mavenProject.getTestCompileSourceRoots()); IPath fullPath = getProject().getFullPath(); @@ -203,7 +218,7 @@ public class MavenProjectFacade implements IMavenProjectFacade, Serializable { * Lazy load and cache MavenProject instance */ public synchronized MavenProject getMavenProject(IProgressMonitor monitor) throws CoreException { - if (mavenProject == null) { + if(mavenProject == null) { //this used to just pass in 'true' for 'offline'. when the local repo was removed or //corrupted, though, the project wouldn't load correctly IMavenConfiguration mavenConfiguration = MavenPlugin.getMavenConfiguration(); @@ -211,10 +226,10 @@ public class MavenProjectFacade implements IMavenProjectFacade, Serializable { MavenExecutionResult result = manager.readProjectWithDependencies(pom, resolverConfiguration, // new MavenUpdateRequest(isOffline, false /* updateSnapshots */), monitor); mavenProject = result.getProject(); - if (mavenProject == null) { + if(mavenProject == null) { MultiStatus status = new MultiStatus(IMavenConstants.PLUGIN_ID, 0, Messages.MavenProjectFacade_error, null); List<Throwable> exceptions = result.getExceptions(); - for (Throwable e : exceptions) { + for(Throwable e : exceptions) { status.add(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, 0, e.getMessage(), e)); } throw new CoreException(status); @@ -250,7 +265,7 @@ public class MavenProjectFacade implements IMavenProjectFacade, Serializable { public List<String> getMavenProjectModules() { return modules; } - + public Set<ArtifactRef> getMavenProjectArtifacts() { return artifacts; } @@ -264,16 +279,16 @@ public class MavenProjectFacade implements IMavenProjectFacade, Serializable { } /** - * @return true if maven project needs to be re-read from disk + * @return true if maven project needs to be re-read from disk */ public boolean isStale() { IProject project = getProject(); int i = 0; for(IPath path : ProjectRegistryManager.METADATA_PATH) { - if (timestamp[i] != getModificationStamp(project.getFile(path))) { + if(timestamp[i] != getModificationStamp(project.getFile(path))) { return true; } - i++; + i++ ; } return false; } @@ -282,8 +297,8 @@ public class MavenProjectFacade implements IMavenProjectFacade, Serializable { IProject project = getProject(); int i = 0; for(IPath path : ProjectRegistryManager.METADATA_PATH) { - timestamp[i] = getModificationStamp(project.getFile(path)); - i++; + timestamp[i] = getModificationStamp(project.getFile(path)); + i++ ; } timestamp[timestamp.length - 1] = getModificationStamp(pom); } @@ -309,10 +324,10 @@ public class MavenProjectFacade implements IMavenProjectFacade, Serializable { } public synchronized void setSessionProperty(String key, Object value) { - if (sessionProperties == null) { + if(sessionProperties == null) { sessionProperties = new HashMap<String, Object>(); } - if (value != null) { + if(value != null) { sessionProperties.put(key, value); } else { sessionProperties.remove(key); @@ -320,7 +335,7 @@ public class MavenProjectFacade implements IMavenProjectFacade, Serializable { } public synchronized Object getSessionProperty(String key) { - return sessionProperties != null? sessionProperties.get(key): null; + return sessionProperties != null ? sessionProperties.get(key) : null; } public Set<ArtifactRepositoryRef> getArtifactRepositoryRefs() { @@ -370,8 +385,8 @@ public class MavenProjectFacade implements IMavenProjectFacade, Serializable { } } - public synchronized List<MojoExecution> getMojoExecutions(String groupId, String artifactId, IProgressMonitor monitor, - String... goals) throws CoreException { + public synchronized List<MojoExecution> getMojoExecutions(String groupId, String artifactId, + IProgressMonitor monitor, String... goals) throws CoreException { List<MojoExecution> result = new ArrayList<MojoExecution>(); List<MojoExecution> _executions = getMojoExecutions(monitor); if(_executions != null) { @@ -440,7 +455,7 @@ public class MavenProjectFacade implements IMavenProjectFacade, Serializable { } return mojoExecutions; } - + public List<MojoExecution> getExecutionPlan(String lifecycle, IProgressMonitor monitor) throws CoreException { Map<String, List<MojoExecution>> executionPlans = getExecutionPlans(monitor); return executionPlans != null ? executionPlans.get(lifecycle) : null; diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ProjectRegistryManager.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ProjectRegistryManager.java index 11956797..e8f60680 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ProjectRegistryManager.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ProjectRegistryManager.java @@ -85,26 +85,31 @@ import org.eclipse.m2e.core.project.ResolverConfiguration; import org.eclipse.m2e.core.project.configurator.ILifecycleMapping; import org.eclipse.m2e.core.project.configurator.MojoExecutionKey; + /** - * This class keeps track of all maven projects present in the workspace and - * provides mapping between Maven and the workspace. + * This class keeps track of all maven projects present in the workspace and provides mapping between Maven and the + * workspace. */ public class ProjectRegistryManager { static final Logger log = LoggerFactory.getLogger(ProjectRegistryManager.class); static final String ARTIFACT_TYPE_POM = "pom"; //$NON-NLS-1$ + static final String ARTIFACT_TYPE_JAR = "jar"; //$NON-NLS-1$ + public static final String ARTIFACT_TYPE_JAVA_SOURCE = "java-source"; //$NON-NLS-1$ + public static final String ARTIFACT_TYPE_JAVADOC = "javadoc"; //$NON-NLS-1$ public static final String LIFECYCLE_DEFAULT = "deploy"; + public static final String LIFECYCLE_CLEAN = "clean"; + public static final String LIFECYCLE_SITE = "site"; /** - * Path of project metadata files, relative to the project. These - * files are used to determine if project dependencies need to be - * updated. + * Path of project metadata files, relative to the project. These files are used to determine if project dependencies + * need to be updated. */ public static final List<? extends IPath> METADATA_PATH = Arrays.asList( // new Path("pom.xml"), // //$NON-NLS-1$ @@ -134,23 +139,19 @@ public class ProjectRegistryManager { ProjectRegistry state = readState && stateReader != null ? stateReader.readWorkspaceState(this) : null; this.projectRegistry = (state != null && state.isValid()) ? state : new ProjectRegistry(); } - + /** - * Creates or returns cached MavenProjectFacade for the given project. - * - * This method will not block if called from IMavenProjectChangedListener#mavenProjectChanged + * Creates or returns cached MavenProjectFacade for the given project. This method will not block if called from + * IMavenProjectChangedListener#mavenProjectChanged */ public MavenProjectFacade create(IProject project, IProgressMonitor monitor) { return create(getPom(project), false, monitor); } /** - * Returns MavenProjectFacade corresponding to the pom. - * - * This method first looks in the project cache, then attempts to load - * the pom if the pom is not found in the cache. In the latter case, - * workspace resolution is assumed to be enabled for the pom but the pom - * will not be added to the cache. + * Returns MavenProjectFacade corresponding to the pom. This method first looks in the project cache, then attempts to + * load the pom if the pom is not found in the cache. In the latter case, workspace resolution is assumed to be + * enabled for the pom but the pom will not be added to the cache. */ public MavenProjectFacade create(IFile pom, boolean load, IProgressMonitor monitor) { if(pom == null) { @@ -166,14 +167,13 @@ public class ProjectRegistryManager { IMavenConfiguration mavenConfiguration = MavenPlugin.getMavenConfiguration(); boolean isOffline = mavenConfiguration.isOffline(); MavenExecutionResult executionResult = readProjectWithDependencies(projectRegistry, pom, configuration, // - new MavenUpdateRequest(isOffline, false /* updateSnapshots */), - monitor); + new MavenUpdateRequest(isOffline, false /* updateSnapshots */), monitor); MavenProject mavenProject = executionResult.getProject(); if(mavenProject != null) { projectFacade = new MavenProjectFacade(this, pom, mavenProject, null, configuration); } else { List<Throwable> exceptions = executionResult.getExceptions(); - if (exceptions != null) { + if(exceptions != null) { for(Throwable ex : exceptions) { String msg = "Failed to read Maven project: " + ex.getMessage(); log.error(msg, ex); @@ -185,7 +185,7 @@ public class ProjectRegistryManager { } IFile getPom(IProject project) { - if (project == null || !project.isAccessible()) { + if(project == null || !project.isAccessible()) { // XXX sensible handling return null; } @@ -193,27 +193,25 @@ public class ProjectRegistryManager { } /** - * Removes specified poms from the cache. - * Adds dependent poms to pomSet but does not directly refresh dependent poms. + * Removes specified poms from the cache. Adds dependent poms to pomSet but does not directly refresh dependent poms. * Recursively removes all nested modules if appropriate. * * @return a {@link Set} of {@link IFile} affected poms */ public Set<IFile> remove(MutableProjectRegistry state, Set<IFile> poms, boolean force) { Set<IFile> pomSet = new LinkedHashSet<IFile>(); - for (Iterator<IFile> it = poms.iterator(); it.hasNext(); ) { + for(Iterator<IFile> it = poms.iterator(); it.hasNext();) { IFile pom = it.next(); MavenProjectFacade facade = state.getProjectFacade(pom); - if (force || facade == null || facade.isStale()) { + if(force || facade == null || facade.isStale()) { pomSet.addAll(remove(state, pom)); } } return pomSet; } - + /** - * Removes the pom from the cache. - * Adds dependent poms to pomSet but does not directly refresh dependent poms. + * Removes the pom from the cache. Adds dependent poms to pomSet but does not directly refresh dependent poms. * Recursively removes all nested modules if appropriate. * * @return a {@link Set} of {@link IFile} affected poms @@ -224,7 +222,7 @@ public class ProjectRegistryManager { flushCaches(pom, facade); - if (mavenProject == null) { + if(mavenProject == null) { state.removeProject(pom, null); return Collections.emptySet(); } @@ -238,15 +236,15 @@ public class ProjectRegistryManager { pomSet.addAll(refreshWorkspaceModules(state, pom, mavenProject)); pomSet.remove(pom); - + return pomSet; } private void flushCaches(IFile pom, MavenProjectFacade facade) { ArtifactKey key = null; MavenProject project = null; - - if (facade != null) { + + if(facade != null) { key = facade.getArtifactKey(); project = facade.getMavenProject(); } @@ -258,14 +256,14 @@ public class ProjectRegistryManager { } catch(CoreException ex) { // can't really happen } - if (project != null) { + if(project != null) { ((MavenImpl) getMaven()).releaseExtensionsRealm(project); } } /** - * This method acquires workspace root's lock and sends project change events. - * It is meant for synchronous registry updates. + * This method acquires workspace root's lock and sends project change events. It is meant for synchronous registry + * updates. */ public void refresh(MavenUpdateRequest request, IProgressMonitor monitor) throws CoreException { SubMonitor progress = SubMonitor.convert(monitor, Messages.ProjectRegistryManager_task_refreshing, 100); @@ -277,7 +275,7 @@ public class ProjectRegistryManager { MutableProjectRegistry newState = newMutableProjectRegistry(); try { refresh(newState, request, progress.newChild(95)); - + applyMutableProjectRegistry(newState, progress.newChild(5)); } finally { newState.close(); @@ -316,7 +314,7 @@ public class ProjectRegistryManager { refresh.addAll(newState.getDependents(MavenCapability.createMavenParent(baseArtifact), true)); refresh.addAll(newState.getDependents(MavenCapability.createMavenArtifact(baseArtifact), true)); } - if (!refresh.isEmpty()) { + if(!refresh.isEmpty()) { log.debug("Automatic refresh. artifact={}/{}. projects={}", new Object[] {baseArtifact, artifact, refresh}); context.forcePomFiles(refresh); } @@ -423,7 +421,7 @@ public class ProjectRegistryManager { // because workspace contents is fully known at this point, each project needs to be resolved at most once continue; } - + MavenProjectFacade newFacade = null; if(pom.isAccessible() && pom.getProject().hasNature(IMavenConstants.NATURE_ID)) { newFacade = newState.getProjectFacade(pom); @@ -572,9 +570,13 @@ public class ProjectRegistryManager { } Set<T> result = new HashSet<T>(); Set<T> t; - - t = new HashSet<T>(a); t.removeAll(b); result.addAll(t); - t = new HashSet<T>(b); t.removeAll(a); result.addAll(t); + + t = new HashSet<T>(a); + t.removeAll(b); + result.addAll(t); + t = new HashSet<T>(b); + t.removeAll(a); + result.addAll(t); return result; } @@ -598,17 +600,18 @@ public class ProjectRegistryManager { while(oldIter.hasNext()) { T oldRequirement = oldIter.next(); T requirement = iter.next(); - if (!oldRequirement.equals(requirement)) { + if(!oldRequirement.equals(requirement)) { return true; } } return false; } - private AbstractMavenDependencyResolver getMavenDependencyResolver(MavenProjectFacade newFacade, IProgressMonitor monitor) throws CoreException { + private AbstractMavenDependencyResolver getMavenDependencyResolver(MavenProjectFacade newFacade, + IProgressMonitor monitor) throws CoreException { ILifecycleMapping lifecycleMapping = LifecycleMappingFactory.getLifecycleMapping(newFacade); - if (lifecycleMapping instanceof ILifecycleMapping2) { + if(lifecycleMapping instanceof ILifecycleMapping2) { AbstractMavenDependencyResolver resolver = ((ILifecycleMapping2) lifecycleMapping).getDependencyResolver(monitor); resolver.setManager(this); return resolver; @@ -636,15 +639,15 @@ public class ProjectRegistryManager { MavenProject mavenProject = null; MavenExecutionResult mavenResult = null; - if (pom.isAccessible()) { - MavenExecutionRequest mavenRequest = getConfiguredExecutionRequest(context, state, pom, resolverConfiguration); - mavenResult = getMaven().readProject(mavenRequest, monitor); - mavenProject = mavenResult.getProject(); + if(pom.isAccessible()) { + MavenExecutionRequest mavenRequest = getConfiguredExecutionRequest(context, state, pom, resolverConfiguration); + mavenResult = getMaven().readProject(mavenRequest, monitor); + mavenProject = mavenResult.getProject(); } MarkerUtils.addEditorHintMarkers(markerManager, pom, mavenProject, IMavenConstants.MARKER_POM_LOADING_ID); markerManager.addMarkers(pom, IMavenConstants.MARKER_POM_LOADING_ID, mavenResult); - if (mavenProject == null) { + if(mavenProject == null) { return null; } @@ -695,7 +698,7 @@ public class ProjectRegistryManager { } private Set<IFile> refreshWorkspaceModules(MutableProjectRegistry state, IFile pom, ArtifactKey mavenProject) { - if (mavenProject == null) { + if(mavenProject == null) { return Collections.emptySet(); } @@ -703,7 +706,7 @@ public class ProjectRegistryManager { } public void addMavenProjectChangedListener(IMavenProjectChangedListener listener) { - synchronized (projectChangeListeners) { + synchronized(projectChangeListeners) { projectChangeListeners.add(listener); } } @@ -712,7 +715,7 @@ public class ProjectRegistryManager { if(listener == null) { return; } - synchronized (projectChangeListeners) { + synchronized(projectChangeListeners) { projectChangeListeners.remove(listener); } } @@ -740,8 +743,8 @@ public class ProjectRegistryManager { return readProjectWithDependencies(projectRegistry, pomFile, resolverConfiguration, updateRequest, monitor); } - private MavenExecutionResult readProjectWithDependencies(IProjectRegistry state, IFile pomFile, ResolverConfiguration resolverConfiguration, - MavenUpdateRequest updateRequest, IProgressMonitor monitor) { + private MavenExecutionResult readProjectWithDependencies(IProjectRegistry state, IFile pomFile, + ResolverConfiguration resolverConfiguration, MavenUpdateRequest updateRequest, IProgressMonitor monitor) { try { MavenExecutionRequest request = createExecutionRequest(state, pomFile, resolverConfiguration, monitor); @@ -782,11 +785,13 @@ public class ProjectRegistryManager { } } - public MavenExecutionRequest createExecutionRequest(IFile pom, ResolverConfiguration resolverConfiguration, IProgressMonitor monitor) throws CoreException { + public MavenExecutionRequest createExecutionRequest(IFile pom, ResolverConfiguration resolverConfiguration, + IProgressMonitor monitor) throws CoreException { return createExecutionRequest(projectRegistry, pom, resolverConfiguration, monitor); } - private MavenExecutionRequest createExecutionRequest(IProjectRegistry state, IFile pom, ResolverConfiguration resolverConfiguration, IProgressMonitor monitor) throws CoreException { + private MavenExecutionRequest createExecutionRequest(IProjectRegistry state, IFile pom, + ResolverConfiguration resolverConfiguration, IProgressMonitor monitor) throws CoreException { MavenExecutionRequest request = getMaven().createExecutionRequest(monitor); return configureExecutionRequest(request, state, pom, resolverConfiguration); @@ -795,7 +800,7 @@ public class ProjectRegistryManager { private MavenExecutionRequest configureExecutionRequest(MavenExecutionRequest request, IProjectRegistry state, IFile pom, ResolverConfiguration resolverConfiguration) throws CoreException { request.setPom(pom.getLocation().toFile()); - + request.addActiveProfiles(resolverConfiguration.getActiveProfileList()); request.addInactiveProfiles(resolverConfiguration.getInactiveProfileList()); // temporary solution for https://issues.sonatype.org/browse/MNGECLIPSE-1607 @@ -837,21 +842,19 @@ public class ProjectRegistryManager { } /** - * Applies mutable project registry to the primary project registry and - * and corresponding MavenProjectChangedEvent's to all registered - * IMavenProjectChangedListener's. - * - * This method must be called from a thread holding workspace root's lock. + * Applies mutable project registry to the primary project registry and and corresponding MavenProjectChangedEvent's + * to all registered IMavenProjectChangedListener's. This method must be called from a thread holding workspace root's + * lock. * - * @throws StaleMutableProjectRegistryException if primary project registry - * was modified after mutable registry has been created + * @throws StaleMutableProjectRegistryException if primary project registry was modified after mutable registry has + * been created */ void applyMutableProjectRegistry(MutableProjectRegistry newState, IProgressMonitor monitor) { List<MavenProjectChangedEvent> events = projectRegistry.apply(newState); //stateReader.writeWorkspaceState(projectRegistry); notifyProjectChangeListeners(events, monitor); } - + public void writeWorkspaceState() { if(stateReader != null && projectRegistry != null) { stateReader.writeWorkspaceState(projectRegistry); @@ -870,8 +873,8 @@ public class ProjectRegistryManager { return maven.setupMojoExecution(session, projectFacade.getMavenProject(), mojoExecution); } - public Map<String, List<MojoExecution>> calculateExecutionPlans(MavenProjectFacade projectFacade, IProgressMonitor monitor) - throws CoreException { + public Map<String, List<MojoExecution>> calculateExecutionPlans(MavenProjectFacade projectFacade, + IProgressMonitor monitor) throws CoreException { boolean offline = MavenPlugin.getMavenConfiguration().isOffline(); MavenUpdateRequest request = new MavenUpdateRequest(offline, false /*updateSnapshots*/); MavenExecutionRequest executionRequest = createExecutionRequest(projectFacade.getPom(), diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ProjectRegistryRefreshJob.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ProjectRegistryRefreshJob.java index 43e660c3..492bdcba 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ProjectRegistryRefreshJob.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ProjectRegistryRefreshJob.java @@ -41,18 +41,20 @@ import org.eclipse.m2e.core.internal.jobs.IBackgroundProcessingQueue; import org.eclipse.m2e.core.project.IMavenProjectFacade; import org.eclipse.m2e.core.project.MavenUpdateRequest; -public class ProjectRegistryRefreshJob extends Job implements IResourceChangeListener, IPreferenceChangeListener, IBackgroundProcessingQueue { + +public class ProjectRegistryRefreshJob extends Job implements IResourceChangeListener, IPreferenceChangeListener, + IBackgroundProcessingQueue { private static final Logger log = LoggerFactory.getLogger(ProjectRegistryRefreshJob.class); private static final long SCHEDULE_DELAY = 1000L; private static final int DELTA_FLAGS = IResourceDelta.CONTENT | IResourceDelta.MOVED_FROM | IResourceDelta.MOVED_TO - | IResourceDelta.COPIED_FROM | IResourceDelta.REPLACED; - + | IResourceDelta.COPIED_FROM | IResourceDelta.REPLACED; + private final Set<MavenUpdateRequest> queue = new LinkedHashSet<MavenUpdateRequest>(); private final ProjectRegistryManager manager; - + private final IMavenConfiguration mavenConfiguration; public ProjectRegistryRefreshJob(ProjectRegistryManager manager, IMavenConfiguration mavenConfiguration) { @@ -67,7 +69,7 @@ public class ProjectRegistryRefreshJob extends Job implements IResourceChangeLis } // Job - + public IStatus run(IProgressMonitor monitor) { monitor.beginTask(Messages.ProjectRegistryRefreshJob_task_refreshing, IProgressMonitor.UNKNOWN); ArrayList<MavenUpdateRequest> requests; @@ -79,13 +81,13 @@ public class ProjectRegistryRefreshJob extends Job implements IResourceChangeLis try { MutableProjectRegistry newState = manager.newMutableProjectRegistry(); try { - for (MavenUpdateRequest request : requests) { + for(MavenUpdateRequest request : requests) { if(monitor.isCanceled()) { throw new OperationCanceledException(); } manager.refresh(newState, request, monitor); } - + ISchedulingRule rule = ResourcesPlugin.getWorkspace().getRoot(); getJobManager().beginRule(rule, monitor); try { @@ -100,7 +102,7 @@ public class ProjectRegistryRefreshJob extends Job implements IResourceChangeLis log.error(ex.getMessage(), ex); } catch(OperationCanceledException ex) { log.info("{} was canceled", getClass().getName()); - } catch (StaleMutableProjectRegistryException e) { + } catch(StaleMutableProjectRegistryException e) { synchronized(this.queue) { // must preserve order of requests here requests.addAll(this.queue); @@ -120,9 +122,9 @@ public class ProjectRegistryRefreshJob extends Job implements IResourceChangeLis } // IResourceChangeListener - + public void resourceChanged(IResourceChangeEvent event) { - boolean offline = mavenConfiguration.isOffline(); + boolean offline = mavenConfiguration.isOffline(); boolean forceDependencyUpdate = false; int type = event.getType(); @@ -132,13 +134,13 @@ public class ProjectRegistryRefreshJob extends Job implements IResourceChangeLis } else { // if (IResourceChangeEvent.POST_CHANGE == type) IWorkspace workspace = ResourcesPlugin.getWorkspace(); - boolean autobuilding = workspace != null && workspace.isAutoBuilding(); + boolean autobuilding = workspace != null && workspace.isAutoBuilding(); // MavenBuilder will synchronously read/refresh workspace Maven project state. // To avoid double-work and/or locking between MavenBuilder and background registry refresh job, we skip project // refresh when workspace is autobuilding. // We still refresh opened projects because workspace does not run build after project open event. - + IResourceDelta delta = event.getDelta(); // workspace delta IResourceDelta[] projectDeltas = delta.getAffectedChildren(); Set<IProject> refreshProjects = new LinkedHashSet<IProject>(); @@ -188,10 +190,10 @@ public class ProjectRegistryRefreshJob extends Job implements IResourceChangeLis } public void preferenceChange(PreferenceChangeEvent event) { - boolean offline = mavenConfiguration.isOffline(); + boolean offline = mavenConfiguration.isOffline(); boolean updateSnapshots = false; - if (event.getSource() instanceof IProject) { + if(event.getSource() instanceof IProject) { queue(new MavenUpdateRequest((IProject) event.getSource(), offline, updateSnapshots)); } } @@ -203,8 +205,7 @@ public class ProjectRegistryRefreshJob extends Job implements IResourceChangeLis } protected boolean isInterestingDelta(IResourceDelta delta) { - return delta.getKind() == IResourceDelta.REMOVED - || delta.getKind() == IResourceDelta.ADDED + return delta.getKind() == IResourceDelta.REMOVED || delta.getKind() == IResourceDelta.ADDED || (delta.getKind() == IResourceDelta.CHANGED && ((delta.getFlags() & DELTA_FLAGS) != 0)); } } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/StaleMutableProjectRegistryException.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/StaleMutableProjectRegistryException.java index 43f8ecd9..d0dc2997 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/StaleMutableProjectRegistryException.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/StaleMutableProjectRegistryException.java @@ -13,7 +13,7 @@ package org.eclipse.m2e.core.internal.project.registry; /** * StaleMutableProjectRegistryException - * + * * @author igor */ public class StaleMutableProjectRegistryException extends IllegalStateException { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/repository/IRepositoryDiscoverer.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/repository/IRepositoryDiscoverer.java index 4dfbb56d..e4b6c82e 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/repository/IRepositoryDiscoverer.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/repository/IRepositoryDiscoverer.java @@ -14,13 +14,14 @@ package org.eclipse.m2e.core.internal.repository; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; + /** * IRepositoryDiscoverer - * + * * @author igor */ public interface IRepositoryDiscoverer { - + /** * Called during updateRegistry operation. */ diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/repository/IRepositoryIndexer.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/repository/IRepositoryIndexer.java index 1573b657..2eaab8b7 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/repository/IRepositoryIndexer.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/repository/IRepositoryIndexer.java @@ -16,9 +16,10 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.m2e.core.repository.IRepository; + /** * IRepositoryIndexer - * + * * @author igor */ public interface IRepositoryIndexer { @@ -31,16 +32,14 @@ public interface IRepositoryIndexer { public void initialize(IProgressMonitor monitor) throws CoreException; /** - * Called by repository registry when new repository is added. - * - * This method is called from a background thread which does not keep any workspace locks. + * Called by repository registry when new repository is added. This method is called from a background thread which + * does not keep any workspace locks. */ public void repositoryAdded(IRepository repository, IProgressMonitor monitor) throws CoreException; /** - * Called by repository registry when a repository is removed. - * - * This method is called from a background thread which does not keep any workspace locks. + * Called by repository registry when a repository is removed. This method is called from a background thread which + * does not keep any workspace locks. */ public void repositoryRemoved(IRepository repository, IProgressMonitor monitor) throws CoreException; } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/repository/RepositoryInfo.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/repository/RepositoryInfo.java index a84aac55..3ff0049a 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/repository/RepositoryInfo.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/repository/RepositoryInfo.java @@ -25,18 +25,25 @@ import org.apache.maven.wagon.authentication.AuthenticationInfo; import org.eclipse.m2e.core.repository.IRepository; import org.eclipse.m2e.core.repository.IRepositoryRegistry; + public class RepositoryInfo implements IRepository { private final String id; + private final String repositoryUrl; + private final File basedir; + private final int scope; + private final AuthenticationInfo authInfo; private String uid; private String mirrorId; + private String mirrorOf; + private Set<IPath> projects = new HashSet<IPath>(); public RepositoryInfo(String id, String repositoryUrl, int scope, AuthenticationInfo authInfo) { @@ -84,7 +91,7 @@ public class RepositoryInfo implements IRepository { } public void addProject(IPath project) { - if (isScope(IRepositoryRegistry.SCOPE_PROJECT)) { + if(isScope(IRepositoryRegistry.SCOPE_PROJECT)) { projects.add(project); } } @@ -94,8 +101,8 @@ public class RepositoryInfo implements IRepository { } public String getUid() { - if (uid == null) { - uid = getUid(id, repositoryUrl, authInfo != null? authInfo.getUserName(): null); + if(uid == null) { + uid = getUid(id, repositoryUrl, authInfo != null ? authInfo.getUserName() : null); } return uid; @@ -103,11 +110,11 @@ public class RepositoryInfo implements IRepository { public static String getUid(String id, String repositoryUrl, String username) { StringBuilder sb = new StringBuilder(); - if (id != null) { + if(id != null) { sb.append(id); } sb.append('|').append(repositoryUrl); - if (username != null) { + if(username != null) { sb.append('|').append(username); } String uid; @@ -127,11 +134,11 @@ public class RepositoryInfo implements IRepository { } catch(NoSuchAlgorithmException ex) { //this shouldn't happen with MD5 uid = sb.toString(); - uid = uid.replace(':', '_').replace('/', '_').replace('|','_'); + uid = uid.replace(':', '_').replace('/', '_').replace('|', '_'); } return uid; } - + public String getProtocol() { return getProtocol(repositoryUrl); } @@ -147,7 +154,7 @@ public class RepositoryInfo implements IRepository { } public static File getBasedir(String repositoryUrl) { - if (getProtocol(repositoryUrl).equalsIgnoreCase("file")) { //$NON-NLS-1$ + if(getProtocol(repositoryUrl).equalsIgnoreCase("file")) { //$NON-NLS-1$ // dirty trick! MavenArtifactRepository trick = new MavenArtifactRepository(); trick.setUrl(repositoryUrl); @@ -163,10 +170,10 @@ public class RepositoryInfo implements IRepository { public boolean isScope(int scope) { return (this.scope & scope) != 0; } - + public String toString() { StringBuilder sb = new StringBuilder(); - if (id != null) { + if(id != null) { sb.append(id).append('|'); } sb.append(repositoryUrl); diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/repository/RepositoryRegistry.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/repository/RepositoryRegistry.java index 40722b59..8020b376 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/repository/RepositoryRegistry.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/repository/RepositoryRegistry.java @@ -37,8 +37,8 @@ import org.eclipse.m2e.core.embedder.IMaven; import org.eclipse.m2e.core.embedder.ISettingsChangeListener; import org.eclipse.m2e.core.project.IMavenProjectChangedListener; import org.eclipse.m2e.core.project.IMavenProjectFacade; -import org.eclipse.m2e.core.project.MavenProjectChangedEvent; import org.eclipse.m2e.core.project.IMavenProjectRegistry; +import org.eclipse.m2e.core.project.MavenProjectChangedEvent; import org.eclipse.m2e.core.repository.IRepository; import org.eclipse.m2e.core.repository.IRepositoryRegistry; @@ -77,19 +77,20 @@ public class RepositoryRegistry implements IRepositoryRegistry, IMavenProjectCha private ArrayList<IRepositoryDiscoverer> discoverers = new ArrayList<IRepositoryDiscoverer>(); private final RepositoryRegistryUpdateJob job = new RepositoryRegistryUpdateJob(this); - + public RepositoryRegistry(IMaven maven, IMavenProjectRegistry projectManager) { this.maven = maven; this.projectManager = projectManager; - this.workspaceRepository = new RepositoryInfo(null/*id*/, "workspace://"/*url*/, null/*basedir*/, SCOPE_WORKSPACE, null/*auth*/); //$NON-NLS-1$ + this.workspaceRepository = new RepositoryInfo(null/*id*/, + "workspace://"/*url*/, null/*basedir*/, SCOPE_WORKSPACE, null/*auth*/); //$NON-NLS-1$ } private RepositoryInfo newLocalRepositoryInfo() { File localBasedir = new File(maven.getLocalRepositoryPath()); try { localBasedir = localBasedir.getCanonicalFile(); - } catch (IOException e) { + } catch(IOException e) { // will never happen localBasedir = localBasedir.getAbsoluteFile(); } @@ -121,7 +122,7 @@ public class RepositoryRegistry implements IRepositoryRegistry, IMavenProjectCha for(MavenProjectChangedEvent event : events) { IMavenProjectFacade oldFacade = event.getOldMavenProject(); - if (oldFacade != null) { + if(oldFacade != null) { removeProjectRepositories(oldFacade, monitor); } IMavenProjectFacade facade = event.getMavenProject(); @@ -135,12 +136,13 @@ public class RepositoryRegistry implements IRepositoryRegistry, IMavenProjectCha } } - private void addProjectRepositories(Settings settings, IMavenProjectFacade facade, IProgressMonitor monitor) throws CoreException { + private void addProjectRepositories(Settings settings, IMavenProjectFacade facade, IProgressMonitor monitor) + throws CoreException { ArrayList<ArtifactRepositoryRef> repositories = getProjectRepositories(facade); - for (ArtifactRepositoryRef repo : repositories) { + for(ArtifactRepositoryRef repo : repositories) { RepositoryInfo repository = getRepository(repo); - if (repository != null) { + if(repository != null) { repository.addProject(facade.getPom().getFullPath()); continue; } @@ -153,13 +155,13 @@ public class RepositoryRegistry implements IRepositoryRegistry, IMavenProjectCha } public void addRepository(RepositoryInfo repository, IProgressMonitor monitor) { - if (!repositories.containsKey(repository.getUid())) { + if(!repositories.containsKey(repository.getUid())) { repositories.put(repository.getUid(), repository); - - for (IRepositoryIndexer indexer : indexers) { + + for(IRepositoryIndexer indexer : indexers) { try { indexer.repositoryAdded(repository, monitor); - } catch (CoreException e) { + } catch(CoreException e) { log.error(e.getMessage(), e); } } @@ -169,11 +171,11 @@ public class RepositoryRegistry implements IRepositoryRegistry, IMavenProjectCha private void removeProjectRepositories(IMavenProjectFacade facade, IProgressMonitor monitor) { ArrayList<ArtifactRepositoryRef> repositories = getProjectRepositories(facade); - for (ArtifactRepositoryRef repo : repositories) { + for(ArtifactRepositoryRef repo : repositories) { RepositoryInfo repository = getRepository(repo); - if (repository != null && repository.isScope(SCOPE_PROJECT)) { + if(repository != null && repository.isScope(SCOPE_PROJECT)) { repository.removeProject(facade.getPom().getFullPath()); - if (repository.getProjects().isEmpty()) { + if(repository.getProjects().isEmpty()) { removeRepository(repository, monitor); } } @@ -183,10 +185,10 @@ public class RepositoryRegistry implements IRepositoryRegistry, IMavenProjectCha private void removeRepository(RepositoryInfo repository, IProgressMonitor monitor) { repositories.remove(repository.getUid()); - for (IRepositoryIndexer indexer : indexers) { + for(IRepositoryIndexer indexer : indexers) { try { indexer.repositoryRemoved(repository, monitor); - } catch (CoreException e) { + } catch(CoreException e) { log.error(e.getMessage(), e); } } @@ -199,14 +201,13 @@ public class RepositoryRegistry implements IRepositoryRegistry, IMavenProjectCha return repositories; } - public AuthenticationInfo getAuthenticationInfo(Settings settings, String id) throws CoreException { - if (settings == null) { + if(settings == null) { return null; } Server server = settings.getServer(id); - if (server == null || server.getUsername() == null) { + if(server == null || server.getUsername() == null) { return null; } @@ -223,7 +224,7 @@ public class RepositoryRegistry implements IRepositoryRegistry, IMavenProjectCha List<Mirror> mirrors = maven.getMirrors(); // initialize indexers - for (IRepositoryIndexer indexer : indexers) { + for(IRepositoryIndexer indexer : indexers) { indexer.initialize(monitor); } @@ -256,32 +257,32 @@ public class RepositoryRegistry implements IRepositoryRegistry, IMavenProjectCha Mirror mirror = maven.getMirror(repo); AuthenticationInfo auth = getAuthenticationInfo(settings, repo.getId()); RepositoryInfo repository = new RepositoryInfo(repo.getId(), repo.getUrl(), SCOPE_SETTINGS, auth); - if (mirror != null) { + if(mirror != null) { repository.setMirrorId(mirror.getId()); } addRepository(repository, monitor); } // project-specific repositories - for (IMavenProjectFacade facade : projectManager.getProjects()) { + for(IMavenProjectFacade facade : projectManager.getProjects()) { addProjectRepositories(settings, facade, monitor); } // custom repositories - for (IRepositoryDiscoverer discoverer : discoverers) { + for(IRepositoryDiscoverer discoverer : discoverers) { discoverer.addRepositories(this, monitor); } oldRepositories.keySet().removeAll(repositories.keySet()); - for (RepositoryInfo repository : oldRepositories.values()) { + for(RepositoryInfo repository : oldRepositories.values()) { removeRepository(repository, monitor); } } public List<IRepository> getRepositories(int scope) { ArrayList<IRepository> result = new ArrayList<IRepository>(); - for (RepositoryInfo repository : repositories.values()) { - if (repository.isScope(scope)) { + for(RepositoryInfo repository : repositories.values()) { + if(repository.isScope(scope)) { result.add(repository); } } @@ -318,7 +319,7 @@ public class RepositoryRegistry implements IRepositoryRegistry, IMavenProjectCha return localRepository; } - + public void settingsChanged(Settings settings) { updateRegistry(); } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/repository/RepositoryRegistryUpdateJob.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/repository/RepositoryRegistryUpdateJob.java index 15b22fb8..0d5a61c4 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/repository/RepositoryRegistryUpdateJob.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/repository/RepositoryRegistryUpdateJob.java @@ -22,13 +22,14 @@ import org.eclipse.core.runtime.jobs.Job; import org.eclipse.m2e.core.internal.Messages; import org.eclipse.m2e.core.internal.jobs.IBackgroundProcessingQueue; + /** * RepositoryRegistryUpdateJob - * + * * @author igor */ public class RepositoryRegistryUpdateJob extends Job implements IBackgroundProcessingQueue { - + private final RepositoryRegistry registry; private final ArrayList<Object> queue = new ArrayList<Object>(); @@ -49,7 +50,7 @@ public class RepositoryRegistryUpdateJob extends Job implements IBackgroundProce } return Status.OK_STATUS; } - + public boolean isEmpty() { synchronized(queue) { return queue.isEmpty(); @@ -61,5 +62,5 @@ public class RepositoryRegistryUpdateJob extends Job implements IBackgroundProce queue.add(new Object()); schedule(1000L); } - } + } } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/lifecyclemapping/model/IPluginExecutionMetadata.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/lifecyclemapping/model/IPluginExecutionMetadata.java index e7f11180..a50865ed 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/lifecyclemapping/model/IPluginExecutionMetadata.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/lifecyclemapping/model/IPluginExecutionMetadata.java @@ -8,6 +8,7 @@ * Contributors: * Sonatype, Inc. - initial API and implementation *******************************************************************************/ + package org.eclipse.m2e.core.lifecyclemapping.model; /** diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/lifecyclemapping/model/PluginExecutionAction.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/lifecyclemapping/model/PluginExecutionAction.java index 3485a8c6..34607e3a 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/lifecyclemapping/model/PluginExecutionAction.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/lifecyclemapping/model/PluginExecutionAction.java @@ -8,6 +8,7 @@ * Contributors: * Sonatype, Inc. - initial API and implementation *******************************************************************************/ + package org.eclipse.m2e.core.lifecyclemapping.model; public enum PluginExecutionAction { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/AbstractProjectScanner.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/AbstractProjectScanner.java index c996a869..3aa1323e 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/AbstractProjectScanner.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/AbstractProjectScanner.java @@ -19,14 +19,15 @@ import org.eclipse.core.runtime.IProgressMonitor; /** * Project Scanner - * + * * @author Eugene Kuleshov */ public abstract class AbstractProjectScanner<T extends MavenProjectInfo> { private final List<T> projects = new ArrayList<T>(); + private final List<Throwable> errors = new ArrayList<Throwable>(); - + /** * Returns <code>List</code> of {@link MavenProjectInfo} */ diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/IMavenProjectChangedListener.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/IMavenProjectChangedListener.java index f37ec18d..8820e036 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/IMavenProjectChangedListener.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/IMavenProjectChangedListener.java @@ -13,6 +13,7 @@ package org.eclipse.m2e.core.project; import org.eclipse.core.runtime.IProgressMonitor; + public interface IMavenProjectChangedListener { /** * This method is called while holding workspace lock. diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/IMavenProjectFacade.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/IMavenProjectFacade.java index 9589f59d..790b0567 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/IMavenProjectFacade.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/IMavenProjectFacade.java @@ -31,11 +31,11 @@ import org.eclipse.m2e.core.embedder.ArtifactRepositoryRef; import org.eclipse.m2e.core.lifecyclemapping.model.IPluginExecutionMetadata; import org.eclipse.m2e.core.project.configurator.MojoExecutionKey; + /** * IMavenProjectFacade * * @noimplement This interface is not intended to be implemented by clients. - * * @author Igor Fedorenko */ public interface IMavenProjectFacade { @@ -109,25 +109,22 @@ public interface IMavenProjectFacade { ResolverConfiguration getResolverConfiguration(); /** - * @return true if maven project needs to be re-read from disk + * @return true if maven project needs to be re-read from disk */ boolean isStale(); ArtifactKey getArtifactKey(); /** - * Associates the value with the key in session (i.e. transient) context. - * Intended as a mechanism to cache state derived from MavenProject. - * Session properties are cleared when MavenProject is re-read from disk. + * Associates the value with the key in session (i.e. transient) context. Intended as a mechanism to cache state + * derived from MavenProject. Session properties are cleared when MavenProject is re-read from disk. * * @see #getSessionProperty(String) */ public void setSessionProperty(String key, Object value); /** - * @return the value associated with the key in session context or null - * if the key is not associated with any value. - * + * @return the value associated with the key in session context or null if the key is not associated with any value. * @see #setSessionProperty(String, Object) */ public Object getSessionProperty(String key); @@ -144,8 +141,8 @@ public interface IMavenProjectFacade { throws CoreException; /** - * Returns list of fully setup MojoExecution instances bound to project build lifecycle that matche provided - * groupId, artifactId and (vararg) goals. Returns empty list if no such mojo executions. + * Returns list of fully setup MojoExecution instances bound to project build lifecycle that matche provided groupId, + * artifactId and (vararg) goals. Returns empty list if no such mojo executions. */ public List<MojoExecution> getMojoExecutions(String groupId, String artifactId, IProgressMonitor monitor, String... goals) throws CoreException; diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/IMavenProjectImportResult.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/IMavenProjectImportResult.java index 218e5a4d..88bec55a 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/IMavenProjectImportResult.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/IMavenProjectImportResult.java @@ -13,9 +13,10 @@ package org.eclipse.m2e.core.project; import org.eclipse.core.resources.IProject; + /** * Holds IProject that was created during project import - * + * * @noimplement This interface is not intended to be implemented by clients. */ public interface IMavenProjectImportResult { @@ -26,7 +27,7 @@ public interface IMavenProjectImportResult { MavenProjectInfo getMavenProjectInfo(); /** - * @return IProject imported project or <code>null</code> if the project could not be imported. + * @return IProject imported project or <code>null</code> if the project could not be imported. */ IProject getProject(); } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/IProjectConfigurationManager.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/IProjectConfigurationManager.java index 2d864eb4..420e0da7 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/IProjectConfigurationManager.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/IProjectConfigurationManager.java @@ -40,8 +40,8 @@ public interface IProjectConfigurationManager { ProjectImportConfiguration configuration, IProgressMonitor monitor) throws CoreException; /** - * @deprecated use {@link #createArchetypeProjects(IPath, Archetype, String, - * String, String, String, Properties, ProjectImportConfiguration, IProgressMonitor)} + * @deprecated use + * {@link #createArchetypeProjects(IPath, Archetype, String, String, String, String, Properties, ProjectImportConfiguration, IProgressMonitor)} */ @Deprecated void createArchetypeProject(IProject project, IPath location, Archetype archetype, // @@ -50,6 +50,7 @@ public interface IProjectConfigurationManager { /** * Creates project structure using Archetype and then imports the created project(s) + * * @return an unmodifiable list of created projects. * @since 1.1 */ @@ -64,14 +65,11 @@ public interface IProjectConfigurationManager { void disableMavenNature(IProject project, IProgressMonitor monitor) throws CoreException; - void updateProjectConfiguration(IProject project, IProgressMonitor monitor) - throws CoreException; + void updateProjectConfiguration(IProject project, IProgressMonitor monitor) throws CoreException; - void updateProjectConfiguration(MavenUpdateRequest request, IProgressMonitor monitor) - throws CoreException; - - ILifecycleMapping getLifecycleMapping(IMavenProjectFacade projectFacade) - throws CoreException; + void updateProjectConfiguration(MavenUpdateRequest request, IProgressMonitor monitor) throws CoreException; + + ILifecycleMapping getLifecycleMapping(IMavenProjectFacade projectFacade) throws CoreException; /** * Adds the maven builder to the specified project. @@ -98,5 +96,5 @@ public interface IProjectConfigurationManager { * PROVISIONAL */ public boolean setResolverConfiguration(IProject project, ResolverConfiguration configuration); - + } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/LocalProjectScanner.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/LocalProjectScanner.java index d5a8ea83..f17f6470 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/LocalProjectScanner.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/LocalProjectScanner.java @@ -24,6 +24,7 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.SubMonitor; import org.eclipse.core.runtime.SubProgressMonitor; + import org.apache.maven.model.Model; import org.apache.maven.model.Profile; @@ -37,10 +38,13 @@ import org.eclipse.m2e.core.internal.Messages; */ public class LocalProjectScanner extends AbstractProjectScanner<MavenProjectInfo> { private final File workspaceRoot; + private final List<String> folders; + private final boolean basedirRemameRequired; private Set<File> scannedFolders = new HashSet<File>(); + private final MavenModelManager modelManager; public LocalProjectScanner(File workspaceRoot, String folder, boolean needsRename, MavenModelManager modelManager) { @@ -57,7 +61,7 @@ public class LocalProjectScanner extends AbstractProjectScanner<MavenProjectInfo public void run(IProgressMonitor monitor) throws InterruptedException { SubMonitor subMonitor = SubMonitor.convert(monitor, Messages.LocalProjectScanner_task_scanning, 1); - + subMonitor.beginTask(Messages.LocalProjectScanner_task_scanning, IProgressMonitor.UNKNOWN); try { for(String folderName : folders) { @@ -86,7 +90,7 @@ public class LocalProjectScanner extends AbstractProjectScanner<MavenProjectInfo return; } try { - if (scannedFolders.contains(baseDir.getCanonicalFile())) { + if(scannedFolders.contains(baseDir.getCanonicalFile())) { return; } } catch(IOException ex1) { @@ -117,17 +121,17 @@ public class LocalProjectScanner extends AbstractProjectScanner<MavenProjectInfo private MavenProjectInfo readMavenProjectInfo(File baseDir, String modulePath, MavenProjectInfo parentInfo) { try { baseDir = baseDir.getCanonicalFile(); - + File pomFile = new File(baseDir, IMavenConstants.POM_FILE_NAME); if(!pomFile.exists()) { return null; } - if (!scannedFolders.add(baseDir)) { + if(!scannedFolders.add(baseDir)) { return null; // we already know this project //mkleint: well, if the project is first scanned standalone and later scanned via parent reference, the parent ref gets thrown away?? } - + Model model = modelManager.readMavenModel(pomFile); String pomName = modulePath + "/" + IMavenConstants.POM_FILE_NAME; //$NON-NLS-1$ @@ -140,7 +144,7 @@ public class LocalProjectScanner extends AbstractProjectScanner<MavenProjectInfo Map<String, Set<String>> modules = new LinkedHashMap<String, Set<String>>(); for(String module : model.getModules()) { - if (module.endsWith("/pom.xml")) { + if(module.endsWith("/pom.xml")) { module = module.substring(0, module.length() - "/pom.xml".length()); } modules.put(module, new HashSet<String>()); @@ -148,7 +152,7 @@ public class LocalProjectScanner extends AbstractProjectScanner<MavenProjectInfo for(Profile profile : model.getProfiles()) { for(String module : profile.getModules()) { - if (module.endsWith("/pom.xml")) { + if(module.endsWith("/pom.xml")) { module = module.substring(0, module.length() - "/pom.xml".length()); } Set<String> profiles = modules.get(module); @@ -193,7 +197,7 @@ public class LocalProjectScanner extends AbstractProjectScanner<MavenProjectInfo private int getBasedirRename(MavenProjectInfo mavenProjectInfo) throws IOException { - if (basedirRemameRequired) { + if(basedirRemameRequired) { return MavenProjectInfo.RENAME_REQUIRED; } return MavenProjectInfo.RENAME_NO; diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/MavenProjectChangedEvent.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/MavenProjectChangedEvent.java index 56a3d6e8..9e5645d9 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/MavenProjectChangedEvent.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/MavenProjectChangedEvent.java @@ -13,10 +13,11 @@ package org.eclipse.m2e.core.project; import org.eclipse.core.resources.IFile; + public class MavenProjectChangedEvent { private final IFile source; - + private final int kind; private final int flags; @@ -35,7 +36,8 @@ public class MavenProjectChangedEvent { private final IMavenProjectFacade mavenProject; - public MavenProjectChangedEvent(IFile source, int kind, int flags, IMavenProjectFacade oldMavenProject, IMavenProjectFacade mavenProject) { + public MavenProjectChangedEvent(IFile source, int kind, int flags, IMavenProjectFacade oldMavenProject, + IMavenProjectFacade mavenProject) { this.source = source; this.kind = kind; this.flags = flags; diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/MavenProjectInfo.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/MavenProjectInfo.java index 85b62efc..03747e46 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/MavenProjectInfo.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/MavenProjectInfo.java @@ -38,7 +38,7 @@ public class MavenProjectInfo { public static final int RENAME_NO = 0; /** - * Project basedir MUST be ranamed to match workspace project name. + * Project basedir MUST be ranamed to match workspace project name. */ public static final int RENAME_REQUIRED = 2; @@ -69,7 +69,7 @@ public class MavenProjectInfo { public void setPomFile(File pomFile) { File oldDir = this.pomFile.getParentFile(); File newDir = pomFile.getParentFile(); - + for(MavenProjectInfo projectInfo : projects.values()) { File childPom = projectInfo.getPomFile(); if(isSubDir(oldDir, childPom.getParentFile())) { @@ -78,15 +78,15 @@ public class MavenProjectInfo { projectInfo.setPomFile(new File(newDir, path)); } } - + this.pomFile = pomFile; } /** @deprecated use set/get BasedirRename */ public void setNeedsRename(boolean needsRename) { - setBasedirRename(needsRename? RENAME_REQUIRED: RENAME_NO); + setBasedirRename(needsRename ? RENAME_REQUIRED : RENAME_NO); } - + /** @deprecated use set/get BasedirRenamePolicy */ public boolean isNeedsRename() { return getBasedirRename() == RENAME_REQUIRED; @@ -110,11 +110,11 @@ public class MavenProjectInfo { if(parentDir.equals(subDir)) { return true; } - - if(subDir.getParentFile()!=null) { + + if(subDir.getParentFile() != null) { return isSubDir(parentDir, subDir.getParentFile()); } - + return false; } @@ -131,7 +131,7 @@ public class MavenProjectInfo { throw new RuntimeException(ex); } MavenProjectInfo i = projects.get(key); - if(i==null) { + if(i == null) { projects.put(key, info); } else { log.error("Project info " + this + " already has a child project info with key '" + key + "'"); //$NON-NLS-3$ @@ -140,45 +140,45 @@ public class MavenProjectInfo { } } } - + public void addProfile(String profileId) { - if(profileId!=null) { + if(profileId != null) { this.profiles.add(profileId); } } - + public void addProfiles(Collection<String> profiles) { this.profiles.addAll(profiles); } - + public String getLabel() { return this.label; } - + public File getPomFile() { return this.pomFile; } - + public Model getModel() { return this.model; } - + public void setModel(Model model) { this.model = model; } - + public Collection<MavenProjectInfo> getProjects() { return this.projects.values(); } - + public MavenProjectInfo getParent() { return this.parent; } - + public Set<String> getProfiles() { return this.profiles; } - + public boolean equals(Object obj) { if(obj instanceof MavenProjectInfo) { MavenProjectInfo info = (MavenProjectInfo) obj; @@ -189,9 +189,9 @@ public class MavenProjectInfo { } return false; } - + public int hashCode() { - return pomFile==null ? 0 : pomFile.hashCode(); + return pomFile == null ? 0 : pomFile.hashCode(); } public String toString() { diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/MavenProjectUtils.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/MavenProjectUtils.java index cbcf60e6..11e62082 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/MavenProjectUtils.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/MavenProjectUtils.java @@ -22,9 +22,10 @@ import org.eclipse.core.runtime.Path; import org.apache.maven.model.Resource; + /** * Collection of helper methods to map between MavenProject and IResource. - * + * * @author igor */ public class MavenProjectUtils { @@ -75,7 +76,7 @@ public class MavenProjectUtils { * exist or is not a member of this project. */ public static IPath getFullPath(IProject project, File file) { - if (project == null || file == null) { + if(project == null || file == null) { return null; } @@ -83,13 +84,13 @@ public class MavenProjectUtils { if(projectPath == null) { return null; } - + IPath filePath = new Path(file.getAbsolutePath()); - if (!projectPath.isPrefixOf(filePath)) { + if(!projectPath.isPrefixOf(filePath)) { return null; } IResource resource = project.findMember(filePath.removeFirstSegments(projectPath.segmentCount())); - if (resource == null) { + if(resource == null) { return null; } return resource.getFullPath(); diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/ProjectImportConfiguration.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/ProjectImportConfiguration.java index 760a7005..9deaf7a8 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/ProjectImportConfiguration.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/ProjectImportConfiguration.java @@ -68,7 +68,7 @@ public class ProjectImportConfiguration { return projectNameTemplate; } - /** + /** * Calculates the project name for the given model. * * @deprecated This method does not take into account MavenProjectInfo.basedirRename @@ -90,13 +90,13 @@ public class ProjectImportConfiguration { } // XXX needs MavenProjectManager update to resolve groupId and version - return projectNameTemplate.replaceAll(GROUP_ID, groupId).replaceAll(ARTIFACT_ID, artifactId).replaceAll(VERSION, - version == null ? "" : version); //$NON-NLS-1$ + return projectNameTemplate.replaceAll(GROUP_ID, groupId).replaceAll(ARTIFACT_ID, artifactId) + .replaceAll(VERSION, version == null ? "" : version); //$NON-NLS-1$ } /** - * @deprecated This method does not take into account MavenProjectInfo.basedirRename. - * Use IMavenProjectImportResult#getProject instead + * @deprecated This method does not take into account MavenProjectInfo.basedirRename. Use + * IMavenProjectImportResult#getProject instead */ public IProject getProject(IWorkspaceRoot root, Model model) { return root.getProject(getProjectName(model)); @@ -106,7 +106,7 @@ public class ProjectImportConfiguration { * @deprecated business logic does not belong to a value object */ public IStatus validateProjectName(Model model) { - String projectName = getProjectName(model); + String projectName = getProjectName(model); IWorkspace workspace = ResourcesPlugin.getWorkspace(); // check if the project name is valid @@ -120,7 +120,7 @@ public class ProjectImportConfiguration { return new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, 0, NLS.bind(Messages.importProjectExists, projectName), null); //$NON-NLS-1$ } - + return Status.OK_STATUS; } } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/ResolverConfiguration.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/ResolverConfiguration.java index c16083d6..9c4c5fa2 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/ResolverConfiguration.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/ResolverConfiguration.java @@ -15,12 +15,11 @@ import java.io.Serializable; import java.util.ArrayList; import java.util.List; + /** - * Resolver configuration holder. + * Resolver configuration holder. TODO need a better name, this configures all aspects of maven project in eclipse, not + * just dependency resolution. * - * TODO need a better name, this configures all aspects of maven project in eclipse, - * not just dependency resolution. - * * @author Eugene Kuleshov */ public class ResolverConfiguration implements Serializable { @@ -36,8 +35,7 @@ public class ResolverConfiguration implements Serializable { return this.resolveWorkspaceProjects; } - - /** + /** * @deprecated use {@link #getSelectedProfiles()} instead. */ @Deprecated @@ -60,7 +58,7 @@ public class ResolverConfiguration implements Serializable { public void setResolveWorkspaceProjects(boolean resolveWorkspaceProjects) { this.resolveWorkspaceProjects = resolveWorkspaceProjects; } - + /** * @deprecated use {@link #setSelectedProfiles(String)} instead. */ @@ -74,16 +72,16 @@ public class ResolverConfiguration implements Serializable { } private static List<String> parseProfiles(String profilesAsText, boolean status) { - List<String> profiles; - if (profilesAsText != null && profilesAsText.trim().length() > 0) { - String[] profilesArray = profilesAsText.split("[,\\s\\|]"); + List<String> profiles; + if(profilesAsText != null && profilesAsText.trim().length() > 0) { + String[] profilesArray = profilesAsText.split("[,\\s\\|]"); profiles = new ArrayList<String>(profilesArray.length); - for (String profile : profilesArray) { - boolean isActive = !profile.startsWith("!"); - if (status == isActive) { - profile = (isActive)? profile : profile.substring(1); - profiles.add(profile); - } + for(String profile : profilesArray) { + boolean isActive = !profile.startsWith("!"); + if(status == isActive) { + profile = (isActive) ? profile : profile.substring(1); + profiles.add(profile); + } } } else { profiles = new ArrayList<String>(0); diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/configurator/AbstractProjectConfigurator.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/configurator/AbstractProjectConfigurator.java index fae85a91..6df82df2 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/configurator/AbstractProjectConfigurator.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/configurator/AbstractProjectConfigurator.java @@ -48,8 +48,8 @@ import org.eclipse.m2e.core.lifecyclemapping.model.IPluginExecutionMetadata; import org.eclipse.m2e.core.lifecyclemapping.model.PluginExecutionAction; import org.eclipse.m2e.core.project.IMavenProjectChangedListener; import org.eclipse.m2e.core.project.IMavenProjectFacade; -import org.eclipse.m2e.core.project.MavenProjectChangedEvent; import org.eclipse.m2e.core.project.IMavenProjectRegistry; +import org.eclipse.m2e.core.project.MavenProjectChangedEvent; /** @@ -161,7 +161,8 @@ public abstract class AbstractProjectConfigurator implements IExecutableExtensio * @since 1.3 */ // TODO move to a helper - public static void addNature(IProject project, String natureId, int updateFlags, IProgressMonitor monitor) throws CoreException { + public static void addNature(IProject project, String natureId, int updateFlags, IProgressMonitor monitor) + throws CoreException { if(!project.hasNature(natureId)) { IProjectDescription description = project.getDescription(); String[] prevNatures = description.getNatureIds(); diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/configurator/ILifecycleMappingConfiguration.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/configurator/ILifecycleMappingConfiguration.java index e6d75699..964846d7 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/configurator/ILifecycleMappingConfiguration.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/configurator/ILifecycleMappingConfiguration.java @@ -8,6 +8,7 @@ * Contributors: * Sonatype, Inc. - initial API and implementation *******************************************************************************/ + package org.eclipse.m2e.core.project.configurator; import java.util.List; @@ -17,11 +18,11 @@ import org.codehaus.plexus.util.xml.Xpp3Dom; import org.eclipse.m2e.core.lifecyclemapping.model.IPluginExecutionMetadata; + /** * ILifecycleMappingConfiguration - * - * @author igor * + * @author igor * @noextend * @noimplement */ diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/conversion/AbstractProjectConversionParticipant.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/conversion/AbstractProjectConversionParticipant.java index 5562d13e..a8bf246f 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/conversion/AbstractProjectConversionParticipant.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/conversion/AbstractProjectConversionParticipant.java @@ -8,6 +8,7 @@ * Contributors: * Red Hat, Inc. - initial API and implementation *******************************************************************************/ + package org.eclipse.m2e.core.project.conversion; import java.util.Collections; @@ -22,9 +23,10 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.apache.maven.model.Model; + /** - * Used to convert existing Eclipse project configuration to the corresponding Maven Model. - * + * Used to convert existing Eclipse project configuration to the corresponding Maven Model. + * * @author Fred Bricon * @since 1.1 */ @@ -36,16 +38,16 @@ public abstract class AbstractProjectConversionParticipant implements IExecutabl protected Set<String> restrictedPackagings; - private String name; - - private String id; - + private String name; + + private String id; + public String getName() { return name; } public String getId() { - if (id == null) { + if(id == null) { id = getClass().getName(); } return id; @@ -60,52 +62,52 @@ public abstract class AbstractProjectConversionParticipant implements IExecutabl * Checks if this participant can change the Maven Model from this Eclipse project configuration */ public abstract boolean accept(IProject project) throws CoreException; - + /** * Converts existing Eclipse project configuration to Maven model */ public abstract void convert(IProject project, Model model, IProgressMonitor monitor) throws CoreException; - - + public String toString() { - return (name == null)?getId():name; + return (name == null) ? getId() : name; } /** * Returns all the Maven packagings this conversion participant is restricted to. * * @return an unmodifiable {@link Set} copy of Maven packagings, can be <code>null</code>. - * @since 1.3 + * @since 1.3 */ public Set<String> getRestrictedPackagings() { - return restrictedPackagings == null? null : Collections.unmodifiableSet(restrictedPackagings); + return restrictedPackagings == null ? null : Collections.unmodifiableSet(restrictedPackagings); } /** * Checks if this conversion participant allows the given Maven packaging to be converted :<br/> - * If there are no packaging restrictions or the packaging restrictions contain this packaging, - * then it's considered compatible. + * If there are no packaging restrictions or the packaging restrictions contain this packaging, then it's considered + * compatible. * * @param packaging the Maven packaging to check * @return <code>true</code> if the packaging is compatible with this conversion participant. */ public boolean isPackagingCompatible(String packaging) { boolean isCompatible = restrictedPackagings == null || restrictedPackagings.isEmpty() //no restrictions - || restrictedPackagings.contains(packaging); + || restrictedPackagings.contains(packaging); return isCompatible; } /** * Adds a Maven packaging to the set of restricted, compatible packagings for this converter. + * * @param packaging the compatible Maven packaging to add */ public void addRestrictedPackaging(String packaging) { - if (packaging != null) { - if (restrictedPackagings == null) { + if(packaging != null) { + if(restrictedPackagings == null) { restrictedPackagings = new HashSet<String>(); } restrictedPackagings.add(packaging); } } - + } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/conversion/IProjectConversionManager.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/conversion/IProjectConversionManager.java index d4b39f20..7665e8c5 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/conversion/IProjectConversionManager.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/conversion/IProjectConversionManager.java @@ -34,8 +34,7 @@ public interface IProjectConversionManager { void convert(IProject project, Model model, IProgressMonitor monitor) throws CoreException; /** - * Returns an unmodifiable list of all {@link AbstractProjectConversionParticipant}s applying - * to the given project. + * Returns an unmodifiable list of all {@link AbstractProjectConversionParticipant}s applying to the given project. * Packaging restrictions on {@link AbstractProjectConversionParticipant}s will be ignored. * * @deprecated since 1.3 Use {@link #getConversionParticipants(IProject, String)} instead. @@ -44,10 +43,11 @@ public interface IProjectConversionManager { List<AbstractProjectConversionParticipant> getConversionParticipants(IProject project) throws CoreException; /** - * Returns an unmodifiable list of all {@link AbstractProjectConversionParticipant}s applying - * to the given project and packaging. + * Returns an unmodifiable list of all {@link AbstractProjectConversionParticipant}s applying to the given project and + * packaging. * * @since 1.3 */ - List<AbstractProjectConversionParticipant> getConversionParticipants(IProject project, String packaging) throws CoreException; + List<AbstractProjectConversionParticipant> getConversionParticipants(IProject project, String packaging) + throws CoreException; } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/repository/IRepository.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/repository/IRepository.java index 285cc99e..2064940c 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/repository/IRepository.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/repository/IRepository.java @@ -15,9 +15,10 @@ import java.io.File; import org.apache.maven.wagon.authentication.AuthenticationInfo; + /** * Repository tracked by repository registry. - * + * * @author igor */ public interface IRepository { @@ -42,45 +43,36 @@ public interface IRepository { public AuthenticationInfo getAuthenticationInfo(); /** - * Repository URL + * Repository URL */ public String getUrl(); /** - * For local repositories, returns basedir of repository contents. - * - * Returns null for remote repositories; + * For local repositories, returns basedir of repository contents. Returns null for remote repositories; */ public File getBasedir(); /** - * Repository id element as defined in settings.xml or pom.xml file. - * - * Note that repository id is a reference to server element in settings.xml file, - * it does not uniquely identify a repository. + * Repository id element as defined in settings.xml or pom.xml file. Note that repository id is a reference to server + * element in settings.xml file, it does not uniquely identify a repository. */ public String getId(); /** - * Unique repository id. Generated based on combination of repository url and userId. - * Can be used to store repository-related information on local filesystem. + * Unique repository id. Generated based on combination of repository url and userId. Can be used to store + * repository-related information on local filesystem. */ public String getUid(); /** - * Indicates that repository id matches mirrorOf clause of a mirror. In other - * words, all repository requests will be redirected to a mirror. - * - * If null, repository is accessed directly. - * - * TODO decide return value format. + * Indicates that repository id matches mirrorOf clause of a mirror. In other words, all repository requests will be + * redirected to a mirror. If null, repository is accessed directly. TODO decide return value format. */ public String getMirrorId(); /** - * For repository mirrors, returns value of mirrorOf element as defined in settings.xml. - * - * Returns null for other repositories. + * For repository mirrors, returns value of mirrorOf element as defined in settings.xml. Returns null for other + * repositories. */ public String getMirrorOf(); @@ -92,7 +84,7 @@ public interface IRepository { public boolean isScope(int scope); /** - * Human readable repository identifier + * Human readable repository identifier */ public String toString(); } diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/repository/IRepositoryRegistry.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/repository/IRepositoryRegistry.java index 5e676adf..ccffae8e 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/repository/IRepositoryRegistry.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/repository/IRepositoryRegistry.java @@ -15,19 +15,15 @@ import java.util.List; import org.eclipse.m2e.core.embedder.ArtifactRepositoryRef; + /** - * Registry of repositories accessible by m2e. - * - * The registry automatically tracks the following repositories - * + * Registry of repositories accessible by m2e. The registry automatically tracks the following repositories * <dl> * <li>Maven local repository * <li>Workspace repository * <li>Mirrors defined in settings.xml - * <li>Repositories and pluginRepositories defined in active profiles in - * settings.xml - * <li>Repositories and pluginRepositories defined in pom.xml files of - * workspace Maven projects. + * <li>Repositories and pluginRepositories defined in active profiles in settings.xml + * <li>Repositories and pluginRepositories defined in pom.xml files of workspace Maven projects. * </dl> * * @author igor @@ -59,7 +55,6 @@ public interface IRepositoryRegistry { */ public static final int SCOPE_PROJECT = 1 << 4; - public List<IRepository> getRepositories(int scope); public IRepository getWorkspaceRepository(); |