diff options
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")); + } + +} |