Skip to content

Commit 8351fde

Browse files
committed
Move the computeMultiModuleProjectDirectory to MavenProperties
1 parent b86643b commit 8351fde

File tree

6 files changed

+32
-27
lines changed

6 files changed

+32
-27
lines changed

org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenExecutionContext.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ public class MavenExecutionContext implements IMavenExecutionContext {
116116
*/
117117
public MavenExecutionContext(IComponentLookup lookup, File baseDir,
118118
Function<? super MavenExecutionContext, MavenProject> projectSupplier) {
119-
this(lookup, baseDir, PlexusContainerManager.computeMultiModuleProjectDirectory(baseDir), projectSupplier);
119+
this(lookup, baseDir, MavenProperties.computeMultiModuleProjectDirectory(baseDir), projectSupplier);
120120
}
121121

122122
public MavenExecutionContext(IComponentLookup lookup, File baseDir, File multiModuleProjectDirectory,

org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/MavenProperties.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
package org.eclipse.m2e.core.internal.embedder;
2323

24+
import java.io.File;
2425
import java.io.IOException;
2526
import java.io.InputStream;
2627
import java.text.SimpleDateFormat;
@@ -30,6 +31,9 @@
3031
import org.slf4j.Logger;
3132
import org.slf4j.LoggerFactory;
3233

34+
import org.eclipse.core.resources.IWorkspace;
35+
import org.eclipse.core.resources.ResourcesPlugin;
36+
3337
import org.apache.maven.cli.MavenCli;
3438
import org.apache.maven.shared.utils.StringUtils;
3539

@@ -133,4 +137,24 @@ public static void setProperties(Properties properties) {
133137
properties.setProperty("maven.build.version", mavenBuildVersion);
134138
}
135139
}
140+
141+
/**
142+
* @param file a base file or directory, may be <code>null</code>
143+
* @return the value for `maven.multiModuleProjectDirectory` as defined in Maven launcher
144+
*/
145+
public static File computeMultiModuleProjectDirectory(File file) {
146+
if(file == null) {
147+
return null;
148+
}
149+
final File basedir = file.isDirectory() ? file : file.getParentFile();
150+
IWorkspace workspace = ResourcesPlugin.getWorkspace();
151+
File workspaceRoot = workspace.getRoot().getLocation().toFile();
152+
153+
for(File root = basedir; root != null && !root.equals(workspaceRoot); root = root.getParentFile()) {
154+
if(new File(root, IMavenPlexusContainer.MVN_FOLDER).isDirectory()) {
155+
return root;
156+
}
157+
}
158+
return null;
159+
}
136160
}

org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/embedder/PlexusContainerManager.java

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838

3939
import org.eclipse.core.resources.IResource;
4040
import org.eclipse.core.resources.IWorkspace;
41-
import org.eclipse.core.resources.ResourcesPlugin;
4241
import org.eclipse.core.runtime.CoreException;
4342
import org.eclipse.core.runtime.ILog;
4443
import org.eclipse.core.runtime.Platform;
@@ -164,7 +163,7 @@ public IMavenPlexusContainer aquire(IResource basedir) throws Exception {
164163
}
165164

