1+ apply plugin : ' maven'
2+ apply plugin : ' signing'
3+
4+ def isReleaseBuild () {
5+ return VERSION_NAME . contains(" SNAPSHOT" ) == false
6+ }
7+
8+ def getReleaseRepositoryUrl () {
9+ return hasProperty(' RELEASE_REPOSITORY_URL' ) ? RELEASE_REPOSITORY_URL
10+ : " https://oss.sonatype.org/service/local/staging/deploy/maven2/"
11+ }
12+
13+ def getSnapshotRepositoryUrl () {
14+ return hasProperty(' SNAPSHOT_REPOSITORY_URL' ) ? SNAPSHOT_REPOSITORY_URL
15+ : " https://oss.sonatype.org/content/repositories/snapshots/"
16+ }
17+
18+ def getRepositoryUsername () {
19+ return hasProperty(' NEXUS_USERNAME' ) ? NEXUS_USERNAME : " "
20+ }
21+
22+ def getRepositoryPassword () {
23+ return hasProperty(' NEXUS_PASSWORD' ) ? NEXUS_PASSWORD : " "
24+ }
25+
26+ afterEvaluate { project ->
27+ uploadArchives {
28+ repositories {
29+ mavenDeployer {
30+ beforeDeployment { MavenDeployment deployment -> signing. signPom(deployment) }
31+
32+ pom. groupId = GROUP
33+ pom. artifactId = POM_ARTIFACT_ID
34+ pom. version = VERSION_NAME
35+
36+ repository(url : getReleaseRepositoryUrl()) {
37+ authentication(userName : getRepositoryUsername(), password : getRepositoryPassword())
38+ }
39+ snapshotRepository(url : getSnapshotRepositoryUrl()) {
40+ authentication(userName : getRepositoryUsername(), password : getRepositoryPassword())
41+ }
42+
43+ pom. project {
44+ name POM_NAME
45+ packaging POM_PACKAGING
46+ description POM_DESCRIPTION
47+ url POM_URL
48+
49+ scm {
50+ url POM_SCM_URL
51+ connection POM_SCM_CONNECTION
52+ developerConnection POM_SCM_DEV_CONNECTION
53+ }
54+
55+ licenses {
56+ license {
57+ name POM_LICENCE_NAME
58+ url POM_LICENCE_URL
59+ distribution POM_LICENCE_DIST
60+ }
61+ }
62+
63+ developers {
64+ developer {
65+ id POM_DEVELOPER_ID
66+ name POM_DEVELOPER_NAME
67+ }
68+ }
69+ }
70+ }
71+ }
72+ }
73+
74+ signing {
75+ required { isReleaseBuild() && gradle. taskGraph. hasTask(" uploadArchives" ) }
76+ sign configurations. archives
77+ }
78+
79+ task javadocs(type : Javadoc ) {
80+ source = android. sourceSets. main. java. srcDirs
81+ classpath + = project. files(android. getBootClasspath(). join(File . pathSeparator))
82+ failOnError false
83+ }
84+
85+ task javadocsJar(type : Jar , dependsOn : javadocs) {
86+ classifier = ' javadoc'
87+ from javadocs. destinationDir
88+ }
89+
90+ task sourcesJar(type : Jar ) {
91+ classifier = ' sources'
92+ from android. sourceSets. main. java. srcDirs
93+ }
94+
95+ artifacts {
96+ archives javadocsJar
97+ archives sourcesJar
98+ }
99+ }
0 commit comments