@@ -23,13 +23,20 @@ apply plugin: "org.jruyi.thrift"
23
23
apply plugin : ' maven-publish'
24
24
apply plugin : ' com.github.sherter.google-java-format'
25
25
26
+ if (hasProperty(" signing.keyId" )) {
27
+ apply plugin : ' signing'
28
+ signing {
29
+ sign configurations. archives
30
+ }
31
+ }
32
+
26
33
googleJavaFormat {
27
34
toolVersion ' 1.5'
28
35
include ' **/*.java'
29
36
exclude ' **/generated-sources/*'
30
37
}
31
38
32
- group = ' com.uber'
39
+ group = ' com.uber.cadence '
33
40
version = ' 0.2.0-SNAPSHOT'
34
41
35
42
description = """ Uber Cadence Java Client"""
@@ -74,24 +81,79 @@ if (JavaVersion.current().isJava8Compatible()) {
74
81
}
75
82
}
76
83
84
+ task javadocJar (type : Jar ) {
85
+ classifier = ' javadoc'
86
+ from javadoc
87
+ }
88
+
77
89
task sourcesJar (type : Jar , dependsOn : classes) {
78
90
classifier = ' sources'
79
91
from sourceSets. main. allSource
80
92
}
81
93
82
94
artifacts {
83
- archives sourcesJar
95
+ archives javadocJar, sourcesJar
84
96
}
85
97
98
+ def ossrhUsername = hasProperty(' ossrhUsername' ) ? property(' ossrhUsername' ) : " "
99
+ def ossrhPassword = hasProperty(' ossrhPassword' ) ? property(' ossrhPassword' ) : " "
100
+
86
101
publishing {
102
+ // Uncomment the following when we can use maven-publish to sign artifacts
103
+ // https://github.com/gradle/gradle/issues/4943
104
+
105
+ // mavenCustom(MavenPublication) {
106
+ // pom.withXml {
107
+ // asNode().with {
108
+ // appendNode('packaging', 'jar')
109
+ // appendNode('name', 'cadence-client')
110
+ // appendNode('description', description)
111
+ // appendNode('url', 'https://github.com/uber-java/cadence-client')
112
+ // appendNode('scm').with {
113
+ // appendNode('url', 'https://github.com/uber-java/cadence-client')
114
+ // appendNode('connection', '[email protected] :uber-java/cadence-client.git')
115
+ // }
116
+ // appendNode('licenses').with {
117
+ // appendNode('license').with {
118
+ // appendNode('name', 'The Apache License, Version 2.0')
119
+ // appendNode('url', 'http://www.apache.org/licenses/LICENSE-2.0.txt')
120
+ // }
121
+ // }
122
+ // appendNode('developers').with {
123
+ // appendNode('maxim').with {
124
+ // appendNode('id', 'maxim')
125
+ // appendNode('name', 'Maxim Fateev')
126
+ // appendNode('email', '[email protected] ')
127
+ // }
128
+ // appendNode('developer').with {
129
+ // appendNode('id', 'meiliang')
130
+ // appendNode('name', 'Liang Mei')
131
+ // appendNode('email', '[email protected] ')
132
+ // }
133
+ // }
134
+ // }
135
+ // }
136
+ // }
137
+
87
138
publications {
88
139
mavenJava(MavenPublication ) {
89
140
from components. java
141
+ artifact javadocJar
90
142
artifact sourcesJar
91
143
}
92
144
}
93
145
repositories {
94
- mavenLocal()
146
+ maven {
147
+ credentials {
148
+ username ossrhUsername
149
+ password ossrhPassword
150
+ }
151
+ if (project. version. endsWith(' -SNAPSHOT' )) {
152
+ url " https://oss.sonatype.org/content/repositories/snapshots/"
153
+ } else {
154
+ url " https://oss.sonatype.org/service/local/staging/deploy/maven2/"
155
+ }
156
+ }
95
157
}
96
158
}
97
159
@@ -102,4 +164,54 @@ test {
102
164
// Uncomment the following line if you want to see test logs in gradlew run.
103
165
// showStandardStreams true
104
166
}
105
- }
167
+ }
168
+
169
+ uploadArchives {
170
+ repositories {
171
+ mavenDeployer {
172
+ beforeDeployment { MavenDeployment deployment -> signing. signPom(deployment) }
173
+
174
+ repository(url : " https://oss.sonatype.org/service/local/staging/deploy/maven2/" ) {
175
+ authentication(userName : ossrhUsername, password : ossrhPassword)
176
+ }
177
+
178
+ snapshotRepository(url : " https://oss.sonatype.org/content/repositories/snapshots/" ) {
179
+ authentication(userName : ossrhUsername, password : ossrhPassword)
180
+ }
181
+
182
+ pom. project {
183
+ name ' cadence-client'
184
+ packaging ' jar'
185
+ // optionally artifactId can be defined here
186
+ description ' Uber Cadence Java Client'
187
+ url ' https://github.com/uber-java/cadence-client'
188
+
189
+ scm {
190
+ connection
' scm:git:[email protected] :uber-java/cadence-client.git/'
191
+ developerConnection
' scm:git:[email protected] :uber-java/cadence-client.git/'
192
+ url ' https://github.com/uber-java/cadence-client'
193
+ }
194
+
195
+ licenses {
196
+ license {
197
+ name ' The Apache License, Version 2.0'
198
+ url ' http://www.apache.org/licenses/LICENSE-2.0.txt'
199
+ }
200
+ }
201
+
202
+ developers {
203
+ developer {
204
+ id ' maxim'
205
+ name ' Maxim Fateev'
206
+
207
+ }
208
+ developer {
209
+ id ' meiliang'
210
+ name ' Liang Mei'
211
+
212
+ }
213
+ }
214
+ }
215
+ }
216
+ }
217
+ }
0 commit comments