Add caching annotations to gradle tasks

This commit is contained in:
Derek Ellis
2026-03-05 13:39:39 -05:00
parent c1d568d396
commit 1a5af3f206
5 changed files with 11 additions and 0 deletions

View File

@@ -25,6 +25,7 @@ import org.gradle.api.file.ConfigurableFileCollection
import org.gradle.api.file.RegularFileProperty
import org.gradle.api.internal.file.FileCollectionFactory
import org.gradle.api.provider.Property
import org.gradle.api.tasks.CacheableTask
import org.gradle.api.tasks.Classpath
import org.gradle.api.tasks.Input
import org.gradle.api.tasks.InputFiles
@@ -36,6 +37,7 @@ import org.gradle.workers.WorkParameters
import org.gradle.workers.WorkerExecutor
@Suppress("unused") // Public API for Gradle plugin users.
@CacheableTask
abstract class ValidateZiplineApiTask @Inject constructor(
fileCollectionFactory: FileCollectionFactory,
@Input val mode: Mode,

View File

@@ -19,6 +19,7 @@ package app.cash.zipline.gradle
import java.io.File
import org.gradle.api.DefaultTask
import org.gradle.api.provider.Property
import org.gradle.api.tasks.CacheableTask
import org.gradle.api.tasks.Input
import org.gradle.api.tasks.Optional
import org.gradle.api.tasks.OutputFile
@@ -28,6 +29,7 @@ import org.gradle.api.tasks.TaskAction
* Write Zipline's required webpack config to a file in the project directory. (Unfortunately
* there's no API to tell Webpack to load its configuration files from a build directory.)
*/
@CacheableTask
internal abstract class WriteWebpackConfigTask : DefaultTask() {
@get:OutputFile

View File

@@ -28,6 +28,7 @@ import org.gradle.api.file.DirectoryProperty
import org.gradle.api.provider.ListProperty
import org.gradle.api.provider.MapProperty
import org.gradle.api.provider.Property
import org.gradle.api.tasks.CacheableTask
import org.gradle.api.tasks.Classpath
import org.gradle.api.tasks.Input
import org.gradle.api.tasks.InputDirectory
@@ -45,6 +46,7 @@ import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryMode
/**
* Compiles `.js` files to `.zipline` files.
*/
@CacheableTask
abstract class ZiplineCompileTask @Inject constructor(
private val execOperations: ExecOperations,
) : DefaultTask() {

View File

@@ -19,6 +19,7 @@ package app.cash.zipline.gradle
import org.gradle.api.DefaultTask
import org.gradle.api.file.DirectoryProperty
import org.gradle.api.provider.Property
import org.gradle.api.tasks.CacheableTask
import org.gradle.api.tasks.Input
import org.gradle.api.tasks.OutputDirectory
import org.gradle.api.tasks.TaskAction
@@ -27,6 +28,7 @@ import org.gradle.api.tasks.TaskAction
* Download a Zipline application as part of your build process, such as for embedding into
* an Android or iOS app to support offline, first-launch, and/or other usage.
*/
@CacheableTask
@Suppress("unused") // Public API for Gradle plugin users.
abstract class ZiplineDownloadTask : DefaultTask() {
@get:Input

View File

@@ -23,9 +23,12 @@ import org.gradle.api.tasks.Input
import org.gradle.api.tasks.InputDirectory
import org.gradle.api.tasks.Optional
import org.gradle.api.tasks.TaskAction
import org.gradle.api.tasks.UntrackedTask
import org.gradle.deployment.internal.DeploymentHandle
import org.gradle.deployment.internal.DeploymentRegistry
import org.gradle.work.DisableCachingByDefault
@DisableCachingByDefault(because = "This task does no cacheable work")
abstract class ZiplineServeTask : DefaultTask() {
@get:InputDirectory