-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.gradle
78 lines (67 loc) · 1.79 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
buildscript {
ext.kotlin_version = '1.8.0'
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
group 'org.example'
apply plugin: 'java'
apply plugin: 'kotlin'
apply plugin: 'antlr'
repositories {
mavenCentral()
mavenLocal()
// For IDE dev
flatDir {
dirs 'local_dependencies'
}
}
configurations {
compile {
extendsFrom = extendsFrom.findAll { it != configurations.antlr }
}
}
dependencies {
// Regex generator
implementation 'com.github.mifmif:generex:1.0.1'
implementation 'org.yaml:snakeyaml:2.0'
implementation 'org.jetbrains.kotlin.spec.grammar.tools:kotlin-grammar-tools:0.1'
implementation 'org.json:json:20220320'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testImplementation "org.mockito:mockito-core:3.+"
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
antlr "org.antlr:antlr4:4.7.1"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
}
test {
useJUnitPlatform()
}
compileKotlin {
kotlinOptions {
jvmTarget = "17"
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = "17"
}
}
task uberJar(type: Jar) {
archiveBaseName = 'kotlin-compiler-fuzzer'
archiveVersion = '0.1.0'
archiveClassifier = 'uber'
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
from sourceSets.main.output
manifest {
attributes 'Main-Class': 'org.fuzzer.Main',
'Implementation-Version': project.version
}
dependsOn configurations.runtimeClasspath
from {
configurations.runtimeClasspath.findAll { it.name.endsWith('jar') || it.isDirectory() }.collect { zipTree(it) }
}
}