-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathpublish.gradle
70 lines (64 loc) · 2.37 KB
/
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
apply plugin: "maven-publish"
apply plugin: "signing"
static def decodeBase64Key(encodedString) {
if (encodedString != null) {
byte[] decoded = encodedString.decodeBase64()
String decode = new String(decoded)
return decode
} else {
return null
}
}
project.afterEvaluate {
publishing {
publications {
release(MavenPublication) {
groupId airwallexGroupId
artifactId airwallexArtifactId
version rootProject.airwallexSdkVersion
artifact bundleReleaseAar
pom {
name = airwallexName
description = airwallexDescription
url = airwallexUrl
licenses {
license {
}
}
organization {
name = airwallexOrganizationName
url = airwallexOrganizationUrl
}
developers {
developer {
organization = airwallexOrganizationName
organizationUrl = airwallexOrganizationUrl
}
}
scm {
connection = airwallexScmConnection
developerConnection = airwallexScmConnection
url = airwallexScmUrl
}
}
pom.withXml {
def dependenciesNode = asNode().appendNode('dependencies')
// Iterate over the compile dependencies (we don't want the test ones), adding a <dependency> node for each
configurations.implementation.allDependencies.each {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
}
}
}
}
}
signing {
useInMemoryPgpKeys(
decodeBase64Key(System.getenv('SIGNING_KEY_BASE64')),
System.getenv('SIGNING_PASSWORD')
)
sign publishing.publications
}
}