Skip to content

Commit 875e864

Browse files
committed
Build: improve the tasks' cacheability
1 parent 111c27a commit 875e864

File tree

1 file changed

+14
-15
lines changed

1 file changed

+14
-15
lines changed

build.gradle.kts

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import org.jetbrains.intellij.platform.gradle.TestFrameworkType
22
import org.jetbrains.intellij.platform.gradle.tasks.PrepareSandboxTask
33
import org.jetbrains.intellij.platform.gradle.tasks.VerifyPluginTask
44
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
5+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
56
import java.security.MessageDigest
67
import java.util.zip.ZipFile
78

@@ -147,7 +148,7 @@ tasks {
147148
sourceCompatibility = "17"
148149
targetCompatibility = "17"
149150
}
150-
withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
151+
withType<KotlinCompile> {
151152
dependsOn(generateLexer, generateParser)
152153

153154
compilerOptions {
@@ -171,16 +172,13 @@ tasks {
171172
}
172173
}
173174

174-
val verifyPsScriptAnalyzer by registering {
175-
dependsOn(psScriptAnalyzer)
175+
fun PrepareSandboxTask.unpackPsScriptAnalyzer(outDir: Provider<String>) {
176+
inputs.files(psScriptAnalyzer)
176177
inputs.property("hash", psScriptAnalyzerSha256Hash)
178+
177179
doFirst {
178180
psScriptAnalyzer.singleFile.verifyHash(psScriptAnalyzerSha256Hash)
179181
}
180-
}
181-
182-
fun PrepareSandboxTask.unpackPsScriptAnalyzer(outDir: Provider<String>) {
183-
dependsOn(psScriptAnalyzer, verifyPsScriptAnalyzer)
184182

185183
from(zipTree(psScriptAnalyzer.singleFile)) {
186184
into(outDir.map { "$it/PSScriptAnalyzer" })
@@ -193,16 +191,12 @@ tasks {
193191
}
194192
}
195193

196-
val verifyPowerShellEditorServices by registering {
197-
dependsOn(powerShellEditorServices)
194+
fun PrepareSandboxTask.unpackPowerShellEditorServices(outDir: Provider<String>) {
195+
inputs.files(powerShellEditorServices)
198196
inputs.property("hash", psesSha256Hash)
199197
doFirst {
200198
powerShellEditorServices.singleFile.verifyHash(psesSha256Hash)
201199
}
202-
}
203-
204-
fun PrepareSandboxTask.unpackPowerShellEditorServices(outDir: Provider<String>) {
205-
dependsOn(powerShellEditorServices, verifyPowerShellEditorServices)
206200

207201
from(zipTree(powerShellEditorServices.singleFile)) {
208202
into(outDir.map { "$it/" })
@@ -220,10 +214,15 @@ tasks {
220214
val maxUnpackedPluginBytes: String by project
221215
val verifyDistributionSize by registering {
222216
group = "verification"
223-
dependsOn(buildPlugin)
217+
218+
val pluginArtifact = buildPlugin.flatMap { it.archiveFile }
219+
220+
inputs.file(pluginArtifact)
221+
inputs.property("maxUnpackedPluginBytes", maxUnpackedPluginBytes)
222+
outputs.upToDateWhen { true }
224223

225224
doLast {
226-
val artifact = buildPlugin.flatMap { it.archiveFile }.get().asFile
225+
val artifact = pluginArtifact.get().asFile
227226
val unpackedSize = ZipFile(artifact).use { it.entries().asSequence().sumOf { e -> e.size } }
228227
val unpackedSizeMiB = "%.3f".format(unpackedSize / 1024.0 / 1024.0)
229228
if (unpackedSize > maxUnpackedPluginBytes.toLong()) {

0 commit comments

Comments
 (0)