forked from mozilla/glean
-
Notifications
You must be signed in to change notification settings - Fork 0
/
publish.gradle
92 lines (78 loc) · 3.13 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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
def libLicense = properties.libLicense
def libLicenseUrl = properties.libLicenseUrl
def libRepositoryName = properties.libRepositoryName
def libProjectName = properties.libProjectName
def libUrl = properties.libUrl
def libVcsUrl = properties.libVcsUrl
// The note to be added at the end of the description for 'forUnitTests'
// artifacts.
def forUnitTestDescriptionSuffix =
"This artifact is to be used for running unit tests on developer's systems."
ext.configurePublish = {
def theGroupId = rootProject.ext.library.groupId
def theArtifactId = project.ext.artifactId
def theDescription = project.ext.description
task sourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier = 'sources'
}
task javadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
publishing {
publications {
aar(MavenPublication) {
project.afterEvaluate {
from components.release
}
artifact sourcesJar
// Can't publish Javadoc yet: Glean isn't well behaved.
// artifact javadocJar
// If this goes haywire with
// 'Cannot configure the 'publishing' extension after it has been accessed.',
// see https://github.com/researchgate/gradle-release/issues/125 and
// https://stackoverflow.com/q/28020520.
pom {
groupId = theGroupId
artifactId = theArtifactId
description = theDescription
version = rootProject.ext.library.version
packaging = "aar"
licenses {
license {
name = libLicense
url = libLicenseUrl
}
}
def depLicenses = new XmlSlurper().parse(new File("${projectDir}/dependency-licenses.xml"))
depLicenses.license.each { node ->
license {
name = node.name.text()
url = node.url.text()
}
}
developers {
developer {
name = 'Mozilla Glean Team'
email = '[email protected]'
}
}
scm {
connection = libVcsUrl
developerConnection = libVcsUrl
url = libUrl
}
}
}
}
}
task checkMavenArtifacts
}