-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathbuild.gradle
More file actions
125 lines (104 loc) · 3.13 KB
/
Copy pathbuild.gradle
File metadata and controls
125 lines (104 loc) · 3.13 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
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
plugins {
id 'java'
id 'maven-publish'
id 'me.champeau.jmh' version '0.7.2'
id 'com.gradleup.shadow' version '9.2.0'
// id "com.vanniktech.maven.publish" version "0.36.0"
// id 'signing'
}
group = 'dev.vfyjxf'
version = '1.1.4'
repositories {
mavenCentral()
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
withSourcesJar()
}
dependencies {
// implementation 'org.jetbrains:annotations:25.0.0'
implementation("it.unimi.dsi:fastutil:8.5.12")
testImplementation platform('org.junit:junit-bom:5.10.0')
testImplementation 'org.junit.jupiter:junit-jupiter'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
// Gson for JSON parsing in tests
testImplementation 'com.google.code.gson:gson:2.10.1'
// JMH for benchmarking
jmh 'org.openjdk.jmh:jmh-core:1.37'
jmhAnnotationProcessor 'org.openjdk.jmh:jmh-generator-annprocess:1.37'
}
shadowJar {
minimize()
relocate 'it.unimi.dsi.fastutil', 'dev.vfyjxf.taffy.shadow.fastutil'
}
jmh {
warmupIterations = 2
iterations = 5
fork = 1
// Include all benchmark classes using full regex pattern
includes = ['.*Benchmark.*']
// Keep default runs reasonably fast.
// Extended benchmarks are opt-in via the `jmhExtended` task below.
excludes = ['.*ExtendedBenchmark.*']
// JMH options
jmhVersion = '1.37'
resultFormat = 'JSON'
resultsFile = project.file("${project.buildDir}/reports/jmh/results.json")
// Increase stack size for deep recursion benchmarks (depth=1000)
jvmArgs = ['-Xss16m']
}
test {
useJUnitPlatform()
}
tasks.withType(JavaCompile).configureEach {
options.encoding = "UTF-8"
options.release = 17
}
publishing {
publications {
mavenJava(MavenPublication) {
groupId = project.group
artifactId = 'taffy'
version = project.version
from components.java
}
}
repositories {
mavenLocal()
}
}
//signing {
// useGpgCmd()
// required = false
//}
//mavenPublishing {
// coordinates("dev.vfyjxf", "taffy", project.version)
// publishToMavenCentral()
// signAllPublications()
// pom {
// name = "Taffy-Java"
// description = "A pure Java implementation of the Taffy UI layout library, supporting CSS Flexbox, Grid, and Block layout algorithms."
// url = "https://github.com/vfyjxf/taffy-java"
// licenses {
// license {
// name = "MIT License"
// url = "https://github.com/vfyjxf/taffy-java/blob/main/LICENSE"
// distribution = "https://github.com/vfyjxf/taffy-java/blob/main/LICENSE"
// }
// }
// developers {
// developer {
// id = "vfyjxf"
// name = "vfyjxf"
// url = "https://github.com/vfyjxf"
// }
// }
// scm {
// url = "https://github.com/vfyjxf/taffy-java"
// connection = "scm:git:git://github.com/vfyjxf/taffy-java.git"
// developerConnection = "scm:git:ssh://git@github.com/vfyjxf/taffy-java.git"
// }
// }
//}