From ddb4b3dbd84eec44b8ce6c08935743dd4f0859af Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 26 Mar 2017 17:58:55 -0700 Subject: [PATCH 1/3] file:// no longer seen as valid maven coordinates. --- .../main/kotlin/com/beust/kobalt/maven/MavenId.kt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/MavenId.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/MavenId.kt index 21201f99..2c91b7fd 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/MavenId.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/MavenId.kt @@ -1,7 +1,7 @@ package com.beust.kobalt.maven -import com.beust.kobalt.api.Kobalt -import org.eclipse.aether.artifact.DefaultArtifact +import com.beust.kobalt.api.* +import org.eclipse.aether.artifact.* /** * Encapsulate a Maven id captured in one string, as used by Gradle or Ivy, e.g. "org.testng:testng:6.9.9". @@ -17,8 +17,12 @@ class MavenId private constructor(val groupId: String, val artifactId: String, v val classifier: String?, val version: String?) { companion object { - fun isMavenId(id: String) = with(id.split(':')) { - size >= 3 && size <= 5 + fun isMavenId(id: String) = if (id.startsWith("file://")) { + false + } else { + with(id.split(':')) { + size >= 3 && size <= 5 + } } fun isRangedVersion(s: String): Boolean { From 6932b9f017eb6da99913c7303f97516a0221c3fc Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 26 Mar 2017 18:00:21 -0700 Subject: [PATCH 2/3] Fixed imports. --- .../src/main/kotlin/com/beust/kobalt/maven/MavenId.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/MavenId.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/MavenId.kt index 2c91b7fd..bf17ab05 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/MavenId.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/MavenId.kt @@ -1,7 +1,7 @@ package com.beust.kobalt.maven -import com.beust.kobalt.api.* -import org.eclipse.aether.artifact.* +import com.beust.kobalt.api.Kobalt +import org.eclipse.aether.artifact.DefaultArtifact /** * Encapsulate a Maven id captured in one string, as used by Gradle or Ivy, e.g. "org.testng:testng:6.9.9". From f6274df9d065f176473228ebce3409137cfb3cde Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 26 Mar 2017 20:11:58 -0700 Subject: [PATCH 3/3] Added isMavenId() tests. --- src/test/kotlin/com/beust/kobalt/maven/MavenIdTest.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/test/kotlin/com/beust/kobalt/maven/MavenIdTest.kt b/src/test/kotlin/com/beust/kobalt/maven/MavenIdTest.kt index 59a5475c..1732274f 100644 --- a/src/test/kotlin/com/beust/kobalt/maven/MavenIdTest.kt +++ b/src/test/kotlin/com/beust/kobalt/maven/MavenIdTest.kt @@ -20,6 +20,16 @@ class MavenIdTest { ) } + @Test + fun isMavenId() { + Assert.assertFalse(MavenId.isMavenId("file://C:\\foo\\bar")) + Assert.assertFalse(MavenId.isMavenId("file:///home/user/foo/bar")) + Assert.assertFalse(MavenId.isMavenId("com.example:foo")) + Assert.assertTrue(MavenId.isMavenId("com.example:foo:")) + Assert.assertTrue(MavenId.isMavenId("com.example:foo:0.5.7")) + Assert.assertTrue(MavenId.isMavenId("com.example:foo:jar:0.3.0")) + } + @Test(dataProvider = "dp") fun parseVersions(id: String, groupId: String, artifactId: String, version: String?, packaging: String?, qualifier: String?) {