1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-26 08:27:12 -07:00

Features.

This commit is contained in:
Cedric Beust 2015-12-18 16:12:49 -08:00
parent 56d52e69f3
commit a96f0367cb
4 changed files with 16 additions and 8 deletions

View file

@ -0,0 +1,8 @@
package com.beust.kobalt
class Features {
companion object {
/** If true, uses timestamps to speed up the tasks */
const val USE_TIMESTAMPS = true
}
}

View file

@ -1,5 +1,6 @@
package com.beust.kobalt.internal package com.beust.kobalt.internal
import com.beust.kobalt.Features
import com.beust.kobalt.KobaltException import com.beust.kobalt.KobaltException
import com.beust.kobalt.TaskResult import com.beust.kobalt.TaskResult
import com.beust.kobalt.api.* import com.beust.kobalt.api.*
@ -170,7 +171,7 @@ abstract class JvmCompilerPlugin @Inject constructor(
sourceDirectories.add(sourceDirectory) sourceDirectories.add(sourceDirectory)
} }
val info = createCompilerActionInfo(project, context, isTest = false) val info = createCompilerActionInfo(project, context, isTest = false)
if (isOutdated(project, context, info)) { if (! Features.USE_TIMESTAMPS || isOutdated(project, context, info)) {
val compiler = ActorUtils.selectAffinityActor(project, context, context.pluginInfo.compilerContributors) val compiler = ActorUtils.selectAffinityActor(project, context, context.pluginInfo.compilerContributors)
if (compiler != null) { if (compiler != null) {
return compiler.compile(project, context, info) return compiler.compile(project, context, info)

View file

@ -1,11 +1,8 @@
package com.beust.kobalt.misc package com.beust.kobalt.misc
import com.beust.kobalt.IFileSpec import com.beust.kobalt.*
import com.beust.kobalt.SystemProperties
import com.beust.kobalt.Variant
import com.beust.kobalt.api.Kobalt import com.beust.kobalt.api.Kobalt
import com.beust.kobalt.api.Project import com.beust.kobalt.api.Project
import com.beust.kobalt.homeDir
import com.beust.kobalt.internal.build.BuildFile import com.beust.kobalt.internal.build.BuildFile
import com.beust.kobalt.maven.Md5 import com.beust.kobalt.maven.Md5
import java.io.File import java.io.File
@ -198,11 +195,12 @@ class KFiles {
} else if (src.isDirectory) { } else if (src.isDirectory) {
dstFile.mkdirs() dstFile.mkdirs()
} else { } else {
if (dstFile.exists() && Md5.toMd5(src) == Md5.toMd5(dstFile)) { if (Features.USE_TIMESTAMPS && dstFile.exists() && Md5.toMd5(src) == Md5.toMd5(dstFile)) {
log(2, " Identical files, not copying $src to $dstFile") log(2, " Identical files, not copying $src to $dstFile")
} else { } else {
if (src.copyTo(dstFile, true) != src.length()) { if (src.copyTo(dstFile, true) != src.length()) {
if (onError(src, IOException("src.length() != dst.length()")) == OnErrorAction.TERMINATE) if (onError(src,
IOException("src.length() != dst.length()")) == OnErrorAction.TERMINATE)
return false return false
} }
} }

View file

@ -1,5 +1,6 @@
package com.beust.kobalt.plugin.packaging package com.beust.kobalt.plugin.packaging
import com.beust.kobalt.Features
import com.beust.kobalt.IFileSpec import com.beust.kobalt.IFileSpec
import com.beust.kobalt.IFileSpec.FileSpec import com.beust.kobalt.IFileSpec.FileSpec
import com.beust.kobalt.IFileSpec.Glob import com.beust.kobalt.IFileSpec.Glob
@ -238,7 +239,7 @@ class PackagingPlugin @Inject constructor(val dependencyManager : DependencyMana
val archiveDir = File(libsDir(project)) val archiveDir = File(libsDir(project))
val result = File(archiveDir.path, fullArchiveName) val result = File(archiveDir.path, fullArchiveName)
log(2, "Creating $result") log(2, "Creating $result")
if (isOutdated(project.directory, includedFiles, result)) { if (! Features.USE_TIMESTAMPS || isOutdated(project.directory, includedFiles, result)) {
val outStream = outputStreamFactory(FileOutputStream(result)) val outStream = outputStreamFactory(FileOutputStream(result))
JarUtils.addFiles(project.directory, includedFiles, outStream, expandJarFiles) JarUtils.addFiles(project.directory, includedFiles, outStream, expandJarFiles)
log(2, text = "Added ${includedFiles.size} files to $result") log(2, text = "Added ${includedFiles.size} files to $result")