-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle.kts
101 lines (88 loc) · 2.5 KB
/
build.gradle.kts
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
import java.time.LocalDateTime.now
import java.time.format.DateTimeFormatter.ofPattern
buildscript {
repositories {
mavenLocal()
mavenCentral()
gradlePluginPortal()
}
}
plugins {
groovy
id("org.jetbrains.kotlin.jvm") version "1.3.61"
`maven-publish`
`java-gradle-plugin`
id("com.gradle.plugin-publish") version "0.10.1"
id("com.github.ben-manes.versions") version "0.27.0"
}
group = "de.europace.gradle"
version = now().format(ofPattern("yyyy-MM-dd\'T\'HH-mm-ss"))
logger.lifecycle("version: $version")
val dependencyVersions = listOf<String>(
)
val dependencyVersionsByGroup = mapOf(
"org.codehaus.groovy" to "2.5.9"
)
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
implementation(gradleApi())
testImplementation(localGroovy())
testImplementation("org.spockframework:spock-core:1.3-groovy-2.5")
}
allprojects {
configurations.all {
resolutionStrategy {
failOnVersionConflict()
force(dependencyVersions)
eachDependency {
val forcedVersion = dependencyVersionsByGroup[requested.group]
if (forcedVersion != null) {
useVersion(forcedVersion)
}
}
cacheDynamicVersionsFor(0, "seconds")
}
}
}
pluginBundle {
website = "https://github.com/europace/artifact-version-gradle-plugin"
vcsUrl = "https://github.com/europace/artifact-version-gradle-plugin"
tags = listOf("artifact", "version", "publishing")
}
gradlePlugin {
plugins {
create("artifactVersionPlugin") {
id = "de.europace.gradle.artifact-version"
displayName = "Plugin for consistent artifact version patterns"
description = "Sets the project version to the current timestamp and writes the version to a text file when publishing artifacts"
implementationClass = "de.europace.gradle.artifactversion.ArtifactVersionPlugin"
}
}
}
publishing {
repositories {
if (project.hasProperty("maven.publish.url") && project.hasProperty("maven.publish.username") && project.hasProperty("maven.publish.password")) {
maven {
name = "Maven"
setUrl(project.property("maven.publish.url") as String)
credentials.apply {
username = project.property("maven.publish.username") as String
password = project.property("maven.publish.password") as String
}
}
}
}
}
tasks {
wrapper {
gradleVersion = "5.6.3"
distributionType = Wrapper.DistributionType.ALL
}
}