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);
}