@@ -20,13 +20,13 @@ import org.sonarsource.cloudnative.gradle.GO_LICENSES_OUTPUT_DIR
2020import org.sonarsource.cloudnative.gradle.GoBuild
2121import org.sonarsource.cloudnative.gradle.allGoSourcesAndMakeScripts
2222import org.sonarsource.cloudnative.gradle.callMake
23+ import org.sonarsource.cloudnative.gradle.crossCompileEnv
2324import org.sonarsource.cloudnative.gradle.getArchitecture
2425import org.sonarsource.cloudnative.gradle.getPlatform
2526import org.sonarsource.cloudnative.gradle.goLangCiLintVersion
2627import org.sonarsource.cloudnative.gradle.goSources
2728import org.sonarsource.cloudnative.gradle.goVersion
2829import org.sonarsource.cloudnative.gradle.isCi
29- import org.sonarsource.cloudnative.gradle.isCrossCompile
3030
3131plugins {
3232 id(" org.sonarsource.cloud-native.go-docker-environment" )
@@ -61,15 +61,20 @@ if (isCi()) {
6161 description = " Compile the go code for the local system."
6262 group = " build"
6363
64- inputs.property(" GO_CROSS_COMPILE" , isCrossCompile)
64+ inputs.property(" GO_CROSS_COMPILE" , crossCompileEnv)
65+ if (crossCompileEnv.get() == " 0" ) {
66+ // Additional inputs only when not cross-compiling to reuse cached results only from the relevant platform
67+ inputs.property(" platform" , getPlatform())
68+ inputs.property(" architecture" , getArchitecture())
69+ }
6570 inputs.files(allGoSourcesAndMakeScripts())
6671
6772 outputs.dir(GO_BINARY_OUTPUT_DIR )
6873 outputs.dir(GO_LICENSES_OUTPUT_DIR )
6974 outputs.files(goBuildExtension.additionalOutputFiles)
7075 outputs.cacheIf { true }
7176
72- environment(" GO_CROSS_COMPILE" , isCrossCompile .get())
77+ environment(" GO_CROSS_COMPILE" , crossCompileEnv .get())
7378 callMake(" build" )
7479 }
7580 goBinariesJar.configure { dependsOn(compileGo) }
0 commit comments