From c34ae23465472991392669131fae83b6046b586d Mon Sep 17 00:00:00 2001 From: Bogdan Mukvich Date: Mon, 16 Jan 2023 17:04:04 +0100 Subject: [PATCH] Fix file permissions affecting build reproducibility File permissions affect reproducibility on different platforms and system settings (umask, etc.) KTI-1094 --- build.gradle.kts | 6 ------ buildSrc/src/main/kotlin/common-configuration.gradle.kts | 6 ++++++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 63160dd98ea..0b6c6b6ab7b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -825,11 +825,6 @@ tasks { } } -fun CopySpec.setExecutablePermissions() { - filesMatching("**/bin/*") { mode = 0b111101101 } - filesMatching("**/bin/*.bat") { mode = 0b110100100 } -} - val zipCompiler by task { dependsOn(dist) destinationDirectory.set(file(distDir)) @@ -837,7 +832,6 @@ val zipCompiler by task { from(distKotlinHomeDir) into("kotlinc") - setExecutablePermissions() doLast { logger.lifecycle("Compiler artifacts packed to ${archiveFile.get().asFile.absolutePath}") diff --git a/buildSrc/src/main/kotlin/common-configuration.gradle.kts b/buildSrc/src/main/kotlin/common-configuration.gradle.kts index 28da9003f0f..39e28307e8d 100644 --- a/buildSrc/src/main/kotlin/common-configuration.gradle.kts +++ b/buildSrc/src/main/kotlin/common-configuration.gradle.kts @@ -236,6 +236,12 @@ fun Project.configureArtifacts() { tasks.withType().configureEach { isPreserveFileTimestamps = false isReproducibleFileOrder = true + val `rw-r--r--` = 0b110100100 + val `rwxr-xr-x` = 0b111101101 + fileMode = `rw-r--r--` + dirMode = `rwxr-xr-x` + filesMatching("**/bin/*") { mode = `rwxr-xr-x` } + filesMatching("**/bin/*.bat") { mode = `rw-r--r--` } } normalization {