1
1
plugins {
2
2
`java- library`
3
3
kotlin(" jvm" ) version " 1.3.41"
4
+ id(" org.jetbrains.dokka" ) version " 0.9.18"
4
5
5
6
signing
6
7
`maven- publish`
7
8
id(" de.marcphilipp.nexus-publish" ) version " 0.2.0"
8
9
}
9
10
10
11
group = " dev.turingcomplete"
11
- version = " 1.1 .0"
12
+ version = " 2.0 .0"
12
13
13
14
tasks.withType<Wrapper > {
14
15
gradleVersion = " 5.5.1"
15
16
}
16
17
17
18
repositories {
19
+ mavenLocal()
18
20
mavenCentral()
21
+ jcenter()
22
+ }
23
+
24
+ tasks {
25
+ val sourcesJar by creating(Jar ::class ) {
26
+ group = " build"
27
+ archiveClassifier.set(" sources" )
28
+ from(sourceSets[" main" ].allSource)
29
+ }
30
+
31
+ val testsJar by creating(Jar ::class ) {
32
+ dependsOn(JavaPlugin .TEST_CLASSES_TASK_NAME )
33
+ group = " build"
34
+ archiveClassifier.set(" tests" )
35
+ from(sourceSets[" test" ].output)
36
+ }
37
+
38
+ val dokkaJar by creating(Jar ::class ) {
39
+ dependsOn(" dokka" )
40
+ group = " build"
41
+ archiveClassifier.set(" javadoc" )
42
+ from(getByPath(" dokka" ).outputs)
43
+ }
44
+
45
+ artifacts {
46
+ add(" archives" , sourcesJar)
47
+ add(" archives" , testsJar)
48
+ add(" archives" , dokkaJar)
49
+ }
19
50
}
20
51
21
52
configure<JavaPluginExtension > {
@@ -41,23 +72,32 @@ publishing {
41
72
publications {
42
73
create<MavenPublication >(project.name) {
43
74
from(components[" java" ])
75
+ setArtifacts(configurations.archives.get().allArtifacts)
44
76
}
45
77
}
46
78
}
47
79
48
- /*
49
- signing.keyId=
50
- signing.password=
51
- signing.secretKeyRingFile=
80
+ /* *
81
+ * See https://docs.gradle.org/current/userguide/signing_plugin.html#sec:signatory_credentials
52
82
*/
53
83
signing {
54
84
sign(publishing.publications[project.name])
55
85
}
56
86
57
- /*
58
- nexusUsername=
59
- nexusPassword=
87
+ gradle.taskGraph.whenReady {
88
+ if (allTasks.any { it is Sign }) {
89
+ extra[" signing.keyId" ] = " "
90
+ extra[" signing.password" ] = " "
91
+ extra[" signing.secretKeyRingFile" ] = " "
92
+ }
93
+ }
94
+
95
+ /* *
96
+ * see https://github.com/marcphilipp/nexus-publish-plugin/blob/master/README.md
60
97
*/
98
+ ext[" serverUrl" ] = " https://oss.sonatype.org/service/local/staging/deploy/maven2"
99
+ ext[" nexusUsername" ] = " "
100
+ ext[" nexusPassword" ] = " "
61
101
62
102
configure<PublishingExtension > {
63
103
publications {
0 commit comments