forked from revolut-engineering/jooq-plugin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle.kts
124 lines (107 loc) · 3.41 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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
import com.github.benmanes.gradle.versions.updates.gradle.GradleReleaseChannel.CURRENT
import org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL
import org.gradle.api.tasks.testing.logging.TestLogEvent.FAILED
import org.gradle.api.tasks.testing.logging.TestLogEvent.PASSED
import org.gradle.api.tasks.wrapper.Wrapper.DistributionType.ALL
plugins {
`kotlin-dsl`
groovy
jacoco
`maven-publish`
id("java-gradle-plugin")
id("com.gradle.plugin-publish") version "0.12.0"
id("pl.droidsonroids.jacoco.testkit") version "1.0.7"
id("com.github.ben-manes.versions").version("0.28.0")
}
repositories {
jcenter()
mavenCentral()
}
kotlinDslPluginOptions {
experimentalWarning.set(false)
}
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
group = "com.revolut.jooq"
version = "0.3.4"
gradlePlugin {
plugins.create("jooqDockerPlugin") {
id = "com.revolut.jooq-docker"
implementationClass = "com.revolut.jooq.JooqDockerPlugin"
version = project.version
}
}
pluginBundle {
website = "https://github.com/revolut-engineering/jooq-plugin"
vcsUrl = "https://github.com/revolut-engineering/jooq-plugin"
description = "Generates jOOQ classes using dockerized database"
(plugins) {
"jooqDockerPlugin" {
displayName = "jOOQ Docker Plugin"
tags = listOf("jooq", "docker", "db")
version = project.version.toString()
}
}
}
tasks {
withType<Test>().configureEach {
if (JavaVersion.current().isJava9Compatible) {
jvmArgs("--add-opens", "java.base/java.lang.invoke=ALL-UNNAMED")
jvmArgs("--illegal-access=deny")
}
testLogging {
events(PASSED, FAILED)
showExceptions = true
showStackTraces = true
showCauses = true
exceptionFormat = FULL
}
}
jacocoTestReport {
reports {
xml.isEnabled = true
html.isEnabled = false
}
setDependsOn(withType<Test>())
}
dependencyUpdates {
resolutionStrategy {
componentSelection {
all {
val rejected = listOf("alpha", "beta", "b", "rc", "cr", "m", "preview")
.map { qualifier -> Regex("(?i).*[.-]$qualifier[.\\d-]?.*") }
.any { it.matches(candidate.version) }
if (rejected) {
reject("Release candidate")
}
}
}
}
gradleReleaseChannel = CURRENT.id
}
wrapper {
gradleVersion = "6.5"
distributionType = ALL
}
}
afterEvaluate {
tasks.jacocoTestReport {
classDirectories.setFrom(classDirectories.files.map {
fileTree(it) {
exclude("com/revolut/shaded/org/testcontainers/**/*")
}
})
}
}
dependencies {
implementation("org.jooq:jooq-codegen:3.13.2")
implementation("org.glassfish.jaxb:jaxb-runtime:2.3.3")
implementation("com.github.docker-java:docker-java-transport-okhttp:3.2.1")
implementation("org.flywaydb:flyway-core:6.4.3")
implementation("org.zeroturnaround:zt-exec:1.11")
compileOnly("javax.annotation:javax.annotation-api:1.3.2")
testImplementation("org.spockframework:spock-core:1.3-groovy-2.5")
testCompileOnly(gradleTestKit())
}