-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpublish-maven.gradle
77 lines (68 loc) · 2.56 KB
/
publish-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
apply plugin: 'maven'
apply plugin: 'signing'
def customizePom(pom, gradleProject) {
pom.whenConfigured { generatedPom ->
// respect 'optional' and 'provided' dependencies
// gradleProject.optionalDeps.each { dep ->
// generatedPom.dependencies.findAll { it.artifactId == dep.name }*.optional = true
// }
// gradleProject.providedDeps.each { dep ->
// generatedPom.dependencies.findAll { it.artifactId == dep.name }*.scope = 'provided'
// }
// eliminate test-scoped dependencies (no need in maven central poms)
generatedPom.dependencies.removeAll { dep ->
dep.scope == 'test'
}
generatedPom.project {
name = gradleProject.description
description = gradleProject.description
url = 'https://github.com/tagbangers/spring-social-jira'
organization {
name = "Tagbangers, Inc."
url = "https://www.tagbangers.co.jp/"
}
licenses {
license {
name "The Apache Software License, Version 2.0"
url "http://www.apache.org/licenses/LICENSE-2.0.txt"
}
}
scm {
url = 'https://github.com/tagbangers/spring-social-jira'
connection = 'scm:git:git://github.com/tagbangers/spring-social-jira'
developerConnection = 'scm:git:git://github.com/tagbangers/spring-social-jira'
}
developers {
developer {
name = "OGAWA, Takeshi"
email = "[email protected]"
timezone = "-9"
}
}
}
}
}
install {
repositories.mavenInstaller {
customizePom(pom, project)
}
}
// Deploy to Maven Central Repository
if (gradle.startParameter.taskNames.contains('uploadArchives')) {
// Signing Artifacts
signing {
sign configurations.archives
}
uploadArchives {
repositories.mavenDeployer {
customizePom(pom, project)
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
authentication(userName: ossrhUsername, password: ossrhPassword)
}
snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") {
authentication(userName: ossrhUsername, password: ossrhPassword)
}
}
}
}