mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-26 08:27:12 -07:00
Disable smart incremental build.
Until I can find a better way of implementing it.
This commit is contained in:
parent
676ab50617
commit
edeaae8c4b
2 changed files with 22 additions and 14 deletions
|
@ -20,13 +20,8 @@ class KobaltContext(val args: Args) {
|
|||
|
||||
fun findPlugin(name: String) = Plugins.findPlugin(name)
|
||||
|
||||
/**
|
||||
* When an incremental task decides it's up to date, it sets this boolean to true so that subsequent
|
||||
* tasks in that project can be skipped as well. This is an internal field that should only be set by Kobalt.
|
||||
*/
|
||||
private val incrementalSuccesses = hashSetOf<String>()
|
||||
fun previousTaskWasIncrementalSuccess(projectName: String) = incrementalSuccesses.contains(projectName) ?: false
|
||||
fun setIncrementalSuccess(projectName: String) = incrementalSuccesses.add(projectName)
|
||||
/** For internal use only */
|
||||
val internalContext = InternalContext()
|
||||
|
||||
//
|
||||
// Injected
|
||||
|
@ -38,3 +33,12 @@ class KobaltContext(val args: Args) {
|
|||
lateinit var settings: KobaltSettings
|
||||
}
|
||||
|
||||
class InternalContext {
|
||||
/**
|
||||
* When an incremental task decides it's up to date, it sets this boolean to true so that subsequent
|
||||
* tasks in that project can be skipped as well. This is an internal field that should only be set by Kobalt.
|
||||
*/
|
||||
private val incrementalSuccesses = hashSetOf<String>()
|
||||
fun previousTaskWasIncrementalSuccess(projectName: String) = incrementalSuccesses.contains(projectName) ?: false
|
||||
fun setIncrementalSuccess(projectName: String) = incrementalSuccesses.add(projectName)
|
||||
}
|
|
@ -97,12 +97,16 @@ class IncrementalManager @Inject constructor(val args: Args) {
|
|||
//
|
||||
logIncremental(LEVEL, "Incremental builds are turned off, running $taskName")
|
||||
upToDate = false
|
||||
} else if (iti.context.previousTaskWasIncrementalSuccess(project.name)) {
|
||||
//
|
||||
// If the previous task was an incremental success, no need to run this task
|
||||
//
|
||||
logIncremental(LEVEL, "Previous incremental task was a success, not running $shortTaskName")
|
||||
upToDate = true
|
||||
// } else if (iti.context.internalContext.previousTaskWasIncrementalSuccess(project.name)) {
|
||||
// //
|
||||
// // If the previous task was an incremental success, no need to run this task.
|
||||
//
|
||||
// Disabled for now since this can only work if exactly the previous task was
|
||||
// an incremental success. If it was a regular task, then this boolean should be
|
||||
// set back to false, which is currently not done.
|
||||
// //
|
||||
// logIncremental(LEVEL, "Previous incremental task was a success, not running $shortTaskName")
|
||||
// upToDate = true
|
||||
} else {
|
||||
//
|
||||
// First, compare the input checksums
|
||||
|
@ -156,7 +160,7 @@ class IncrementalManager @Inject constructor(val args: Args) {
|
|||
// Identical input and output checksums, don't run the task
|
||||
//
|
||||
logIncremental(LEVEL, "Incremental task \"$taskName\" is up to date, not running it")
|
||||
iti.context.setIncrementalSuccess(project.name)
|
||||
iti.context.internalContext.setIncrementalSuccess(project.name)
|
||||
TaskResult()
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue