aboutsummaryrefslogtreecommitdiff
path: root/stage1
diff options
context:
space:
mode:
authorJan Christopher Vogt <oss.nsp@cvogt.org>2016-04-02 17:50:25 -0400
committerJan Christopher Vogt <oss.nsp@cvogt.org>2016-04-02 17:50:25 -0400
commit2b52377b6f6fbbc45ef705f33088e8e414a77105 (patch)
tree230da6579b9716c4425533019268dae2ee8c661c /stage1
parente18bae3a01d3a557e750ffe6b4c62fc3a80a800f (diff)
parent858828441ac2135eabc06b1f27ff83212048791a (diff)
downloadcbt-2b52377b6f6fbbc45ef705f33088e8e414a77105.tar.gz
cbt-2b52377b6f6fbbc45ef705f33088e8e414a77105.tar.bz2
cbt-2b52377b6f6fbbc45ef705f33088e8e414a77105.zip
Merge pull request #98 from cvogt/fix-resolver
better error messages in case of messed up groupIds, artifactIds or v…
Diffstat (limited to 'stage1')
-rw-r--r--stage1/resolver.scala23
1 files changed, 17 insertions, 6 deletions
diff --git a/stage1/resolver.scala b/stage1/resolver.scala
index 2e8ef15..701871c 100644
--- a/stage1/resolver.scala
+++ b/stage1/resolver.scala
@@ -262,12 +262,22 @@ object Classifier{
case class JavaDependency(
groupId: String, artifactId: String, version: String, classifier: Classifier = Classifier.none
)(implicit val logger: Logger) extends ArtifactInfo{
- assert(groupId != "", toString)
- assert(artifactId != "", toString)
- assert(version != "", toString)
- assert(groupId != null, toString)
- assert(artifactId != null, toString)
- assert(version != null, toString)
+ assert(
+ Option(groupId).collect{
+ case JavaDependency.ValidIdentifier(_) =>
+ }.nonEmpty,
+ s"not a valid groupId: '$groupId'"
+ )
+ assert(
+ Option(artifactId).collect{
+ case JavaDependency.ValidIdentifier(_) =>
+ }.nonEmpty,
+ s"not a valid artifactId: '$artifactId'"
+ )
+ assert(
+ version != "" && version != null && !version.startsWith(" ") && !version.endsWith(" "),
+ s"not a valid version: '$version'"
+ )
override def needsUpdate = false
override def canBeCached = true
@@ -402,6 +412,7 @@ case class JavaDependency(
}
}
object JavaDependency{
+ def ValidIdentifier = "^([A-Za-z0-9_\\-.]+)$".r // according to maven's DefaultModelValidator.java
def semanticVersionLessThan(left: String, right: String) = {
// FIXME: this ignores ends when different size
val zipped = left.split("\\.|\\-").map(toInt) zip right.split("\\.|\\-").map(toInt)