-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
122 lines (104 loc) · 3.96 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
plugins {
id 'java'
}
subprojects {
apply plugin: "maven-publish"
java {
withJavadocJar()
withSourcesJar()
}
publishing {
repositories {
maven {
name = "GitHubPackages"
url = uri("https://maven.pkg.github.com/aleksandarsusnjar/paniql")
afterEvaluate {
credentials {
username = System.getenv("GITHUB_ACTOR")
password = System.getenv("GITHUB_TOKEN")
}
}
}
}
afterEvaluate {
publications {
maven(MavenPublication) {
from components.java
pom {
licenses {
license {
name = "MIT License"
url = "https://opensource.org/license/mit/"
}
scm {
url = "https://github.com/aleksandarsusnjar/paniql"
}
}
}
}
}
}
}
}
// GitHub Actions environment variables
def gitBranch = System.getenv('GITHUB_REF_NAME') ?: 'git rev-parse --abbrev-ref HEAD'.execute().text.trim()
//def branchCommitCount = 'git rev-list --count HEAD'.execute().text.trim()
def totalCommitCount = 'git rev-list --count --all'.execute().text.trim()
def latestVersionTag = System.getenv('PANIQL_VERSION_TAG') ?: 'git describe --tags --match="version-*" HEAD'.execute().text.trim()
String latestVersionTagVersion = latestVersionTag.startsWith('version-') ? latestVersionTag.substring(8) : '0.1'
String latestVersionTagSuffix = ''
def latestVersionTagSuffixPos = latestVersionTagVersion.indexOf('-')
if (latestVersionTagSuffixPos > 0) {
latestVersionTagSuffix = latestVersionTagVersion.substring(latestVersionTagSuffixPos)
latestVersionTagVersion = latestVersionTagVersion.substring(0, latestVersionTagSuffixPos)
}
def buildNumber = System.getenv('GITHUB_RUN_NUMBER') ?: System.getenv('BUILD_NUMBER') ?: System.getenv('TRAVIS_BUILD_NUMBER')
def isReleaseBranch = gitBranch.startsWith("release-")
def majorMinorVersion = isReleaseBranch ? gitBranch.substring(8) : latestVersionTagVersion
def patchVersion = totalCommitCount
def buildSuffix = (buildNumber != null) ? ('.' + buildNumber) : '-SNAPSHOT'
allprojects {
group = 'net.susnjar.paniql'
version = majorMinorVersion + '.' + patchVersion + buildSuffix
}
task versionInfo {
doLast {
System.out.println('gitBranch: ' + gitBranch)
System.out.println('latestVersionTag: ' + latestVersionTag)
System.out.println(' - version: ' + latestVersionTagVersion)
System.out.println(' - suffix: ' + latestVersionTagSuffix)
System.out.println('totalCommitCount: ' + totalCommitCount)
System.out.println('buildNumber: ' + buildNumber)
System.out.println('version: ' + version)
}
}
task envInfo {
doLast {
Map env = System.getenv();
for (String name : env.keySet().toSorted()) {
String uname = name.toUpperCase(); // just in case
if (uname.contains("TOKEN") || uname.contains("PASSWORD") || uname.contains("SECRET")) {
System.out.println(uname + ': <removed>')
} else {
System.out.println(uname + ': ' + env.get(name));
}
}
}
}
task buildInfo {
dependsOn 'envInfo'
dependsOn 'versionInfo'
}
repositories {
mavenCentral()
}
dependencies {
implementation 'com.graphql-java:graphql-java:20.2'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.9.2'
testImplementation 'com.fasterxml.jackson.core:jackson-databind:2.12.5'
testImplementation 'com.squareup.okhttp3:okhttp:4.9.1'
}
test {
useJUnitPlatform()
}