diff --git a/pom.xml b/pom.xml index ab8d0e2..cc5c732 100644 --- a/pom.xml +++ b/pom.xml @@ -118,7 +118,7 @@ io.fabric8 maven-model-helper - 37 + 40 org.apache.maven diff --git a/src/it/lock/in-profile-mode-remote-parent/expected-pom.xml b/src/it/lock/in-profile-mode-remote-parent/expected-pom.xml new file mode 100644 index 0000000..d50fd4c --- /dev/null +++ b/src/it/lock/in-profile-mode-remote-parent/expected-pom.xml @@ -0,0 +1,75 @@ + + + 4.0.0 + + org.foo + foo-parent + 1.0.0 + + + bar + 999-SNAPSHOT + Bar + + 3.12.1 + 17 + UTF-8 + UTF-8 + + + + org.mvnpm + lit + 3.1.2 + + + org.mvnpm + lit-element + 4.0.4 + + + + + locker + + + !unlocked + + + + + + org.mvnpm.at.lit-labs + ssr-dom-shim + 1.4.0 + + + org.mvnpm.at.lit + reactive-element + 2.1.1 + + + org.mvnpm.at.types + trusted-types + 2.0.7 + + + org.mvnpm + lit-element + 4.0.4 + + + org.mvnpm + lit-html + 3.3.1 + + + org.mvnpm + lit + 3.1.2 + + + + + + diff --git a/src/it/lock/in-profile-mode-remote-parent/invoker.properties b/src/it/lock/in-profile-mode-remote-parent/invoker.properties new file mode 100644 index 0000000..7d2d28c --- /dev/null +++ b/src/it/lock/in-profile-mode-remote-parent/invoker.properties @@ -0,0 +1 @@ +invoker.goals = ${project.groupId}:${project.artifactId}:${project.version}:lock -Dlocker.mode=IN_PROFILE diff --git a/src/it/lock/in-profile-mode-remote-parent/pom.xml b/src/it/lock/in-profile-mode-remote-parent/pom.xml new file mode 100644 index 0000000..03cec69 --- /dev/null +++ b/src/it/lock/in-profile-mode-remote-parent/pom.xml @@ -0,0 +1,31 @@ + + + 4.0.0 + + org.foo + foo-parent + 1.0.0 + + + bar + 999-SNAPSHOT + Bar + + 3.12.1 + 17 + UTF-8 + UTF-8 + + + + org.mvnpm + lit + 3.1.2 + + + org.mvnpm + lit-element + 4.0.4 + + + diff --git a/src/it/lock/in-profile-mode-remote-parent/postbuild.groovy b/src/it/lock/in-profile-mode-remote-parent/postbuild.groovy new file mode 100644 index 0000000..2012bb3 --- /dev/null +++ b/src/it/lock/in-profile-mode-remote-parent/postbuild.groovy @@ -0,0 +1,22 @@ +import static org.assertj.core.api.Assertions.assertThat + +import java.nio.file.Files + +import org.xmlunit.assertj3.XmlAssert + +import io.mvnpm.maven.locker.XmlUnitTestSupport + +buildLog = Files.readAllLines(basedir.toPath().resolve("build.log")) +assertThat(buildLog) + .contains("[INFO] Adding 'locker' profile with 6 locked dependencies to the pom.xml...") + +lockedPom = basedir.toPath().resolve("pom.xml") +expectedPom = basedir.toPath().resolve("expected-pom.xml") + +XmlAssert.assertThat(Files.readString(lockedPom)) + .and(Files.readString(expectedPom)) + .withNodeFilter(XmlUnitTestSupport.ignoreMvnpmDependencyVersions()) + .ignoreWhitespace() + .areIdentical() + +true diff --git a/src/it/setup/remote-parent/invoker.properties b/src/it/setup/remote-parent/invoker.properties new file mode 100644 index 0000000..e513b11 --- /dev/null +++ b/src/it/setup/remote-parent/invoker.properties @@ -0,0 +1 @@ +invoker.goals = install diff --git a/src/it/setup/remote-parent/pom.xml b/src/it/setup/remote-parent/pom.xml new file mode 100644 index 0000000..516cb10 --- /dev/null +++ b/src/it/setup/remote-parent/pom.xml @@ -0,0 +1,9 @@ + + + 4.0.0 + org.foo + foo-parent + 1.0.0 + pom + Foo Parent + diff --git a/src/main/java/io/mvnpm/maven/locker/mojos/LockMojo.java b/src/main/java/io/mvnpm/maven/locker/mojos/LockMojo.java index de7708c..72b01bb 100644 --- a/src/main/java/io/mvnpm/maven/locker/mojos/LockMojo.java +++ b/src/main/java/io/mvnpm/maven/locker/mojos/LockMojo.java @@ -54,7 +54,6 @@ public void execute() throws MojoExecutionException { } LockerPomFileAccessor lockFile = lockFile(); - final ParentPom parentPom = getParentPom(lockFile.file); final Artifacts lockedDependencies = projectDependencies().filter(filters); final boolean lockFileExists = lockFile.exists(); final Model model = project.getModel(); @@ -74,6 +73,7 @@ public void execute() throws MojoExecutionException { if (lockerBomModeEnabled) { getLog().info(String.format(ROOT, "%s %s", lockFileExists ? "Updating" : "Creating", lockFile.absolutePath())); final LockerPom lockerPom = DefaultLockerPom.from(lockFile, pomMinimums(), getLog()); + final ParentPom parentPom = getParentPom(lockFile.file); lockerPom.write(parentPom, lockedDependencies); }