-
Notifications
You must be signed in to change notification settings - Fork 3
/
build.gradle
146 lines (133 loc) · 4.75 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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
plugins {
id "java-library"
id "groovy"
id "maven-publish"
id "signing"
}
version projectVersion
group projectGroup
java {
toolchain {
languageVersion = JavaLanguageVersion.of(jdkCompatibilityVersion)
}
}
repositories {
mavenLocal()
// If using a Maven proxy, put the property settings in
// ~/.gradle/gradle.properties for default_proxy_url,
// default_proxy_username and default_proxy_password.
if (project.hasProperty("default_proxy_url")) {
maven {
url project.property("default_proxy_url")
credentials {
username project.property("default_proxy_username")
password project.property("default_proxy_password")
}
}
}
mavenCentral()
}
jar {
from { ["LICENSE", "NOTICE"] }
}
task sourceJar(type: Jar) {
from sourceSets.main.allJava
from { ["LICENSE", "NOTICE"] }
archiveClassifier = "sources"
}
task javadocJar(type: Jar, dependsOn: javadoc) {
from javadoc.destinationDir
from { ["LICENSE", "NOTICE"] }
archiveClassifier = "javadoc"
}
artifacts {
archives jar, javadocJar, sourceJar
}
dependencies {
/**
* These dependencies are cobbled together using the top-level ApacheDS
* source code pom.xml and service/pom.xml. Want to stay away from the
* monolithic JARs of packages like apacheds-all and apacheds-service,
* which package a bunch of different libraries into one JAR.
*/
def apacheDsVersion = "2.0.0.AM27"
// This is org.apache.directory.api.version from top-level pom.xml.
def apacheDirApiVersion = "2.1.5"
// From service/pom.xml
api group: "org.apache.directory.server", name: "apacheds-core-annotations", version: apacheDsVersion
api group: "org.apache.directory.server", name: "apacheds-core-api", version: apacheDsVersion
api group: "org.apache.directory.server", name: "apacheds-service-builder", version: apacheDsVersion
api group: "org.apache.directory.api", name: "api-ldap-codec-standalone", version: apacheDirApiVersion
api group: "org.apache.directory.api", name: "api-ldap-model", version: apacheDirApiVersion
api group: "org.apache.directory.api", name: "api-ldap-schema-data", version: apacheDirApiVersion
api group: "org.apache.directory.api", name: "api-util", version: apacheDirApiVersion
implementation "commons-io:commons-io:2.16.1"
testImplementation "org.apache.groovy:groovy-all:4.0.22"
testImplementation "org.spockframework:spock-core:2.4-M4-groovy-4.0"
testImplementation "org.slf4j:slf4j-api:2.0.16"
testRuntimeOnly "org.apache.logging.log4j:log4j-core:2.24.0"
testRuntimeOnly "org.apache.logging.log4j:log4j-slf4j-impl:2.24.0"
}
signing {
useGpgCmd()
sign publishing.publications
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
artifact sourceJar
artifact javadocJar
pom.withXml {
asNode().children().last() + {
resolveStrategy = Closure.DELEGATE_FIRST
name projectName
description projectDescription
url githubWebUrl
scm {
url githubWebUrl
connection "scm:git:${githubWebUrl}.git"
developerConnection "scm:git:${githubWebUrl}.git"
tag "v${project.version}"
}
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/license/LICENSE-2.0.txt'
distribution 'repo'
}
}
issueManagement {
url "${githubWebUrl}/issues"
system 'GitHub'
}
developers {
developer {
id 'bkoehm'
name 'Brian Koehmstedt'
email '1261658+bkoehm@users.noreply.github.com'
organization 'io.github.bkoehm'
organizationUrl githubWebUrl
}
}
}
}
}
}
repositories {
maven {
name = "OSSRH"
url project.property("default_ossrh_url")
credentials {
username project.property("default_ossrh_username")
password project.property("default_ossrh_password")
}
}
}
}
tasks.withType(Test) {
useJUnitPlatform()
testLogging {
events "passed", "skipped", "failed"
}
}