-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpublish.gradle
93 lines (78 loc) · 2.89 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
93
// Applied per published module
// The module must define ext.artifactName, version, and ext.publishedDescription
group = 'dev.drewhamilton.inlinedimens'
task sourcesJar(type: Jar) {
archiveClassifier.set 'sources'
from android.sourceSets.main.java.srcDirs
}
apply plugin: 'org.jetbrains.dokka'
dokkaJavadoc {
inputs.dir 'src/main/java'
}
task javadocJar(type: Jar, dependsOn: dokkaJavadoc) {
archiveClassifier.set 'javadoc'
from dokkaJavadoc.outputDirectory
}
artifacts {
archives javadocJar
archives sourcesJar
}
apply plugin: 'maven-publish'
afterEvaluate {
publishing {
publications {
release(MavenPublication) {
groupId group
artifactId artifactName
version version
from components.release
artifact sourcesJar
artifact javadocJar
pom {
name = artifactName
description = publishedDescription
url = 'https://github.com/drewhamilton/InlineDimens'
licenses {
license {
name = 'The Apache Software License, Version 2.0'
url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
developers {
developer {
id = 'drewhamilton'
name = 'Drew Hamilton'
email = '[email protected]'
}
}
scm {
connection = 'scm:git:github.com/drewhamilton/InlineDimens.git'
developerConnection = 'scm:git:ssh://github.com/drewhamilton/InlineDimens.git'
url = 'https://github.com/drewhamilton/InlineDimens/tree/main'
}
}
}
}
repositories {
maven {
name = "MavenCentral"
def releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
def snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots/"
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
def sonatypeIssuesUsername = findProperty('personalSonatypeIssuesUsername')
def sonatypeIssuesPassword = findProperty('personalSonatypeIssuesPassword')
credentials {
username sonatypeIssuesUsername
password sonatypeIssuesPassword
}
}
}
}
}
apply plugin: 'signing'
signing {
def key = findProperty("personalGpgKey")
def password = findProperty("personalGpgPassword")
useInMemoryPgpKeys(key, password)
sign publishing.publications
}