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] {
|
||||
case (dependency, extraProperties) =>
|
||||
val moduleId = caching[(Dependency, String, Map[String, String]), ModuleID] {
|
||||
case (dependency, version, extraProperties) =>
|
||||
sbt.librarymanagement.ModuleID(
|
||||
dependency.module.organization.value,
|
||||
dependency.module.name.value,
|
||||
dependency.version
|
||||
version
|
||||
).withConfigurations(
|
||||
Some(dependency.configuration.value)
|
||||
).withExtraAttributes(
|
||||
|
|
@ -88,7 +88,7 @@ object ToSbt {
|
|||
val callers = dependees.map {
|
||||
case (dependee, dependeeProj) =>
|
||||
Caller(
|
||||
ToSbt.moduleId(dependee, dependeeProj.properties.toMap),
|
||||
ToSbt.moduleId(dependee, dependeeProj.version, dependeeProj.properties.toMap),
|
||||
dependeeProj.configurations.keys.toVector.map(c => ConfigRef(c.value)),
|
||||
dependee.module.attributes ++ dependeeProj.properties,
|
||||
// FIXME Set better values here
|
||||
|
|
@ -100,7 +100,7 @@ object ToSbt {
|
|||
}
|
||||
|
||||
ModuleReport(
|
||||
ToSbt.moduleId(dependency, project.properties.toMap),
|
||||
ToSbt.moduleId(dependency, project.version, project.properties.toMap),
|
||||
sbtArtifacts.toVector,
|
||||
sbtMissingArtifacts.toVector
|
||||
)
|
||||
|
|
@ -236,7 +236,7 @@ object ToSbt {
|
|||
// appears first in the update report, see https://github.com/coursier/coursier/issues/650
|
||||
val dep = subRes.rootDependencies.head
|
||||
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 =>
|
||||
r.module.organization == mod.organization &&
|
||||
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