-
Notifications
You must be signed in to change notification settings - Fork 15
/
publish.gradle
91 lines (86 loc) · 3.07 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
// 在这里应用插件,否则相关publishing配置无法生效
String pubRepo = rootProject.hasProperty("pub") ? rootProject.property("pub") : "nexus"
apply plugin: "maven-publish"
publishing {
repositories {
if (pubRepo == "oss") {
maven {
name "oss"
def ossBaseUrl = "https://oss.sonatype.org/content/repositories"
url = project.hasProperty("release") ? "https://oss.sonatype.org/service/local/staging/deploy/maven2" : "$ossBaseUrl/snapshots"
credentials {
username property("maven2.username")
password property("maven2.password")
}
}
} else {
maven {
name "nexus"
def releaseRepoUrl = property("nexus.repo.release")
def snapshotRepoUrl = property("nexus.repo.snapshot")
url = project.hasProperty("release") ? releaseRepoUrl : snapshotRepoUrl
credentials {
username = property("nexus.username")
password = property("nexus.password")
}
}
}
}
publications {
mavenJava(MavenPublication) {
from components.java
if (project.hasProperty("release")) {
version = project.getVersion()
} else {
version = project.getVersion() + "-SNAPSHOT"
}
artifact sourcesJar
artifact javadocJar
pom {
name = project.name
description = project.description
url = 'https://github.com/YuanWenqing/shopify4j'
licenses {
license {
name = 'The Apache License, Version 2.0'
url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
developers {
developer {
id = 'yuanwq'
name = 'YuanWenqing'
email = 'ywq8876@163.com'
}
}
scm {
connection = 'scm:git:git://github.com:YuanWenqing/shopify4j.git'
developerConnection = 'scm:git:ssh://github.com:YuanWenqing/shopify4j.git'
url = 'https://github.com/YuanWenqing/shopify4j'
}
}
}
}
}
publish {
doLast {
def pub = publishing.publications.mavenJava
println "artifact: ${pub.groupId}:${pub.artifactId}:${pub.version}"
for (repo in publishing.repositories) {
println "upload to ${repo.url}"
}
}
}
publishToMavenLocal {
doLast {
def pub = publishing.publications.mavenJava
println "artifact: ${pub.groupId}:${pub.artifactId}:${pub.version}"
}
}
task('local').dependsOn(publishToMavenLocal)
if (pubRepo == "oss") {
apply plugin: "signing" // generate a signature file for each artifact
signing {
sign publishing.publications.mavenJava
}
}