You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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")
|
|
}
|