-
Notifications
You must be signed in to change notification settings - Fork 3.7k
/
Copy pathmaven.gradle
94 lines (86 loc) · 3.26 KB
/
maven.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
93
94
import org.gradle.internal.jvm.Jvm
apply plugin: 'signing'
apply plugin: 'org.jetbrains.dokka'
apply plugin: 'maven-publish'
def isSnapshot = version.endsWith('-SNAPSHOT')
def ossrhUsername = hasProperty('ossrhTokenUsername') ? ossrhTokenUsername : ""
def ossrhPassword = hasProperty('ossrhToken') ? ossrhToken : ""
tasks.register('androidJavadocs', Javadoc) {
source = android.sourceSets.main.java.srcDirs
excludes = ['**/*.kt'] // Exclude all kotlin files from javadoc file.
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
// JDK 1.8 is more strict then 1.7. Have JDK 1.8 behave like 1.7 for javadoc generation
if (Jvm.current().getJavaVersion() == JavaVersion.VERSION_1_8) {
options.addStringOption('Xdoclint:none', '-quiet')
}
}
tasks.register('androidJavadocsJar', Jar) {
dependsOn androidJavadocs
classifier 'javadoc'
from androidJavadocs.destinationDir
}
tasks.register('androidSourcesJar', Jar) {
classifier 'sources'
from android.sourceSets.main.java.srcDirs
}
tasks.register('javadocJar', Jar) {
dependsOn dokkaJavadoc
classifier 'javadoc'
from dokkaJavadoc.outputDirectory
}
artifacts {
archives androidSourcesJar
archives javadocJar
}
afterEvaluate {
publishing {
publications {
release(MavenPublication) {
artifactId = project.ext.artifactId
version = project.version
from components.findByName('release')
pom {
name = project.ext.name
artifactId = project.ext.artifactId
packaging = 'aar'
description = project.ext.description
url = project.ext.url
version = project.version
scm {
connection = 'scm:git@github.com:facebook/facebook-android-sdk.git'
developerConnection = 'scm:git@github.com:facebook/facebook-android-sdk.git'
url = 'https://github.com/facebook/facebook-android-sdk'
}
licenses {
license {
name = 'Facebook Platform License'
url = 'https://github.com/facebook/facebook-android-sdk/blob/main/LICENSE.txt'
distribution = 'repo'
}
}
developers {
developer {
name = 'Facebook'
}
}
}
artifact javadocJar
artifact androidSourcesJar
}
}
repositories {
maven {
url = isSnapshot ? "https://oss.sonatype.org/content/repositories/snapshots/" : "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
credentials {
username = ossrhUsername
password = ossrhPassword
}
}
}
}
signing {
required { !isSnapshot }
sign publishing.publications.release
}
androidJavadocs.classpath += project.android.libraryVariants.toList().first().javaCompileProvider.get().classpath
}