mirror of https://github.com/apache/maven.git
Post merge fix (the profile condition activation missed some reshuffle of project layout) (#1933)
This commit is contained in:
parent
a55accd518
commit
9bea6ec23b
|
@ -119,6 +119,11 @@ under the License.
|
|||
<artifactId>junit-jupiter-api</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-simple</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mockito</groupId>
|
||||
<artifactId>mockito-core</artifactId>
|
||||
|
|
|
@ -48,7 +48,7 @@ public class DefaultRootLocator implements RootLocator {
|
|||
|
||||
@Override
|
||||
public Path findRoot(Path basedir) {
|
||||
requireNonNull(basedir, "basedir is null");
|
||||
requireNonNull(basedir, getNoRootMessage());
|
||||
Path rootDirectory = basedir;
|
||||
while (rootDirectory != null && !isRootDirectory(rootDirectory)) {
|
||||
rootDirectory = rootDirectory.getParent();
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
package org.apache.maven.internal.impl.model.profile;
|
||||
|
||||
import java.nio.file.Path;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.apache.maven.api.model.Model;
|
||||
|
@ -25,6 +26,7 @@ import org.apache.maven.api.model.Profile;
|
|||
import org.apache.maven.api.services.model.ProfileActivationContext;
|
||||
import org.apache.maven.api.services.model.ProfileActivator;
|
||||
import org.apache.maven.internal.impl.model.DefaultProfileActivationContext;
|
||||
import org.apache.maven.internal.impl.model.rootlocator.DefaultRootLocator;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
|
||||
|
@ -35,6 +37,12 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
|
|||
*
|
||||
*/
|
||||
public abstract class AbstractProfileActivatorTest<T extends ProfileActivator> {
|
||||
static class FakeRootLocator extends DefaultRootLocator {
|
||||
@Override
|
||||
protected boolean isRootDirectory(Path dir) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
protected T activator;
|
||||
|
|
@ -29,9 +29,9 @@ import org.apache.maven.internal.impl.DefaultVersionParser;
|
|||
import org.apache.maven.internal.impl.model.DefaultInterpolator;
|
||||
import org.apache.maven.internal.impl.model.DefaultPathTranslator;
|
||||
import org.apache.maven.internal.impl.model.DefaultProfileActivationContext;
|
||||
import org.apache.maven.internal.impl.model.DefaultRootLocator;
|
||||
import org.apache.maven.internal.impl.model.ProfileActivationFilePathInterpolator;
|
||||
import org.apache.maven.internal.impl.model.profile.ConditionParser.ExpressionFunction;
|
||||
import org.apache.maven.internal.impl.model.rootlocator.DefaultRootLocator;
|
||||
import org.eclipse.aether.util.version.GenericVersionScheme;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
@ -53,7 +53,9 @@ class ConditionParserTest {
|
|||
DefaultVersionParser versionParser =
|
||||
new DefaultVersionParser(new DefaultModelVersionParser(new GenericVersionScheme()));
|
||||
ProfileActivationFilePathInterpolator interpolator = new ProfileActivationFilePathInterpolator(
|
||||
new DefaultPathTranslator(), bd -> true, new DefaultInterpolator());
|
||||
new DefaultPathTranslator(),
|
||||
new AbstractProfileActivatorTest.FakeRootLocator(),
|
||||
new DefaultInterpolator());
|
||||
DefaultRootLocator rootLocator = new DefaultRootLocator();
|
||||
|
||||
functions = ConditionProfileActivator.registerFunctions(context, versionParser, interpolator);
|
|
@ -33,8 +33,8 @@ import org.apache.maven.internal.impl.DefaultVersionParser;
|
|||
import org.apache.maven.internal.impl.model.DefaultInterpolator;
|
||||
import org.apache.maven.internal.impl.model.DefaultPathTranslator;
|
||||
import org.apache.maven.internal.impl.model.DefaultProfileActivationContext;
|
||||
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.eclipse.aether.util.version.GenericVersionScheme;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
|
@ -57,7 +57,7 @@ public class ConditionProfileActivatorTest extends AbstractProfileActivatorTest<
|
|||
activator = new ConditionProfileActivator(
|
||||
new DefaultVersionParser(new DefaultModelVersionParser(new GenericVersionScheme())),
|
||||
new ProfileActivationFilePathInterpolator(
|
||||
new DefaultPathTranslator(), bd -> true, new DefaultInterpolator()),
|
||||
new DefaultPathTranslator(), new FakeRootLocator(), new DefaultInterpolator()),
|
||||
new DefaultRootLocator());
|
||||
|
||||
Path file = tempDir.resolve("file.txt");
|
|
@ -53,7 +53,7 @@ class FileProfileActivatorTest extends AbstractProfileActivatorTest<FileProfileA
|
|||
@Override
|
||||
void setUp() throws Exception {
|
||||
activator = new FileProfileActivator(new ProfileActivationFilePathInterpolator(
|
||||
new DefaultPathTranslator(), bd -> true, new DefaultInterpolator()));
|
||||
new DefaultPathTranslator(), new FakeRootLocator(), new DefaultInterpolator()));
|
||||
|
||||
context.setModel(Model.newBuilder().pomFile(tempDir.resolve("pom.xml")).build());
|
||||
|
||||
|
@ -67,8 +67,8 @@ class FileProfileActivatorTest extends AbstractProfileActivatorTest<FileProfileA
|
|||
void testRootDirectoryWithNull() {
|
||||
context.setModel(Model.newInstance());
|
||||
|
||||
IllegalStateException e = assertThrows(
|
||||
IllegalStateException.class,
|
||||
NullPointerException e = assertThrows(
|
||||
NullPointerException.class,
|
||||
() -> assertActivation(false, newExistsProfile("${project.rootDirectory}"), context));
|
||||
assertEquals(RootLocator.UNABLE_TO_FIND_ROOT_PROJECT_MESSAGE, e.getMessage());
|
||||
}
|
Loading…
Reference in New Issue