-
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathbuild.gradle.kts
128 lines (114 loc) · 4.05 KB
/
build.gradle.kts
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
126
127
128
plugins {
id("com.gradleup.shadow") version "8.3.6"
id("com.github.breadmoirai.github-release") version "2.5.2"
id("com.palantir.git-version") version "3.2.0"
id("java")
id("java-library")
id("signing")
}
repositories {
mavenCentral()
}
dependencies {
api(libs.org.cryptomator.integrations.api)
api(libs.org.slf4j.slf4j.api)
api(libs.org.purejava.keepassxc.proxy.access)
testImplementation(libs.org.slf4j.slf4j.simple)
testImplementation(libs.org.junit.jupiter.junit.jupiter.api)
testImplementation(libs.org.junit.jupiter.junit.jupiter.engine)
testImplementation(libs.org.junit.jupiter.junit.jupiter)
testRuntimeOnly(libs.org.junit.platform.junit.platform.launcher)
}
group = "org.purejava"
val gitVersion: groovy.lang.Closure<String> by extra
version = gitVersion() // version set by the plugin, based on the Git tag
val releaseGradlePluginToken: String = System.getenv("RELEASE_GRADLE_PLUGIN_TOKEN") ?: ""
java {
sourceCompatibility = JavaVersion.VERSION_17
withSourcesJar()
withJavadocJar()
}
tasks.test {
useJUnitPlatform()
filter {
includeTestsMatching("KeePassXCAccessTest")
}
}
/*
publishing {
publications {
create<MavenPublication>("mavenJava") {
from(components["java"])
pom {
name.set("keepassxc-cryptomator")
description.set("Plug-in for Cryptomator to store vault passwords in KeePassXC")
url.set("https://github.com/purejava/keepassxc-cryptomator")
licenses {
license {
name.set("MIT License")
url.set("https://opensource.org/licenses/MIT")
}
}
developers {
developer {
id.set("purejava")
name.set("Ralph Plawetzki")
email.set("[email protected]")
}
}
scm {
connection.set("scm:git:git://github.com/purejava/keepassxc-cryptomator.git")
developerConnection.set("scm:git:ssh://github.com/purejava/keepassxc-cryptomator.git")
url.set("https://github.com/purejava/keepassxc-cryptomator/tree/main")
}
issueManagement {
system.set("GitHub Issues")
url.set("https://github.com/purejava/keepassxc-cryptomator/issues")
}
}
}
}
}
*/
tasks.named<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar>("shadowJar") {
archiveClassifier.set("")
}
artifacts {
add("archives", tasks.named("shadowJar"))
add("archives", tasks.named("sourcesJar"))
}
signing {
useGpgCmd()
// Sign both the sources JAR and the shadow JAR
sign(configurations.getByName("archives"))
}
tasks.withType<JavaCompile> {
options.encoding = "UTF-8"
}
tasks.withType<Javadoc> {
(options as StandardJavadocDocletOptions).encoding = "UTF-8"
if (JavaVersion.current().isJava9Compatible) {
(options as StandardJavadocDocletOptions).addBooleanOption("html5", true)
}
}
githubRelease {
token(releaseGradlePluginToken)
tagName = project.version.toString()
releaseName = project.version.toString()
targetCommitish = "main"
draft = true
body = """
[](https://github.com/purejava/keepassxc-cryptomator/releases/latest/download/keepassxc-cryptomator-${project.version}.jar)
- xxx
""".trimIndent()
releaseAssets.from(
fileTree("${layout.buildDirectory.get()}/libs") {
include(
"keepassxc-cryptomator-${project.version}.jar",
"keepassxc-cryptomator-${project.version}.jar.asc",
"keepassxc-cryptomator-${project.version}-sources.jar",
"keepassxc-cryptomator-${project.version}-sources.jar.asc"
)
}
)
}