forked from DeployGate/gradle-deploygate-plugin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.publish.gradle
54 lines (50 loc) · 1.94 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
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 'Gradle DeployGate Plugin'
packaging 'jar'
description project.description
url 'https://github.com/DeployGate/gradle-deploygate-plugin'
scm {
url '[email protected]:DeployGate/gradle-deploygate-plugin.git'
connection 'scm:git:[email protected]:DeployGate/gradle-deploygate-plugin.git'
developerConnection 'scm:git:[email protected]:DeployGate/gradle-deploygate-plugin.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
}
}
}
}
}