generated from telekom/reuse-template
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.gradle
124 lines (103 loc) · 3.48 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
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
// SPDX-FileCopyrightText: 2024 Deutsche Telekom AG
//
// SPDX-License-Identifier: Apache-2.0
plugins {
id 'java'
id 'jacoco'
id 'maven-publish'
id 'signing'
}
group 'de.telekom' // your group id
repositories {
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
java {
withJavadocJar()
withSourcesJar()
sourceCompatibility = "21"
targetCompatibility = "21"
}
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.32'
annotationProcessor 'org.projectlombok:lombok:1.18.32'
testCompileOnly 'org.projectlombok:lombok:1.18.32'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.32'
implementation 'org.slf4j:slf4j-api:2.0.12'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.0'
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.17.0'
implementation 'org.apache.commons:commons-lang3:3.14.0'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.10.2'
//3rd party
implementation 'com.jayway.jsonpath:json-path:2.9.0'
implementation 'net.minidev:json-smart:2.5.1'
testImplementation 'commons-io:commons-io:2.16.0'
}
test {
useJUnitPlatform()
finalizedBy jacocoTestReport
}
jacocoTestReport {
dependsOn test
reports {
xml.required = true
}
}
publishing {
publications {
mavenJava(MavenPublication) {
groupId = 'de.telekom'
artifactId = 'json-filter'
version = project.properties['version']
from components.java
pom {
name = 'JSON Filter'
description = 'A simple library that allows for filtering JSON documents.'
url = 'https://github.com/telekom/JSON-Filter'
inceptionYear = '2022'
licenses {
license {
name = 'Apache-2.0'
url = 'https://www.apache.org/licenses/LICENSE-2.0'
}
}
developers {
developer {
id = 'eni-pandora'
name = 'Team Pandora'
email = '[email protected]'
organization = 'Deutsche Telekom IT GmbH'
organizationUrl = 'https://developer.telekom.de/'
}
}
scm {
connection = 'scm:git:git://github.com/telekom/JSON-Filter.git'
developerConnection = 'scm:git:git://github.com/telekom/JSON-Filter.git'
url = 'https://github.com/telekom/JSON-Filter'
}
}
}
}
repositories {
maven {
name = "OSSRH"
url = "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/"
credentials {
username = System.getenv('PUBLISH_USERNAME')
password = System.getenv('PUBLISH_PASSWORD')
}
}
}
}
signing {
def signingKey = new String(Base64.decoder.decode(System.getenv('PUBLISH_GPG_PRIVATE_KEY') ?: ""))
def signingPassword = System.getenv('PUBLISH_GPG_PASSPHRASE')
useInMemoryPgpKeys(signingKey, signingPassword)
sign publishing.publications.mavenJava
}
javadoc {
if (JavaVersion.current().isJava9Compatible()) {
options.addBooleanOption('html5', true)
}
}