-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
104 lines (87 loc) · 3.02 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
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
}
plugins {
id("application")
id("org.graalvm.buildtools.native") version("0.9.21")
}
group "info.picocli"
version "1.0-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
// picocli
implementation("info.picocli:picocli:4.7.3")
annotationProcessor("info.picocli:picocli-codegen:4.7.3")
implementation("info.picocli:picocli-jansi-graalvm:1.2.0")
implementation("org.fusesource.jansi:jansi:2.4.0")
// chocosolver
implementation("org.choco-solver:choco-solver:4.10.12")
// langs3
implementation("org.apache.commons:commons-lang3:3.12.0")
// logging
// https://mvnrepository.com/artifact/ch.qos.logback/logback-classic
implementation("ch.qos.logback:logback-classic:1.4.7")
// test-classes
testImplementation("org.junit.jupiter:junit-jupiter-api:5.5.2")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.5.2")
}
application {
mainClass = "org.maatkamp.picocli.chocosolver.queens.QueensSolver"
}
tasks.withType(Test).configureEach {
useJUnitPlatform()
}
graalvmNative {
binaries {
metadataRepository {
// enabled = true
def extension = System.getProperty("extension", "")
def repo = file("config-directory${extension ? "." + extension : ""}")
println("Using config repo: $repo")
uri(repo)
}
configureEach {
verbose = true
runtimeArgs.add("-DmessageClass=org.graalvm.internal.reflect.Message")
}
configureEach {
resources.autodetect()
}
main {
imageName.set("queenSolver")
buildArgs.add("--verbose")
buildArgs.add("--add-opens=java.base/java.nio=ALL-UNNAMED")
buildArgs.add("--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED")
buildArgs.add("--add-opens=java.base/jdk.internal.ref=ALL-UNNAMED")
buildArgs.add("--trace-class-initialization=ch.qos.logback.classic.Logger")
buildArgs.add("--trace-object-instantiation=ch.qos.logback.core.AsyncAppenderBase\$Worker")
buildArgs.add("--initialize-at-build-time=org.slf4j.LoggerFactory,ch.qos.logback")
buildArgs.add("--initialize-at-run-time=io.netty")
buildArgs.add("--static")
buildArgs.add("--libc=musl")
}
}
}
tasks.register("configZip", Zip) {
destinationDirectory = project.layout.projectDirectory
from(file("config-directory"))
archiveFileName = "config-directory.zip"
}
tasks.register("configTarGz", Tar) {
destinationDirectory = project.layout.projectDirectory
compression = Compression.GZIP
from(file("config-directory"))
archiveFileName = "config-directory.tar.gz"
}
tasks.register("configTarBz2", Tar) {
destinationDirectory = project.layout.projectDirectory
compression = Compression.BZIP2
from(file("config-directory"))
archiveFileName = "config-directory.tar.bz2"
}