-
Notifications
You must be signed in to change notification settings - Fork 3
/
build.publish.gradle
55 lines (51 loc) · 2.09 KB
/
build.publish.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
// build.publish.gradle
apply plugin: 'signing'
apply plugin: 'maven'
boolean validProperty(propertyName) {
try { project.property(propertyName) != null }
catch (MissingPropertyException) { false }
}
assert validProperty('signing.keyId'), 'properties for signing must be provided'
assert validProperty('signing.secretKeyRingFile'), 'properties for signing must be provided'
assert validProperty('sonatypeUsername'), 'properties for publish must be provided'
assert validProperty('sonatypeFullname'), 'properties for publish must be provided'
String askPassword(prompt) {
"${System.console().readPassword(prompt)}"
}
ext.'signing.password' = askPassword("Enter password for PGP key ${property('signing.keyId')}: ")
ext.'sonatypePassword' = askPassword("Enter password for ${sonatypeUsername}@oss.sonatype.org: ")
signing {
sign configurations.archives
}
uploadArchives {
repositories.mavenDeployer {
repository(url: 'https://oss.sonatype.org/service/local/staging/deploy/maven2/') {
authentication(userName: sonatypeUsername, password: sonatypePassword)
}
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
pom.project {
name '小説家になろうAPIのJavaラッパーライブラリ'
packaging 'jar'
description project.description
url 'https://github.com/Nshiba/narou4j'
scm {
url 'https://github.com/Nshiba/narou4j.git'
connection 'scm:git:[email protected]:Nshiba/narou4j.git'
developerConnection 'scm:git:[email protected]:Nshiba/narou4j.git'
}
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'repo'
}
}
developers {
developer {
id sonatypeUsername
name sonatypeFullname
}
}
}
}
}