Merge pull request #4161 from dadarakt/1.1.x

Recreating output JAR on packageBin if file was deleted
This commit is contained in:
Dale Wijnand 2018-05-15 20:30:49 +02:00 committed by GitHub
commit 250874dde0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 5 deletions

View File

@ -23,7 +23,7 @@ import sbt.internal.util.HNil
import sbt.internal.util.HListFormats._
import sbt.util.FileInfo.{ exists, lastModified }
import sbt.util.CacheImplicits._
import sbt.util.Tracked.inputChanged
import sbt.util.Tracked.{ inputChanged, outputChanged }
sealed trait PackageOption
object Package {
@ -71,17 +71,18 @@ object Package {
inputs: Map[File, String] :+: FilesInfo[ModifiedFileInfo] :+: Manifest :+: HNil) =>
import exists.format
val sources :+: _ :+: manifest :+: HNil = inputs
inputChanged(cacheStoreFactory make "output") { (outChanged, jar: PlainFileInfo) =>
if (inChanged || outChanged)
outputChanged(cacheStoreFactory make "output") { (outChanged, jar: PlainFileInfo) =>
if (inChanged || outChanged) {
makeJar(sources.toSeq, jar.file, manifest, log)
else
jar.file
} else
log.debug("Jar uptodate: " + jar.file)
}
}
val map = conf.sources.toMap
val inputs = map :+: lastModified(map.keySet) :+: manifest :+: HNil
cachedMakeJar(inputs)(exists(conf.jar))
cachedMakeJar(inputs)(() => exists(conf.jar))
}
def setVersion(main: Attributes): Unit = {
val version = Attributes.Name.MANIFEST_VERSION