-
Notifications
You must be signed in to change notification settings - Fork 52
/
Copy pathpublish.gradle
89 lines (79 loc) · 3.74 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
configure([
project(":gdx-video-core"),
project(":gdx-video-android"),
project(":gdx-video-desktop"),
project(":gdx-video-desktop:gdx-video-lwjgl"),
project(":gdx-video-desktop:gdx-video-lwjgl3"),
project(":gdx-video-gwt"),
project(":gdx-video-robovm")
])
{
apply plugin: 'maven-publish'
apply plugin: 'signing'
afterEvaluate { project ->
//Workaround android not having components populated yet.
afterEvaluate {
publishing {
publications {
mavenJava(MavenPublication) {
artifactId = archivesBaseName ?: project.name
//Most normal java projects
if (components.findByName("java") != null)
from components.java
//Android
if (components.findByName("release") != null) {
from components.release
}
pom {
name.set(POM_NAME)
description.set(POM_DESCRIPTION)
url.set(POM_URL)
scm {
url.set(POM_SCM_URL)
connection.set(POM_SCM_CONNECTION)
developerConnection.set(POM_SCM_DEV_CONNECTION)
}
licenses {
license {
name.set(POM_LICENCE_NAME)
url.set(POM_LICENCE_URL)
distribution.set(POM_LICENCE_DIST)
}
}
developers {
developer {
id.set('SimonIT')
name.set('Simon Bullik')
email.set('simonit.orig@gmail.com')
}
}
}
}
}
repositories {
maven {
url = version.endsWith('SNAPSHOT') ? getSnapshotRepositoryUrl() : getReleaseRepositoryUrl()
if (getRepositoryUsername() || getRepositoryPassword()) {
credentials {
username = getRepositoryUsername()
password = getRepositoryPassword()
}
}
}
}
}
signing {
useGpgCmd()
sign publishing.publications.mavenJava
}
//Simply using "required" in signing block doesn't work because taskGraph isn't ready yet.
gradle.taskGraph.whenReady {
tasks.withType(Sign).tap {
configureEach {
onlyIf { isReleaseBuild() }
}
}
}
}
}
}