mirror of https://github.com/sbt/sbt.git
Allow exclusions to have no explicit artifact ID in POM
This commit is contained in:
parent
8d584d9ae0
commit
964151392b
|
|
@ -23,14 +23,20 @@ object Pom {
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO Allow no version in some contexts
|
// TODO Allow no version in some contexts
|
||||||
private def module(node: Node, groupIdIsOptional: Boolean = false): String \/ Module = {
|
private def module(
|
||||||
|
node: Node,
|
||||||
|
defaultGroupId: Option[String] = None,
|
||||||
|
defaultArtifactId: Option[String] = None
|
||||||
|
): String \/ Module = {
|
||||||
for {
|
for {
|
||||||
organization <- {
|
organization <- {
|
||||||
val e = text(node, "groupId", "Organization")
|
val e = text(node, "groupId", "Organization")
|
||||||
if (groupIdIsOptional) e.orElse(\/-(""))
|
defaultGroupId.fold(e)(g => e.orElse(\/-(g)))
|
||||||
else e
|
}
|
||||||
|
name <- {
|
||||||
|
val n = text(node, "artifactId", "Name")
|
||||||
|
defaultArtifactId.fold(n)(n0 => n.orElse(\/-(n0)))
|
||||||
}
|
}
|
||||||
name <- text(node, "artifactId", "Name")
|
|
||||||
} yield Module(organization, name, Map.empty).trim
|
} yield Module(organization, name, Map.empty).trim
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -50,7 +56,7 @@ object Pom {
|
||||||
.getOrElse(Seq.empty)
|
.getOrElse(Seq.empty)
|
||||||
exclusions <- {
|
exclusions <- {
|
||||||
import Scalaz._
|
import Scalaz._
|
||||||
xmlExclusions.toList.traverseU(module(_))
|
xmlExclusions.toList.traverseU(module(_, defaultArtifactId = Some("*")))
|
||||||
}
|
}
|
||||||
optional = text(node, "optional", "").toOption.toSeq.contains("true")
|
optional = text(node, "optional", "").toOption.toSeq.contains("true")
|
||||||
} yield scopeOpt.getOrElse("") -> Dependency(
|
} yield scopeOpt.getOrElse("") -> Dependency(
|
||||||
|
|
@ -152,7 +158,7 @@ object Pom {
|
||||||
import Scalaz._
|
import Scalaz._
|
||||||
|
|
||||||
for {
|
for {
|
||||||
projModule <- module(pom, groupIdIsOptional = true)
|
projModule <- module(pom, defaultGroupId = Some(""))
|
||||||
projVersion = readVersion(pom)
|
projVersion = readVersion(pom)
|
||||||
|
|
||||||
parentOpt = pom.children
|
parentOpt = pom.children
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,9 @@ object Mima {
|
||||||
// was private, now removed
|
// was private, now removed
|
||||||
ProblemFilters.exclude[MissingClassProblem]("coursier.ivy.PropertiesPattern$Parser$"),
|
ProblemFilters.exclude[MissingClassProblem]("coursier.ivy.PropertiesPattern$Parser$"),
|
||||||
// made private so that the shaded fastparse stuff doesn't leak
|
// made private so that the shaded fastparse stuff doesn't leak
|
||||||
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.ivy.PropertiesPattern.parser")
|
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.ivy.PropertiesPattern.parser"),
|
||||||
|
// corresponds to a default value of a private method, not sure why this error is raised
|
||||||
|
ProblemFilters.exclude[IncompatibleResultTypeProblem]("coursier.maven.Pom.coursier$maven$Pom$$module$default$2")
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
Subproject commit 6b2578a25220930e60b505b90e636092757d6397
|
Subproject commit 0fedae521fff572d8c3f2f931ac2e1709a026258
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
com.clearspring.analytics:stream:2.7.0:compile
|
||||||
|
com.github.stephenc.findbugs:findbugs-annotations:1.3.9-1:compile
|
||||||
|
com.google.code.findbugs:annotations:2.0.1:compile
|
||||||
|
com.google.guava:guava:18.0:compile
|
||||||
|
commons-io:commons-io:2.4:compile
|
||||||
|
it.unimi.dsi:fastutil:6.5.7:compile
|
||||||
|
joda-time:joda-time:2.9.2:compile
|
||||||
|
junit:junit:4.8.2:compile
|
||||||
|
net.ericaro:neoitertools:1.0.0:compile
|
||||||
|
net.sf.opencsv:opencsv:2.3:compile
|
||||||
|
org.apache.commons:commons-compress:1.8.1:compile
|
||||||
|
org.apache.commons:commons-lang3:3.3.1:compile
|
||||||
|
org.apache.commons:commons-math3:3.4.1:compile
|
||||||
|
org.bytedeco:javacpp:1.3.3:compile
|
||||||
|
org.codehaus.woodstox:stax2-api:3.1.4:compile
|
||||||
|
org.datavec:datavec-api:0.9.1:compile
|
||||||
|
org.freemarker:freemarker:2.3.23:compile
|
||||||
|
org.javassist:javassist:3.18.2-GA:compile
|
||||||
|
org.nd4j:jackson:0.9.1:compile
|
||||||
|
org.nd4j:nd4j-api:0.9.1:compile
|
||||||
|
org.nd4j:nd4j-buffer:0.9.1:compile
|
||||||
|
org.nd4j:nd4j-common:0.9.1:compile
|
||||||
|
org.nd4j:nd4j-context:0.9.1:compile
|
||||||
|
org.projectlombok:lombok:1.16.16:compile
|
||||||
|
org.reflections:reflections:0.9.10:compile
|
||||||
|
org.slf4j:slf4j-api:1.7.10:compile
|
||||||
|
org.yaml:snakeyaml:1.12:compile
|
||||||
|
|
@ -850,6 +850,13 @@ abstract class CentralTests extends TestSuite {
|
||||||
assert(expectedUrls.forall(urls))
|
assert(expectedUrls.forall(urls))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
'noArtifactIdExclusion - {
|
||||||
|
val mod = Module("org.datavec", "datavec-api")
|
||||||
|
val ver = "0.9.1"
|
||||||
|
|
||||||
|
* - resolutionCheck(mod, ver)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue