forked from ben-manes/caffeine
/
build.gradle
98 lines (82 loc) · 2.54 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
/** Cache simulator using tracing data and a family of eviction policy options. */
import net.ltgt.gradle.errorprone.CheckSeverity
apply from: "${rootDir}/gradle/autoValue.gradle"
apply plugin:'application'
mainClassName = 'com.github.benmanes.caffeine.cache.simulator.Simulator'
dependencies {
implementation project(':caffeine')
implementation libraries.xz
implementation libraries.ohc
implementation libraries.akka
implementation libraries.ycsb
implementation libraries.zstd
implementation libraries.guava
implementation libraries.stream
implementation libraries.tcache
implementation libraries.cache2k
implementation libraries.picocli
implementation libraries.ehcache3
implementation libraries.fastutil
implementation libraries.slf4jNop
implementation libraries.commonsIo
implementation libraries.fastfilter
implementation libraries.flipTables
implementation libraries.expiringMap
implementation libraries.commonsLang3
implementation libraries.commonsMath3
implementation libraries.elasticSearch
implementation libraries.commonsCompress
implementation libraries.univocityParsers
testImplementation testLibraries.testng
}
compileJava {
modularity.inferModulePath = false
}
test {
useTestNG()
}
// JMH zip archive overlaps with the application's
if (!(gradle.startParameter.taskNames ==~ /.*uploadArchives.*/)) {
apply from: "${rootDir}/gradle/jmh.gradle"
jmh {
benchmarkMode = ['avgt']
warmupIterations = 1
iterations = 3
}
}
sonarqube {
skipProject = true
}
jar.manifest {
attributes 'Bundle-SymbolicName': 'com.github.benmanes.caffeine.simulator'
attributes 'Automatic-Module-Name': 'com.github.benmanes.caffeine.simulator'
}
tasks.withType(JavaCompile) {
options.errorprone.nullaway {
severity = CheckSeverity.OFF
}
}
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
// https://github.com/akka/akka/issues/21165
enabled = !JavaVersion.current().isJava9Compatible()
}
run {
systemProperties System.properties.findAll {
it.getKey().startsWith('akka') || it.getKey().startsWith('caffeine')
}
jvmArgs '-XX:+UseParallelGC', '-Xmx4g'
}
task rewrite(type: JavaExec) {
main = 'com.github.benmanes.caffeine.cache.simulator.parser.Rewriter'
classpath = sourceSets.main.runtimeClasspath
def arguments = ['inputFormat', 'inputFiles', 'outputFile', 'outputFormat']
for (def argument : arguments) {
if (project.hasProperty(argument)) {
args "--${argument}", project.property(argument)
}
}
if (args.isEmpty()) {
args '--help'
}
}