-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
67 lines (58 loc) · 1.72 KB
/
Copy pathbuild.gradle.kts
File metadata and controls
67 lines (58 loc) · 1.72 KB
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
plugins {
`java`
`maven-publish`
}
group = "org.powernukkitx"
val branchName: String = try {
val proc = "git rev-parse --abbrev-ref HEAD".runCommand(rootDir)
proc.trim().replace("/", "-")
} catch (e: Exception) {
"dev"
}
version = "$branchName-SNAPSHOT"
java {
sourceSets["main"].java.setSrcDirs(emptyList<String>())
sourceSets["main"].resources.srcDir("src/main/resources")
}
tasks.processResources {
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}
tasks.clean {
delete(buildDir)
}
publishing {
publications {
create<MavenPublication>("mavenJava") {
from(components["java"])
groupId = project.group.toString()
artifactId = "gamedata"
version = project.version.toString()
}
}
repositories {
mavenLocal()
// PNX Maven repository
maven {
name = "pnx"
url = uri("https://repo.powernukkitx.org/releases")
credentials {
username = providers.gradleProperty("pnxUsername")
.orElse(providers.environmentVariable("PNX_REPO_USERNAME"))
.orNull
password = providers.gradleProperty("pnxPassword")
.orElse(providers.environmentVariable("PNX_REPO_PASSWORD"))
.orNull
}
}
}
}
fun String.runCommand(workingDir: File): String {
val parts = this.split("\\s".toRegex())
val proc = ProcessBuilder(*parts.toTypedArray())
.directory(workingDir)
.redirectOutput(ProcessBuilder.Redirect.PIPE)
.redirectError(ProcessBuilder.Redirect.PIPE)
.start()
proc.waitFor()
return proc.inputStream.bufferedReader().readText()
}