mirror of https://github.com/sbt/sbt.git
Integrate changes from https://github.com/sbt/sbt/pull/9257.
This commit is contained in:
parent
4fd24198d0
commit
ee192ead15
|
|
@ -190,14 +190,20 @@ class ClassStamper private[sbt] (
|
|||
extraHashes: Seq[Digest],
|
||||
log: Logger,
|
||||
): Option[Digest] =
|
||||
val builder = Set.newBuilder[Digest]
|
||||
analyses.foreach: analysis =>
|
||||
internalStamp(builder, javaClassName, analysis, mutable.Set.empty, log)
|
||||
val digests = builder.result().toSeq.sorted
|
||||
// log.debug(s"test: transitiveStamp($javaClassName, $extraHashes) = $digests")
|
||||
if digests.nonEmpty then Some(Digest.sha256Hash(digests ++ extraHashes*))
|
||||
val digests = transitiveStamps(javaClassName, extraHashes, log)
|
||||
if digests.nonEmpty then Some(Digest.sha256Hash(digests*))
|
||||
else None
|
||||
|
||||
private def transitiveStamps(
|
||||
javaClassName: String,
|
||||
extraHashes: Seq[Digest],
|
||||
log: Logger,
|
||||
): Seq[Digest] =
|
||||
val builder = Set.newBuilder[Digest]
|
||||
analyses.foreach(internalStamp(builder, javaClassName, _, mutable.Set.empty, log))
|
||||
val digests = builder.result().toSeq.sorted
|
||||
digests ++ extraHashes
|
||||
|
||||
private def internalStamp(
|
||||
builder: mutable.Builder[Digest, Set[Digest]],
|
||||
javaClassName: String,
|
||||
|
|
@ -221,7 +227,7 @@ class ClassStamper private[sbt] (
|
|||
relations
|
||||
.externalDeps(className)
|
||||
.foreach: libClassName =>
|
||||
newBuilder ++= transitiveStamp(libClassName, Nil, log)
|
||||
newBuilder ++= transitiveStamps(libClassName, Nil, log)
|
||||
relations
|
||||
.externalDeps(className)
|
||||
.foreach: libClassName =>
|
||||
|
|
|
|||
Loading…
Reference in New Issue