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