aboutsummaryrefslogtreecommitdiff
path: root/stage1/resolver.scala
diff options
context:
space:
mode:
authorChristopher Vogt <oss.nsp@cvogt.org>2016-04-02 17:33:52 -0400
committerChristopher Vogt <oss.nsp@cvogt.org>2016-04-02 17:33:52 -0400
commit858828441ac2135eabc06b1f27ff83212048791a (patch)
tree230da6579b9716c4425533019268dae2ee8c661c /stage1/resolver.scala
parente18bae3a01d3a557e750ffe6b4c62fc3a80a800f (diff)
downloadcbt-858828441ac2135eabc06b1f27ff83212048791a.tar.gz
cbt-858828441ac2135eabc06b1f27ff83212048791a.tar.bz2
cbt-858828441ac2135eabc06b1f27ff83212048791a.zip
better error messages in case of messed up groupIds, artifactIds or versions
Diffstat (limited to 'stage1/resolver.scala')
-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)