mirror of
https://hub.gitmirror.com/https://github.com/gradle/actions.git
synced 2025-10-28 08:30:02 +08:00
Instead of writing this file to a temp directory and referencing it on the Gradle command line, the init script is now written to Gradle User Home so that it is picked up automatically.
42 lines
1.3 KiB
TypeScript
42 lines
1.3 KiB
TypeScript
import fs from 'fs'
|
|
|
|
export function writeBuildScanCaptureInitScript(initScript: string): void {
|
|
fs.writeFileSync(
|
|
initScript,
|
|
`
|
|
import org.gradle.util.GradleVersion
|
|
|
|
// Don't run against the included builds (if the main build has any).
|
|
def isTopLevelBuild = gradle.getParent() == null
|
|
if (isTopLevelBuild) {
|
|
def version = GradleVersion.current().baseVersion
|
|
def atLeastGradle4 = version >= GradleVersion.version("4.0")
|
|
def atLeastGradle6 = version >= GradleVersion.version("6.0")
|
|
|
|
if (atLeastGradle6) {
|
|
settingsEvaluated { settings ->
|
|
if (settings.pluginManager.hasPlugin("com.gradle.enterprise")) {
|
|
registerCallbacks(settings.extensions["gradleEnterprise"].buildScan, settings.rootProject.name)
|
|
}
|
|
}
|
|
} else if (atLeastGradle4) {
|
|
projectsEvaluated { gradle ->
|
|
if (gradle.rootProject.pluginManager.hasPlugin("com.gradle.build-scan")) {
|
|
registerCallbacks(gradle.rootProject.extensions["buildScan"], gradle.rootProject.name)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
def registerCallbacks(buildScanExtension, rootProjectName) {
|
|
buildScanExtension.with {
|
|
def scanFile = new File("gradle-build-scan.txt")
|
|
buildScanPublished { buildScan ->
|
|
scanFile.text = buildScan.buildScanUri
|
|
}
|
|
}
|
|
}
|
|
`
|
|
)
|
|
}
|