-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle
More file actions
75 lines (60 loc) · 1.49 KB
/
Copy pathbuild.gradle
File metadata and controls
75 lines (60 loc) · 1.49 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
68
69
70
71
72
73
74
75
plugins {
id 'java'
id 'application'
id 'antlr'
}
group 'msa.lang'
version '1.0-SNAPSHOT'
java {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
application {
mainClass = 'msa.lang.draw.DrawInterpreter'
}
generateGrammarSource {
maxHeapSize = "64m"
arguments += ['-visitor', '-package', 'msa.lang.draw.cst']
outputDirectory = file("src/main/java/msa/lang/draw/cst")
}
sourceSets {
main {
antlr {
srcDirs = ['grammar']
}
}
}
compileJava.dependsOn generateGrammarSource
repositories {
mavenCentral()
}
task fatJar(type: Jar) {
manifest {
attributes 'Main-Class': 'msa.lang.draw.DrawInterpreter'
}
archiveFileName = "DrawDSL.jar"
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
with jar
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
dependencies {
antlr 'org.antlr:antlr4:4.13.2'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.11.3'
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.11.3'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
implementation 'org.antlr:antlr4-runtime:4.13.2'
implementation 'net.sourceforge.argparse4j:argparse4j:0.9.0'
}
test {
useJUnitPlatform()
}
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
jar {
manifest {
attributes 'Main-Class': 'msa.lang.draw.DrawInterpreter'
}
}