mirror of https://github.com/sbt/sbt.git
Don't write version intervals in update reports (#12)
This commit is contained in:
parent
0fcacffc6b
commit
3987ba9af6
|
|
@ -27,12 +27,12 @@ object ToSbt {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val moduleId = caching[(Dependency, Map[String, String]), ModuleID] {
|
val moduleId = caching[(Dependency, String, Map[String, String]), ModuleID] {
|
||||||
case (dependency, extraProperties) =>
|
case (dependency, version, extraProperties) =>
|
||||||
sbt.librarymanagement.ModuleID(
|
sbt.librarymanagement.ModuleID(
|
||||||
dependency.module.organization.value,
|
dependency.module.organization.value,
|
||||||
dependency.module.name.value,
|
dependency.module.name.value,
|
||||||
dependency.version
|
version
|
||||||
).withConfigurations(
|
).withConfigurations(
|
||||||
Some(dependency.configuration.value)
|
Some(dependency.configuration.value)
|
||||||
).withExtraAttributes(
|
).withExtraAttributes(
|
||||||
|
|
@ -88,7 +88,7 @@ object ToSbt {
|
||||||
val callers = dependees.map {
|
val callers = dependees.map {
|
||||||
case (dependee, dependeeProj) =>
|
case (dependee, dependeeProj) =>
|
||||||
Caller(
|
Caller(
|
||||||
ToSbt.moduleId(dependee, dependeeProj.properties.toMap),
|
ToSbt.moduleId(dependee, dependeeProj.version, dependeeProj.properties.toMap),
|
||||||
dependeeProj.configurations.keys.toVector.map(c => ConfigRef(c.value)),
|
dependeeProj.configurations.keys.toVector.map(c => ConfigRef(c.value)),
|
||||||
dependee.module.attributes ++ dependeeProj.properties,
|
dependee.module.attributes ++ dependeeProj.properties,
|
||||||
// FIXME Set better values here
|
// FIXME Set better values here
|
||||||
|
|
@ -100,7 +100,7 @@ object ToSbt {
|
||||||
}
|
}
|
||||||
|
|
||||||
ModuleReport(
|
ModuleReport(
|
||||||
ToSbt.moduleId(dependency, project.properties.toMap),
|
ToSbt.moduleId(dependency, project.version, project.properties.toMap),
|
||||||
sbtArtifacts.toVector,
|
sbtArtifacts.toVector,
|
||||||
sbtMissingArtifacts.toVector
|
sbtMissingArtifacts.toVector
|
||||||
)
|
)
|
||||||
|
|
@ -236,7 +236,7 @@ object ToSbt {
|
||||||
// appears first in the update report, see https://github.com/coursier/coursier/issues/650
|
// appears first in the update report, see https://github.com/coursier/coursier/issues/650
|
||||||
val dep = subRes.rootDependencies.head
|
val dep = subRes.rootDependencies.head
|
||||||
val (_, proj) = subRes.projectCache(dep.moduleVersion)
|
val (_, proj) = subRes.projectCache(dep.moduleVersion)
|
||||||
val mod = ToSbt.moduleId(dep, proj.properties.toMap)
|
val mod = ToSbt.moduleId(dep, proj.version, proj.properties.toMap)
|
||||||
val (main, other) = reports.partition { r =>
|
val (main, other) = reports.partition { r =>
|
||||||
r.module.organization == mod.organization &&
|
r.module.organization == mod.organization &&
|
||||||
r.module.name == mod.name &&
|
r.module.name == mod.name &&
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
|
||||||
|
libraryDependencies += "org.json4s" %% "json4s-native" % "[3.3.0,3.5.0)"
|
||||||
|
|
||||||
|
|
||||||
|
lazy val actualVersionCheck = taskKey[Unit]("")
|
||||||
|
|
||||||
|
actualVersionCheck := {
|
||||||
|
|
||||||
|
val log = streams.value.log
|
||||||
|
|
||||||
|
val configReport = update.value
|
||||||
|
.configuration(Compile)
|
||||||
|
.getOrElse {
|
||||||
|
sys.error("compile configuration not found in update report")
|
||||||
|
}
|
||||||
|
|
||||||
|
val modules = configReport
|
||||||
|
.modules
|
||||||
|
.map(_.module)
|
||||||
|
|
||||||
|
assert(modules.nonEmpty)
|
||||||
|
assert(modules.exists(_.name.startsWith("json4s-native")))
|
||||||
|
|
||||||
|
val wrongModules = modules.filter { m =>
|
||||||
|
val v = m.revision
|
||||||
|
v.contains("[") || v.contains("]") || v.contains("(") || v.contains(")")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (wrongModules.nonEmpty) {
|
||||||
|
log.error("Found unexpected intervals in revisions")
|
||||||
|
for (m <- wrongModules)
|
||||||
|
log.error(s" ${m.organization}:${m.name}:${m.revision}")
|
||||||
|
sys.error("Found intervals in revisions")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
addSbtPlugin {
|
||||||
|
|
||||||
|
val name = sys.props.getOrElse(
|
||||||
|
"plugin.name",
|
||||||
|
sys.error("plugin.name Java property not set")
|
||||||
|
)
|
||||||
|
val version = sys.props.getOrElse(
|
||||||
|
"plugin.version",
|
||||||
|
sys.error("plugin.version Java property not set")
|
||||||
|
)
|
||||||
|
|
||||||
|
"io.get-coursier" % name % version
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
> actualVersionCheck
|
||||||
Loading…
Reference in New Issue