-
Notifications
You must be signed in to change notification settings - Fork 0
/
publish.gradle
50 lines (46 loc) · 1.77 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
if (project.ext.has("xandroidPublishEnabled") && project.ext.xandroidPublishEnabled) {
// apply plugin: 'bintray-release'
apply plugin: 'com.github.panpf.bintray-publish'
publish {
artifactId = releaseArtifact
desc = releaseDescription
publishVersion = versionName
repoName = "xAndroid"
userOrg = "coopsrc"
groupId = "com.coopsrc.xandroid"
website = "https://github.com/coopsrc"
bintrayUser = System.getenv("BINTRAY_USER")
bintrayKey = System.getenv("BINTRAY_KEY")
dryRun = false
}
gradle.taskGraph.whenReady { taskGraph ->
project.tasks.findAll {
task -> task.name.contains("generatePomFileFor")
}.forEach { task ->
task.doLast {
task.outputs.files.filter {
File file ->
file.path.contains("publications") && file.name.matches("^pom-.+\\.xml\$")
}.forEach {
File file -> addLicense(file)
}
}
}
}
}
static void addLicense(File pom) {
def licenseNode = new Node(null, "license")
licenseNode.append(new Node(null, "name", "The Apache Software License, Version 2.0"))
licenseNode.append(new Node(null, "url", "http://www.apache.org/licenses/LICENSE-2.0.txt"))
licenseNode.append(new Node(null, "distribution", "repo"))
def licensesNode = new Node(null, "licenses")
licensesNode.append(licenseNode)
def xml = new XmlParser().parse(pom)
xml.append(licensesNode)
def writer = new PrintWriter(new FileWriter(pom))
writer.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
def printer = new XmlNodePrinter(writer)
printer.preserveWhitespace = true
printer.print(xml)
writer.close()
}