mirror of https://github.com/apache/maven.git
Make rootDirectory mandatory (#1787)
Co-authored-by: Guillaume Nodet <gnodet@gmail.com>
This commit is contained in:
parent
6c8b808760
commit
445236398d
|
@ -158,7 +158,6 @@ public interface Session {
|
|||
* Gets the root directory of the session, which is the root directory for the top directory project.
|
||||
*
|
||||
* @return the root directory, never {@code null}
|
||||
* @throws IllegalStateException if the root directory could not be found
|
||||
* @see #getTopDirectory()
|
||||
* @see Project#getRootDirectory()
|
||||
* @see Project#isRootProject()
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.apache.maven.api.services.model;
|
||||
|
||||
import java.nio.file.Path;
|
||||
|
||||
import org.apache.maven.api.Service;
|
||||
|
||||
/**
|
||||
* Interface used to detect is a given directory "root directory".
|
||||
*/
|
||||
public interface RootDetector extends Service {
|
||||
boolean isRootDirectory(Path dir);
|
||||
}
|
|
@ -22,12 +22,11 @@ import java.nio.file.Path;
|
|||
|
||||
import org.apache.maven.api.Service;
|
||||
import org.apache.maven.api.annotations.Nonnull;
|
||||
import org.apache.maven.api.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* Interface used to locate the root directory for a given project.
|
||||
*
|
||||
* The root locator is usually looked up from the plexus container.
|
||||
* The root locator is usually looked up from the DI container.
|
||||
* One notable exception is the computation of the early {@code session.rootDirectory}
|
||||
* property which happens very early. The implementation used in this case
|
||||
* will be discovered using the JDK service mechanism.
|
||||
|
@ -42,27 +41,10 @@ public interface RootLocator extends Service {
|
|||
+ " attribute on the root project's model to identify it.";
|
||||
|
||||
@Nonnull
|
||||
default Path findMandatoryRoot(@Nullable Path basedir) {
|
||||
Path rootDirectory = findRoot(basedir);
|
||||
if (rootDirectory == null) {
|
||||
throw new IllegalStateException(getNoRootMessage());
|
||||
}
|
||||
return rootDirectory;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
default Path findRoot(@Nullable Path basedir) {
|
||||
Path rootDirectory = basedir;
|
||||
while (rootDirectory != null && !isRootDirectory(rootDirectory)) {
|
||||
rootDirectory = rootDirectory.getParent();
|
||||
}
|
||||
return rootDirectory;
|
||||
}
|
||||
Path findMandatoryRoot(@Nonnull Path basedir);
|
||||
|
||||
@Nonnull
|
||||
default String getNoRootMessage() {
|
||||
return UNABLE_TO_FIND_ROOT_PROJECT_MESSAGE;
|
||||
}
|
||||
|
||||
boolean isRootDirectory(Path dir);
|
||||
}
|
||||
|
|
|
@ -106,7 +106,6 @@ import org.apache.maven.api.services.model.PluginManagementInjector;
|
|||
import org.apache.maven.api.services.model.ProfileActivationContext;
|
||||
import org.apache.maven.api.services.model.ProfileInjector;
|
||||
import org.apache.maven.api.services.model.ProfileSelector;
|
||||
import org.apache.maven.api.services.model.RootLocator;
|
||||
import org.apache.maven.api.services.xml.XmlReaderException;
|
||||
import org.apache.maven.api.services.xml.XmlReaderRequest;
|
||||
import org.apache.maven.api.spi.ModelParserException;
|
||||
|
@ -633,12 +632,7 @@ public class DefaultModelBuilder implements ModelBuilder {
|
|||
top = top.toAbsolutePath().normalize();
|
||||
|
||||
// Obtain the root directory, resolving it if necessary
|
||||
Path rootDirectory;
|
||||
try {
|
||||
rootDirectory = session.getRootDirectory();
|
||||
} catch (IllegalStateException e) {
|
||||
rootDirectory = session.getService(RootLocator.class).findRoot(top);
|
||||
}
|
||||
Path rootDirectory = session.getRootDirectory();
|
||||
|
||||
// Locate and normalize the root POM if it exists, fallback to top otherwise
|
||||
Path root = modelProcessor.locateExistingPom(rootDirectory);
|
||||
|
@ -1177,19 +1171,11 @@ public class DefaultModelBuilder implements ModelBuilder {
|
|||
Model doReadFileModel() throws ModelBuilderException {
|
||||
ModelSource modelSource = request.getSource();
|
||||
Model model;
|
||||
Path rootDirectory;
|
||||
Path rootDirectory = request.getSession().getRootDirectory();
|
||||
setSource(modelSource.getLocation());
|
||||
logger.debug("Reading file model from " + modelSource.getLocation());
|
||||
try {
|
||||
boolean strict = request.getRequestType() == ModelBuilderRequest.RequestType.BUILD_POM;
|
||||
try {
|
||||
rootDirectory = request.getSession().getRootDirectory();
|
||||
} catch (IllegalStateException ignore) {
|
||||
rootDirectory = modelSource.getPath();
|
||||
while (rootDirectory != null && !Files.isDirectory(rootDirectory)) {
|
||||
rootDirectory = rootDirectory.getParent();
|
||||
}
|
||||
}
|
||||
try (InputStream is = modelSource.openStream()) {
|
||||
model = modelProcessor.read(XmlReaderRequest.builder()
|
||||
.strict(strict)
|
||||
|
@ -1592,12 +1578,7 @@ public class DefaultModelBuilder implements ModelBuilder {
|
|||
return null;
|
||||
}
|
||||
|
||||
Path rootDirectory;
|
||||
try {
|
||||
rootDirectory = request.getSession().getRootDirectory();
|
||||
} catch (IllegalStateException e) {
|
||||
rootDirectory = null;
|
||||
}
|
||||
Path rootDirectory = request.getSession().getRootDirectory();
|
||||
if (request.getRequestType() == ModelBuilderRequest.RequestType.BUILD_POM && rootDirectory != null) {
|
||||
Path sourcePath = importSource.getPath();
|
||||
if (sourcePath != null && sourcePath.startsWith(rootDirectory)) {
|
||||
|
|
|
@ -0,0 +1,85 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.apache.maven.internal.impl.model.rootlocator;
|
||||
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.ServiceLoader;
|
||||
|
||||
import org.apache.maven.api.annotations.Nonnull;
|
||||
import org.apache.maven.api.di.Named;
|
||||
import org.apache.maven.api.services.model.RootDetector;
|
||||
import org.apache.maven.api.services.model.RootLocator;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import static java.util.Objects.requireNonNull;
|
||||
|
||||
@Named
|
||||
public class DefaultRootLocator implements RootLocator {
|
||||
private final Logger logger = LoggerFactory.getLogger(getClass());
|
||||
|
||||
private final List<RootDetector> rootDetectors;
|
||||
|
||||
public DefaultRootLocator() {
|
||||
this.rootDetectors = ServiceLoader.load(RootDetector.class).stream()
|
||||
.map(ServiceLoader.Provider::get)
|
||||
.toList();
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
public Path findMandatoryRoot(@Nonnull Path basedir) {
|
||||
requireNonNull(basedir, "basedir is null");
|
||||
Path rootDirectory = basedir;
|
||||
while (rootDirectory != null && !isRootDirectory(rootDirectory)) {
|
||||
rootDirectory = rootDirectory.getParent();
|
||||
}
|
||||
Optional<Path> rdf = getMultiModuleProjectDirectory();
|
||||
if (rootDirectory == null) {
|
||||
logger.warn(getNoRootMessage());
|
||||
rootDirectory = rdf.orElseGet(() -> Paths.get("").toAbsolutePath());
|
||||
} else {
|
||||
if (rdf.isPresent() && !Objects.equals(rootDirectory, rdf.get())) {
|
||||
logger.warn("Project root directory and multiModuleProjectDirectory are not aligned");
|
||||
}
|
||||
}
|
||||
return rootDirectory;
|
||||
}
|
||||
|
||||
protected boolean isRootDirectory(Path dir) {
|
||||
requireNonNull(dir, "dir is null");
|
||||
for (RootDetector rootDetector : rootDetectors) {
|
||||
if (rootDetector.isRootDirectory(dir)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
protected Optional<Path> getMultiModuleProjectDirectory() {
|
||||
String mmpd = System.getProperty("maven.multiModuleProjectDirectory");
|
||||
if (mmpd != null) {
|
||||
return Optional.of(Paths.get(mmpd));
|
||||
}
|
||||
return Optional.empty();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.apache.maven.internal.impl.model.rootlocator;
|
||||
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
|
||||
import org.apache.maven.api.di.Named;
|
||||
import org.apache.maven.api.services.model.RootDetector;
|
||||
|
||||
@Named
|
||||
public class DotMvnRootDetector implements RootDetector {
|
||||
@Override
|
||||
public boolean isRootDirectory(Path dir) {
|
||||
return Files.isDirectory(dir.resolve(".mvn"));
|
||||
}
|
||||
}
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.apache.maven.internal.impl.model;
|
||||
package org.apache.maven.internal.impl.model.rootlocator;
|
||||
|
||||
import javax.xml.stream.XMLInputFactory;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
@ -27,28 +27,13 @@ import java.io.InputStream;
|
|||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
|
||||
import org.apache.maven.api.annotations.Nullable;
|
||||
import org.apache.maven.api.di.Named;
|
||||
import org.apache.maven.api.services.model.RootLocator;
|
||||
import org.apache.maven.api.services.model.RootDetector;
|
||||
|
||||
@Named
|
||||
public class DefaultRootLocator implements RootLocator {
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public Path findRoot(Path basedir) {
|
||||
Path rootDirectory = basedir;
|
||||
while (rootDirectory != null && !isRootDirectory(rootDirectory)) {
|
||||
rootDirectory = rootDirectory.getParent();
|
||||
}
|
||||
return rootDirectory;
|
||||
}
|
||||
|
||||
public class PomXmlRootDetector implements RootDetector {
|
||||
@Override
|
||||
public boolean isRootDirectory(Path dir) {
|
||||
if (Files.isDirectory(dir.resolve(".mvn"))) {
|
||||
return true;
|
||||
}
|
||||
// we're too early to use the modelProcessor ...
|
||||
Path pom = dir.resolve("pom.xml");
|
||||
try (InputStream is = Files.newInputStream(pom)) {
|
|
@ -0,0 +1,2 @@
|
|||
org.apache.maven.internal.impl.model.rootlocator.DotMvnRootDetector
|
||||
org.apache.maven.internal.impl.model.rootlocator.PomXmlRootDetector
|
|
@ -0,0 +1 @@
|
|||
org.apache.maven.internal.impl.model.rootlocator.DefaultRootLocator
|
|
@ -52,6 +52,7 @@ import org.apache.maven.api.services.PackagingRegistry;
|
|||
import org.apache.maven.api.services.RepositoryFactory;
|
||||
import org.apache.maven.api.services.SettingsBuilder;
|
||||
import org.apache.maven.api.services.TypeRegistry;
|
||||
import org.apache.maven.api.services.model.RootLocator;
|
||||
import org.apache.maven.api.settings.Settings;
|
||||
import org.apache.maven.api.spi.TypeProvider;
|
||||
import org.apache.maven.di.Injector;
|
||||
|
@ -153,12 +154,12 @@ public class ApiRunner {
|
|||
|
||||
@Override
|
||||
public Path getTopDirectory() {
|
||||
return null;
|
||||
return Paths.get("");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Path getRootDirectory() {
|
||||
throw new IllegalStateException();
|
||||
return getService(RootLocator.class).findMandatoryRoot(getTopDirectory());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -47,8 +47,8 @@ import org.apache.maven.internal.impl.model.DefaultPathTranslator;
|
|||
import org.apache.maven.internal.impl.model.DefaultPluginManagementInjector;
|
||||
import org.apache.maven.internal.impl.model.DefaultProfileInjector;
|
||||
import org.apache.maven.internal.impl.model.DefaultProfileSelector;
|
||||
import org.apache.maven.internal.impl.model.DefaultRootLocator;
|
||||
import org.apache.maven.internal.impl.model.ProfileActivationFilePathInterpolator;
|
||||
import org.apache.maven.internal.impl.model.rootlocator.DefaultRootLocator;
|
||||
import org.apache.maven.internal.impl.resolver.DefaultArtifactDescriptorReader;
|
||||
import org.apache.maven.internal.impl.resolver.DefaultModelResolver;
|
||||
import org.apache.maven.internal.impl.resolver.DefaultVersionRangeResolver;
|
||||
|
|
|
@ -31,7 +31,6 @@ import java.util.Arrays;
|
|||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Properties;
|
||||
import java.util.ServiceLoader;
|
||||
import java.util.function.Function;
|
||||
|
@ -43,10 +42,10 @@ import org.apache.maven.api.cli.Parser;
|
|||
import org.apache.maven.api.cli.ParserException;
|
||||
import org.apache.maven.api.cli.ParserRequest;
|
||||
import org.apache.maven.api.cli.extensions.CoreExtension;
|
||||
import org.apache.maven.api.services.model.RootLocator;
|
||||
import org.apache.maven.cli.CLIReportingUtils;
|
||||
import org.apache.maven.cli.internal.extension.io.CoreExtensionsStaxReader;
|
||||
import org.apache.maven.cli.props.MavenPropertiesLoader;
|
||||
import org.apache.maven.model.root.RootLocator;
|
||||
import org.apache.maven.properties.internal.EnvironmentUtils;
|
||||
import org.apache.maven.properties.internal.SystemProperties;
|
||||
|
||||
|
@ -196,30 +195,10 @@ public abstract class BaseParser<O extends Options, R extends InvokerRequest<O>>
|
|||
}
|
||||
|
||||
protected Path getRootDirectory(LocalContext context) throws ParserException {
|
||||
RootLocator rootLocator =
|
||||
ServiceLoader.load(RootLocator.class).iterator().next();
|
||||
Path rootDirectory = rootLocator.findRoot(requireNonNull(context.topDirectory));
|
||||
|
||||
// TODO: multiModuleProjectDirectory vs rootDirectory?
|
||||
// fallback if no root? otherwise make sure they are same?
|
||||
Path mmpd = System.getProperty("maven.multiModuleProjectDirectory") == null
|
||||
? null
|
||||
: getCanonicalPath(context.cwd.resolve(requireNonNull(
|
||||
System.getProperty("maven.multiModuleProjectDirectory"),
|
||||
"maven.multiModuleProjectDirectory is not set")));
|
||||
if (rootDirectory == null) {
|
||||
context.parserRequest.logger().warn(rootLocator.getNoRootMessage());
|
||||
rootDirectory = requireNonNull(
|
||||
mmpd, "maven.multiModuleProjectDirectory is not set and rootDirectory was not discovered");
|
||||
} else {
|
||||
rootDirectory = getCanonicalPath(rootDirectory);
|
||||
if (mmpd != null && !Objects.equals(rootDirectory, mmpd)) {
|
||||
context.parserRequest
|
||||
.logger()
|
||||
.warn("Project root directory and multiModuleProjectDirectory are not aligned");
|
||||
}
|
||||
}
|
||||
return getCanonicalPath(rootDirectory);
|
||||
return getCanonicalPath(ServiceLoader.load(RootLocator.class)
|
||||
.iterator()
|
||||
.next()
|
||||
.findMandatoryRoot(requireNonNull(context.topDirectory)));
|
||||
}
|
||||
|
||||
protected Map<String, String> populateSystemProperties(LocalContext context) throws ParserException {
|
||||
|
|
|
@ -90,7 +90,7 @@ public abstract class AbstractCoreMavenComponentTestCase {
|
|||
}
|
||||
|
||||
protected MavenExecutionRequest createMavenExecutionRequest(File pom) throws Exception {
|
||||
MavenExecutionRequest request = new DefaultMavenExecutionRequest()
|
||||
MavenExecutionRequest request = new DefaultMavenExecutionRequest(true)
|
||||
.setPom(pom)
|
||||
.setProjectPresent(true)
|
||||
.setShowErrors(true)
|
||||
|
@ -102,6 +102,7 @@ public abstract class AbstractCoreMavenComponentTestCase {
|
|||
|
||||
if (pom != null) {
|
||||
request.setMultiModuleProjectDirectory(pom.getParentFile());
|
||||
request.setRootDirectory(pom.getParentFile().toPath());
|
||||
}
|
||||
|
||||
return request;
|
||||
|
|
|
@ -161,7 +161,7 @@ public abstract class AbstractMavenProjectTestCase {
|
|||
session.setLocalRepositoryManager(new LegacyLocalRepositoryManager(localRepo));
|
||||
request.setRepositorySession(session);
|
||||
|
||||
DefaultMavenExecutionRequest mavenExecutionRequest = new DefaultMavenExecutionRequest();
|
||||
DefaultMavenExecutionRequest mavenExecutionRequest = new DefaultMavenExecutionRequest(true);
|
||||
MavenSession msession =
|
||||
new MavenSession(getContainer(), session, mavenExecutionRequest, new DefaultMavenExecutionResult());
|
||||
DefaultSession iSession = new DefaultSession(
|
||||
|
|
|
@ -123,7 +123,7 @@ class LegacyRepositorySystemTest {
|
|||
new LocalRepository(request.getLocalRepository().getBasedir());
|
||||
session.setLocalRepositoryManager(new SimpleLocalRepositoryManagerFactory().newInstance(session, localRepo));
|
||||
LegacySupport legacySupport = container.lookup(LegacySupport.class);
|
||||
DefaultMavenExecutionRequest mavenExecutionRequest = new DefaultMavenExecutionRequest();
|
||||
DefaultMavenExecutionRequest mavenExecutionRequest = new DefaultMavenExecutionRequest(true);
|
||||
MavenSession mavenSession =
|
||||
new MavenSession(container, session, mavenExecutionRequest, new DefaultMavenExecutionResult());
|
||||
legacySupport.setSession(mavenSession);
|
||||
|
|
|
@ -20,6 +20,7 @@ package org.apache.maven.execution;
|
|||
|
||||
import java.io.File;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
|
@ -172,6 +173,12 @@ public class DefaultMavenExecutionRequest implements MavenExecutionRequest {
|
|||
|
||||
public DefaultMavenExecutionRequest() {}
|
||||
|
||||
public DefaultMavenExecutionRequest(boolean withDefaultRoot) {
|
||||
if (withDefaultRoot) {
|
||||
setRootDirectory(Paths.get("").toAbsolutePath());
|
||||
}
|
||||
}
|
||||
|
||||
public static MavenExecutionRequest copy(MavenExecutionRequest original) {
|
||||
DefaultMavenExecutionRequest copy = new DefaultMavenExecutionRequest();
|
||||
copy.setLocalRepository(original.getLocalRepository());
|
||||
|
|
|
@ -21,6 +21,7 @@ package org.apache.maven;
|
|||
import javax.inject.Inject;
|
||||
|
||||
import java.io.File;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
@ -90,7 +91,8 @@ public abstract class AbstractCoreMavenComponentTestCase {
|
|||
|
||||
protected MavenExecutionRequest createMavenExecutionRequest(File pom) throws Exception {
|
||||
MavenExecutionRequest request = new DefaultMavenExecutionRequest()
|
||||
.setRootDirectory(pom != null ? pom.toPath().getParent() : null)
|
||||
.setRootDirectory(
|
||||
pom != null ? pom.toPath().getParent() : Paths.get("").toAbsolutePath())
|
||||
.setPom(pom)
|
||||
.setProjectPresent(true)
|
||||
.setShowErrors(true)
|
||||
|
|
|
@ -32,7 +32,7 @@ public class MavenTestHelper {
|
|||
public static DefaultRepositorySystemSession createSession(
|
||||
MavenRepositorySystem repositorySystem, PlexusContainer container) {
|
||||
DefaultRepositorySystemSession repoSession = new DefaultRepositorySystemSession(h -> false);
|
||||
DefaultMavenExecutionRequest request = new DefaultMavenExecutionRequest();
|
||||
DefaultMavenExecutionRequest request = new DefaultMavenExecutionRequest(true);
|
||||
MavenSession mavenSession = new MavenSession(repoSession, request, new DefaultMavenExecutionResult());
|
||||
DefaultSession session =
|
||||
new DefaultSession(mavenSession, null, null, repositorySystem, new DefaultLookup(container), null);
|
||||
|
|
|
@ -119,7 +119,7 @@ class TestApi {
|
|||
.get()
|
||||
.withLocalRepositoryBaseDirectories(new File("target").toPath())
|
||||
.build();
|
||||
DefaultMavenExecutionRequest mer = new DefaultMavenExecutionRequest();
|
||||
DefaultMavenExecutionRequest mer = new DefaultMavenExecutionRequest(true);
|
||||
DefaultMavenExecutionResult meres = new DefaultMavenExecutionResult();
|
||||
MavenSession ms = new MavenSession(rss, mer, meres);
|
||||
DefaultSession session = new DefaultSession(
|
||||
|
|
|
@ -164,7 +164,7 @@ public abstract class AbstractMavenProjectTestCase {
|
|||
new DefaultSessionFactory(repoSystem, repositorySystem, new DefaultLookup(container), null);
|
||||
|
||||
MavenSession session = new MavenSession(
|
||||
getContainer(), repoSession, new DefaultMavenExecutionRequest(), new DefaultMavenExecutionResult());
|
||||
getContainer(), repoSession, new DefaultMavenExecutionRequest(true), new DefaultMavenExecutionResult());
|
||||
session.setSession(defaultSessionFactory.newSession(session));
|
||||
|
||||
DefaultSession s = new DefaultSession(session, null, null, null, null, null);
|
||||
|
|
|
@ -29,7 +29,7 @@ import java.nio.file.Files;
|
|||
import java.nio.file.Path;
|
||||
|
||||
/**
|
||||
* @deprecated use {@link org.apache.maven.api.services.ModelBuilder} instead
|
||||
* @deprecated use {@link org.apache.maven.api.services.model.RootLocator} instead
|
||||
*/
|
||||
@Named
|
||||
@Deprecated(since = "4.0.0")
|
||||
|
|
|
@ -35,7 +35,7 @@ import org.apache.maven.api.annotations.Nullable;
|
|||
* or a {@code pom.xml} containing the {@code root="true"} attribute.
|
||||
*
|
||||
* @see DefaultRootLocator
|
||||
* @deprecated use {@link org.apache.maven.api.services.ModelBuilder} instead
|
||||
* @deprecated use {@link org.apache.maven.api.services.model.RootLocator} instead
|
||||
*/
|
||||
@Deprecated(since = "4.0.0")
|
||||
public interface RootLocator {
|
||||
|
|
|
@ -47,8 +47,8 @@ import org.apache.maven.internal.impl.model.DefaultPathTranslator;
|
|||
import org.apache.maven.internal.impl.model.DefaultPluginManagementInjector;
|
||||
import org.apache.maven.internal.impl.model.DefaultProfileInjector;
|
||||
import org.apache.maven.internal.impl.model.DefaultProfileSelector;
|
||||
import org.apache.maven.internal.impl.model.DefaultRootLocator;
|
||||
import org.apache.maven.internal.impl.model.ProfileActivationFilePathInterpolator;
|
||||
import org.apache.maven.internal.impl.model.rootlocator.DefaultRootLocator;
|
||||
import org.apache.maven.internal.impl.resolver.DefaultArtifactDescriptorReader;
|
||||
import org.apache.maven.internal.impl.resolver.DefaultVersionRangeResolver;
|
||||
import org.apache.maven.internal.impl.resolver.DefaultVersionResolver;
|
||||
|
|
Loading…
Reference in New Issue