Sign and generate hash for compiler and plugin zip
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
||||||
|
import org.gradle.crypto.checksum.Checksum
|
||||||
import org.gradle.plugins.ide.idea.model.IdeaModel
|
import org.gradle.plugins.ide.idea.model.IdeaModel
|
||||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||||
import proguard.gradle.ProGuardTask
|
import proguard.gradle.ProGuardTask
|
||||||
@@ -42,6 +43,8 @@ plugins {
|
|||||||
idea
|
idea
|
||||||
id("jps-compatible")
|
id("jps-compatible")
|
||||||
id("org.jetbrains.gradle.plugin.idea-ext")
|
id("org.jetbrains.gradle.plugin.idea-ext")
|
||||||
|
id("org.gradle.crypto.checksum") version "1.2.0"
|
||||||
|
signing
|
||||||
}
|
}
|
||||||
|
|
||||||
pill {
|
pill {
|
||||||
@@ -834,6 +837,33 @@ val zipPlugin by task<Zip> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun Project.secureZipTask(zipTask: TaskProvider<Zip>): RegisteringDomainObjectDelegateProviderWithAction<out TaskContainer, Task> {
|
||||||
|
val checkSumTask = tasks.register("${zipTask.name}Checksum", Checksum::class) {
|
||||||
|
dependsOn(zipTask)
|
||||||
|
val compilerFile = zipTask.get().outputs.files.singleFile
|
||||||
|
files = files(compilerFile)
|
||||||
|
outputDir = compilerFile.parentFile
|
||||||
|
algorithm = Checksum.Algorithm.SHA256
|
||||||
|
}
|
||||||
|
|
||||||
|
val signTask = tasks.register("${zipTask.name}Sign", Sign::class) {
|
||||||
|
description = "Signs the archive produced by the '" + zipTask.name + "' task."
|
||||||
|
sign(zipTask.get())
|
||||||
|
}
|
||||||
|
|
||||||
|
return tasks.registering {
|
||||||
|
dependsOn(checkSumTask)
|
||||||
|
dependsOn(signTask)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
signing {
|
||||||
|
useGpgCmd()
|
||||||
|
}
|
||||||
|
|
||||||
|
val zipCompilerWithSignature by secureZipTask(zipCompiler)
|
||||||
|
val zipPluginWithSignature by secureZipTask(zipPlugin)
|
||||||
|
|
||||||
configure<IdeaModel> {
|
configure<IdeaModel> {
|
||||||
module {
|
module {
|
||||||
excludeDirs = files(
|
excludeDirs = files(
|
||||||
|
|||||||
Reference in New Issue
Block a user