This repository has been archived by the owner on Jan 3, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
publish.gradle
108 lines (87 loc) · 3.54 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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
def testUtilProjects = [project(":modules:testutil"), project(":modules:application-test-util")]
task testUtilsSourceJar(type: Jar) {
from testUtilProjects.sourceSets.main.allJava
}
task testUtilJar(type: Jar) {
dependsOn testUtilProjects.build, jar
baseName "$project.name-testutil"
testUtilProjects.each { subproject ->
from subproject.configurations.archives.allArtifacts.files.collect {
zipTree(it)
}
}
}
def projects = [project(":modules:i18n"), project(":modules:images"), project(":modules:launch"), project(":modules:validation"), project(":modules:eventsystem"),
project(":modules:reflection"), project(":modules:executor"), project(":modules:util"), project(":modules:application"),
project(":extension:menu"), project(":extension:table")]
task sourceJar(type: Jar) {
from projects.sourceSets.main.allJava
}
task fullJar(type: Jar) {
dependsOn projects.build, jar
baseName "$project.name"
projects.each { subproject ->
from subproject.configurations.archives.allArtifacts.files.collect {
zipTree(it)
}
}
}
task fullJavaDoc(type: Javadoc) {
title = "$project.name $version"
source = projects.sourceSets.main.allJava
options.docletpath = configurations.asciidoclet.files.asType(List)
options.doclet = 'org.asciidoctor.Asciidoclet'
options.overview = "src/main/java/overview.adoc"
}
task javadocJar(type: Jar, dependsOn: fullJavaDoc) {
classifier = 'javadoc'
from fullJavaDoc.destinationDir
}
publishing {
publications {
testutil(MavenPublication) {
artifactId "$project.name-testutil"
version "$version"
artifact testUtilsSourceJar {
classifier "sources"
}
artifact testUtilJar {
}
}
standbein(MavenPublication) {
artifactId "$project.name"
version "$version"
artifact sourceJar {
classifier "sources"
}
artifact fullJar {
}
pom.withXml {
def dependenciesNode = asNode().appendNode('dependencies')
def added = new HashSet()
projects.each { project ->
project.configurations.compile.allDependencies.each {
if (!it.group.equals("de.ks") && !added.contains(it)) {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
dependencyNode.appendNode('scope', "compile")
added.add(it)
}
}
project.configurations.runtime.allDependencies.each {
if (!it.group.equals("de.ks") && !added.contains(it)) {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
dependencyNode.appendNode('scope', "runtime")
added.add(it)
}
}
}
}
}
}
}