summaryrefslogtreecommitdiffstats
path: root/vespa-application-maven-plugin
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-04-29 10:39:14 +0200
committerjonmv <venstad@gmail.com>2022-04-29 10:39:14 +0200
commit41655b155b2e38cd7fed7336a1e24bfa0b8710fe (patch)
treed1168d5a6a354601224f989981dad33524396f64 /vespa-application-maven-plugin
parent22e411d746558da7884d61dccc7e200255f62bcc (diff)
Fix parent detection
Diffstat (limited to 'vespa-application-maven-plugin')
-rw-r--r--vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java6
-rw-r--r--vespa-application-maven-plugin/src/test/java/com/yahoo/container/plugin/mojo/ApplicationMojoTest.java29
2 files changed, 34 insertions, 1 deletions
diff --git a/vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java b/vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java
index 62bb5c53f8c..6b50ea4b360 100644
--- a/vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java
+++ b/vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java
@@ -70,7 +70,7 @@ public class ApplicationMojo extends AbstractMojo {
Version parentVersion = null;
Artifact parentArtifact = current.getParentArtifact();
- if (parentArtifact != null && (parentArtifact.getGroupId().startsWith("com.yahoo.vespa.") || parentArtifact.getGroupId().startsWith("ai.vespa."))) {
+ if (parentArtifact != null && isVespaParent(parentArtifact.getGroupId())) {
parentVersion = Version.from(parentArtifact.getVersion());
if (parentVersion.compareTo(compileVersion) < 0)
throw new IllegalArgumentException("compile version (" + compileVersion + ") cannot be higher than parent version (" + parentVersion + ")");
@@ -93,6 +93,10 @@ public class ApplicationMojo extends AbstractMojo {
}
}
+ static boolean isVespaParent(String groupId) {
+ return groupId.matches("(com\\.yahoo\\.vespa|ai\\.vespa)(\\..+)?");
+ }
+
private void copyBundlesForSubModules(File componentsDir) throws MojoExecutionException {
List<String> modules = emptyListIfNull(project.getModules());
for (String module : modules) {
diff --git a/vespa-application-maven-plugin/src/test/java/com/yahoo/container/plugin/mojo/ApplicationMojoTest.java b/vespa-application-maven-plugin/src/test/java/com/yahoo/container/plugin/mojo/ApplicationMojoTest.java
new file mode 100644
index 00000000000..6f134a5ff86
--- /dev/null
+++ b/vespa-application-maven-plugin/src/test/java/com/yahoo/container/plugin/mojo/ApplicationMojoTest.java
@@ -0,0 +1,29 @@
+package com.yahoo.container.plugin.mojo;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * @author jonmv
+ */
+public class ApplicationMojoTest {
+
+ @Test
+ public void testRegex() {
+ assertTrue(ApplicationMojo.isVespaParent("ai.vespa"));
+ assertTrue(ApplicationMojo.isVespaParent("ai.vespa.hosted"));
+ assertTrue(ApplicationMojo.isVespaParent("com.yahoo.vespa"));
+ assertTrue(ApplicationMojo.isVespaParent("com.yahoo.vespa.hosted"));
+
+ assertFalse(ApplicationMojo.isVespaParent("ai"));
+ assertFalse(ApplicationMojo.isVespaParent("ai.vespa."));
+ assertFalse(ApplicationMojo.isVespaParent("ai.vespaxxx."));
+ assertFalse(ApplicationMojo.isVespaParent("com.yahoo"));
+ assertFalse(ApplicationMojo.isVespaParent("com.yahoo.vespa."));
+ assertFalse(ApplicationMojo.isVespaParent("com.yahoo.vespaxxx"));
+ }
+
+}