-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathpublish-module.gradle
92 lines (82 loc) · 2.93 KB
/
publish-module.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
// for details see https://proandroiddev.com/publishing-android-libraries-to-mavencentral-in-2021-8ac9975c3e52
// inspired by https://github.com/GetStream/stream-chat-android/blob/develop/scripts/publish-module.gradle
apply plugin: 'maven-publish'
// variables inherited from root-build.gradle
ext {
PUBLISH_GROUP_ID = rootProject.ext.PUBLISH_GROUP_ID
PUBLISH_VERSION = rootProject.ext.PUBLISH_VERSION
SOURCES = rootProject.ext.SOURCES
LICENSE_TYP = rootProject.ext.LICENSE_TYP
}
task javadocs(type: Javadoc) {
if (project.plugins.findPlugin("com.android.library")) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
android.libraryVariants.all { variant ->
if (variant.name == 'release') {
owner.classpath += variant.javaCompileProvider.get().classpath
}
}
} else {
source = sourceSets.main.java.srcDirs
}
exclude '**/R.html', '**/R.*.html', '**/index.html'
}
task javadocsJar(type: Jar, dependsOn: javadocs) {
archiveClassifier.set('javadoc')
from javadocs.destinationDir
}
task sourcesJar(type: Jar) {
archiveClassifier.set('sources')
if (project.plugins.findPlugin("com.android.library")) {
from android.sourceSets.main.java.srcDirs
} else {
from sourceSets.main.java.srcDirs
}
}
artifacts {
archives sourcesJar
archives javadocsJar
}
group = PUBLISH_GROUP_ID
version = PUBLISH_VERSION
afterEvaluate {
publishing {
publications {
release(MavenPublication) {
groupId PUBLISH_GROUP_ID
artifactId PUBLISH_ARTIFACT_ID
version PUBLISH_VERSION
if (project.plugins.findPlugin("com.android.library")) {
from components.release
} else {
from components.java
}
artifact sourcesJar
pom {
name = PUBLISH_ARTIFACT_ID
description = PUBLISH_MODUL_DESCRIPTION
url = "https://" + SOURCES
licenses {
license {
name = LICENSE_TYP
url = 'https://' + SOURCES + '/blob/master/LICENSE'
}
}
developers {
developer {
id = 'k3b'
name = 'k3b'
email = '1374583+k3b@users.noreply.github.com'
}
}
scm {
connection = 'scm:git:' + SOURCES + '.git'
developerConnection = 'scm:git:ssh://' + SOURCES + '.git'
url = 'https://' + SOURCES + '/tree/main'
}
}
}
}
}
}