166165
public IMavenPlexusContainer aquire(File basedir) throws Exception {
167-
File directory = computeMultiModuleProjectDirectory(basedir);
166+
File directory = MavenProperties.computeMultiModuleProjectDirectory(basedir);
168167
if(directory == null) {
169168
return aquire();
170169
}
@@ -443,26 +442,6 @@ private CoreException throwException() {
443442

444443
}
445444

446-
/**
447-
* @param file a base file or directory, may be <code>null</code>
448-
* @return the value for `maven.multiModuleProjectDirectory` as defined in Maven launcher
449-
*/
450-
public static File computeMultiModuleProjectDirectory(File file) {
451-
if(file == null) {
452-
return null;
453-
}
454-
final File basedir = file.isDirectory() ? file : file.getParentFile();
455-
IWorkspace workspace = ResourcesPlugin.getWorkspace();
456-
File workspaceRoot = workspace.getRoot().getLocation().toFile();
457-
458-
for(File root = basedir; root != null && !root.equals(workspaceRoot); root = root.getParentFile()) {
459-
if(new File(root, IMavenPlexusContainer.MVN_FOLDER).isDirectory()) {
460-
return root;
461-
}
462-
}
463-
return null;
464-
}
465-
466445
public static IComponentLookup wrap(PlexusContainer container) {
467446
return wrap(container, container.getContainerRealm());
468447
}

org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/MavenProjectFacade.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
import org.eclipse.m2e.core.internal.Messages;
5858
import org.eclipse.m2e.core.internal.embedder.IMavenPlexusContainer;
5959
import org.eclipse.m2e.core.internal.embedder.MavenExecutionContext;
60+
import org.eclipse.m2e.core.internal.embedder.MavenProperties;
6061
import org.eclipse.m2e.core.internal.embedder.PlexusContainerManager;
6162
import org.eclipse.m2e.core.lifecyclemapping.model.IPluginExecutionMetadata;
6263
import org.eclipse.m2e.core.project.IMavenProjectFacade;
@@ -135,7 +136,7 @@ public MavenProjectFacade(ProjectRegistryManager manager, IFile pom, MavenProjec
135136
// but https://github.com/eclipse-m2e/m2e-core/issues/904 will add support for a user to specify a custom root directory
136137
// and then we should really inherit this from the configuration!
137138
this.resolverConfiguration = new MavenProjectConfiguration(resolverConfiguration,
138-
PlexusContainerManager.computeMultiModuleProjectDirectory(pomFile));
139+
MavenProperties.computeMultiModuleProjectDirectory(pomFile));
139140

140141
this.artifactKey = new ArtifactKey(mavenProject.getArtifact());
141142
this.packaging = mavenProject.getPackaging();

org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ProjectRegistryManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@
9595
import org.eclipse.m2e.core.internal.Messages;
9696
import org.eclipse.m2e.core.internal.URLConnectionCaches;
9797
import org.eclipse.m2e.core.internal.embedder.MavenExecutionContext;
98+
import org.eclipse.m2e.core.internal.embedder.MavenProperties;
9899
import org.eclipse.m2e.core.internal.embedder.PlexusContainerManager;
99100
import org.eclipse.m2e.core.internal.lifecyclemapping.LifecycleMappingFactory;
100101
import org.eclipse.m2e.core.internal.lifecyclemapping.LifecycleMappingResult;
@@ -941,7 +942,7 @@ private MavenExecutionRequest configureExecutionRequest(MavenExecutionRequest re
941942
request.setWorkspaceReader(getWorkspaceReader(state, pom, resolverConfiguration));
942943
if(pom != null && pom.getLocation() != null) {
943944
request.setMultiModuleProjectDirectory(
944-
PlexusContainerManager.computeMultiModuleProjectDirectory(pom.getLocation().toFile()));
945+
MavenProperties.computeMultiModuleProjectDirectory(pom.getLocation().toFile()));
945946
}
946947

947948
return request;

org.eclipse.m2e.core/src/org/eclipse/m2e/core/project/ResolverConfiguration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
import org.eclipse.core.resources.IProject;
2727

28-
import org.eclipse.m2e.core.internal.embedder.PlexusContainerManager;
28+
import org.eclipse.m2e.core.internal.embedder.MavenProperties;
2929

3030

3131
/**
@@ -52,7 +52,7 @@ public ResolverConfiguration() {
5252

5353
public ResolverConfiguration(IProject project) {
5454
setMultiModuleProjectDirectory(
55-
PlexusContainerManager.computeMultiModuleProjectDirectory(project.getLocation().toFile()));
55+
MavenProperties.computeMultiModuleProjectDirectory(project.getLocation().toFile()));
5656
}
5757

5858
/**

0 commit comments

Comments
 (0)