Replace Gradle single quote strings with the double quote form
whenever possible. The change helps to being consistency to the
dependencies section where mostly single quotes were used, but
occasionally double quotes were required due to `${}` references.
81 lines
1.8 KiB
Groovy
81 lines
1.8 KiB
Groovy
tagOs()
|
|
tagJdk()
|
|
tagIde()
|
|
tagCiOrLocal()
|
|
addGitMetadata()
|
|
|
|
void tagOs() {
|
|
gradleEnterprise.buildScan.tag System.getProperty("os.name")
|
|
}
|
|
|
|
void tagJdk() {
|
|
gradleEnterprise.buildScan.tag "JDK-" + System.getProperty('java.specification.version')
|
|
}
|
|
|
|
void tagIde() {
|
|
if (System.getProperty("idea.version")) {
|
|
gradleEnterprise.buildScan.tag "IntelliJ IDEA"
|
|
} else if (System.getProperty("eclipse.buildId")) {
|
|
gradleEnterprise.buildScan.tag "Eclipse"
|
|
}
|
|
}
|
|
|
|
void tagCiOrLocal() {
|
|
gradleEnterprise.buildScan.tag(isCi() ? "CI" : "LOCAL")
|
|
}
|
|
|
|
void addGitMetadata() {
|
|
gradleEnterprise.buildScan.background {
|
|
def gitCommitId = execAndGetStdout("git", "rev-parse", "--short=8", "--verify", "HEAD")
|
|
def gitBranchName = getBranch()
|
|
def gitStatus = execAndGetStdout("git", "status", "--porcelain")
|
|
|
|
if(gitCommitId) {
|
|
def commitIdLabel = "Git Commit ID"
|
|
value commitIdLabel, gitCommitId
|
|
link "Git commit build scans", customValueSearchUrl([(commitIdLabel): gitCommitId])
|
|
}
|
|
if (gitBranchName) {
|
|
tag gitBranchName
|
|
value "Git branch", gitBranchName
|
|
}
|
|
if (gitStatus) {
|
|
tag "dirty"
|
|
value "Git status", gitStatus
|
|
}
|
|
}
|
|
}
|
|
|
|
boolean isCi() {
|
|
System.getenv("CI")
|
|
}
|
|
|
|
String getBranch() {
|
|
def branch = System.getenv("BRANCH")
|
|
if (branch) {
|
|
return branch
|
|
}
|
|
return execAndGetStdout("git", "rev-parse", "--abbrev-ref", "HEAD")
|
|
}
|
|
|
|
String execAndGetStdout(String... args) {
|
|
def stdout = new ByteArrayOutputStream()
|
|
exec {
|
|
commandLine(args)
|
|
standardOutput = stdout
|
|
}
|
|
return stdout.toString().trim()
|
|
}
|
|
|
|
String customValueSearchUrl(Map<String, String> search) {
|
|
def query = search.collect { name, value ->
|
|
"search.names=${encodeURL(name)}&search.values=${encodeURL(value)}"
|
|
}.join("&")
|
|
|
|
"${gradleEnterprise.buildScan.server}/scans?${query}"
|
|
}
|
|
|
|
String encodeURL(String url) {
|
|
URLEncoder.encode(url, "UTF-8")
|
|
}
|