diff --git a/README.md b/README.md index a231c4a..5421d6a 100644 --- a/README.md +++ b/README.md @@ -128,7 +128,7 @@ To include this plugin for versions 0.11+ add the following to your `build.gradl ```kotlin plugins { - id("com.github.nigelgbanks.IsleDocker") version "0.11" + id("io.github.nigelgbanks.Isle") version "1.0.1" } ``` @@ -153,14 +153,14 @@ buildscript { gradlePluginPortal() } dependencies { - classpath("com.github.nigelgbanks:isle-gradle-docker-plugin") { + classpath("io.github.nigelgbanks:isle-gradle-docker-plugin") { version { branch = "BRANCH_NAME" } } } } -apply(plugin = "com.github.nigelgbanks.IsleDocker") +apply(plugin = "io.github.nigelgbanks.Isle") ``` Note that it will only use **committed** changes. diff --git a/build.gradle.kts b/build.gradle.kts index c8a0ee0..c7dbeff 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,4 @@ -version = "1.0" +version = "1.0.1" group = "io.github.nigelgbanks" repositories { diff --git a/gradle.properties b/gradle.properties index a0c2e02..f848694 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ # suppress inspection "UnusedProperty" for whole file org.gradle.parallel=true org.gradle.caching=true -version=1.0-SNAPSHOT +version=1.0.1-SNAPSHOT diff --git a/src/main/kotlin/plugins/BuildCtlPlugin.kt b/src/main/kotlin/plugins/BuildCtlPlugin.kt index d90d6bf..89c0899 100644 --- a/src/main/kotlin/plugins/BuildCtlPlugin.kt +++ b/src/main/kotlin/plugins/BuildCtlPlugin.kt @@ -9,6 +9,8 @@ import org.gradle.api.Project import org.gradle.api.provider.Provider import org.gradle.api.tasks.* import org.gradle.kotlin.dsl.* +import plugins.BuildKitPlugin.Companion.buildKitCacheRepository +import plugins.BuildKitPlugin.Companion.buildKitCacheTag import plugins.BuildKitPlugin.Companion.buildKitPlatforms import plugins.BuildKitPlugin.Companion.buildKitRepository import plugins.BuildKitPlugin.Companion.buildKitTag @@ -157,9 +159,10 @@ class BuildCtlPlugin : Plugin { } additionalArguments.addAll( listOf( - "--import-cache", "type=registry,ref=islandora/${project.name}:cache", - ) + "--import-cache", "type=registry,ref=${project.buildKitCacheRepository}/${project.name}:${project.buildKitCacheTag}", + ) ) + // Use GitHub action cache if available. if (System.getenv("GITHUB_ACTIONS") == "true") { additionalArguments.addAll( listOf( @@ -167,13 +170,14 @@ class BuildCtlPlugin : Plugin { "--import-cache", "type=gha", ) ) - if (System.getenv("GITHUB_REF_NAME") == "main") { - additionalArguments.addAll( - listOf( - "--export-cache", "type=registry,mode=max,compression=estargz,ref=islandora/${project.name}:cache", - ) + } + // Only update the cache image when building the main branch. + if (System.getenv("GITHUB_REF_NAME") == "main") { + additionalArguments.addAll( + listOf( + "--export-cache", "type=registry,mode=max,compression=estargz,ref=${project.buildKitCacheRepository}/${project.name}:${project.buildKitCacheTag}", ) - } + ) } images.get().joinToString(",").let { additionalArguments.addAll( diff --git a/src/main/kotlin/plugins/BuildKitPlugin.kt b/src/main/kotlin/plugins/BuildKitPlugin.kt index d1285bf..536ca7b 100644 --- a/src/main/kotlin/plugins/BuildKitPlugin.kt +++ b/src/main/kotlin/plugins/BuildKitPlugin.kt @@ -44,6 +44,14 @@ class BuildKitPlugin : Plugin { val Project.buildKitTag: String get() = properties.getOrDefault("buildkit.build-arg.tag", "latest") as String + // The repository to push/pull image cache to/from. + val Project.buildKitCacheRepository: String + get() = properties.getOrDefault("buildkit.cache.repository", "islandora") as String + + // The repository to push/pull image cache to/from. + val Project.buildKitCacheTag: String + get() = properties.getOrDefault("buildkit.cache.tag", "cache") as String + val Project.buildKitContainer: String get() = properties.getOrDefault("buildkit.container", "isle-buildkit") as String