-
Notifications
You must be signed in to change notification settings - Fork 3
/
build.gradle
77 lines (67 loc) · 2.32 KB
/
build.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
plugins {
id "com.adarshr.test-logger" version "4.0.0"
id 'io.github.gradle-nexus.publish-plugin' version "${gradlePublishPlugin}"
id "application"
id "signing"
id "maven-publish"
}
ext {
isBuildSnapshot = version.toString().endsWith("-SNAPSHOT")
isReleaseVersion = !isBuildSnapshot
}
subprojects {
group "dk.glasius"
ext {
isBuildSnapshot = version.toString().endsWith("-SNAPSHOT")
isReleaseVersion = !isBuildSnapshot
}
repositories {
mavenLocal()
mavenCentral()
maven { url "https://repo.grails.org/grails/core" }
}
java {
withSourcesJar()
withJavadocJar()
sourceCompatibility = JavaVersion.toVersion("11")
}
tasks.withType(Test).configureEach {
useJUnitPlatform()
testLogging {
events "failed"
exceptionFormat "full"
}
testlogger {
theme 'mocha'
}
}
}
nexusPublishing {
repositories {
sonatype {
def ossUser = System.getenv("SONATYPE_USERNAME") ?: project.hasProperty("sonatypeOssUsername") ? project.sonatypeOssUsername : ''
def ossPass = System.getenv("SONATYPE_PASSWORD") ?: project.hasProperty("sonatypeOssPassword") ? project.sonatypeOssPassword : ''
def ossStagingProfileId = System.getenv("SONATYPE_STAGING_PROFILE_ID") ?: project.hasProperty("sonatypeOssStagingProfileId") ? project.sonatypeOssStagingProfileId : ''
nexusUrl = uri("https://oss.sonatype.org/service/local/")
snapshotRepositoryUrl = uri("https://oss.sonatype.org/content/repositories/snapshots/")
username = ossUser
password = ossPass
stagingProfileId = ossStagingProfileId
}
}
}
//do not generate extra load on Nexus with new staging repository if signing fails or if not a release version
import io.github.gradlenexus.publishplugin.InitializeNexusStagingRepository
tasks.withType(InitializeNexusStagingRepository).configureEach {
onlyIf { project.isReleaseVersion }
shouldRunAfter(tasks.withType(Sign))
}
tasks.register('snapshotVersion') {
doLast {
if (!isBuildSnapshot) {
ant.propertyfile(file: "gradle.properties") {
entry(key: "version", value: "${project.version}-SNAPSHOT")
}
}
}
}