-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathbuild.gradle.kts
98 lines (88 loc) · 3.18 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
/*
* Copyright (C) 2019 Knot.x Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import net.ossindex.gradle.AuditExtensions
import org.nosphere.apache.rat.RatTask
group = "io.knotx"
plugins {
id("io.knotx.java-library")
id("io.knotx.codegen")
id("io.knotx.unit-test")
id("io.knotx.jacoco")
id("io.knotx.maven-publish")
id("io.knotx.release-java")
id("org.nosphere.apache.rat")
id("net.ossindex.audit") version "0.4.11"
}
repositories {
mavenLocal()
mavenCentral()
gradlePluginPortal()
}
dependencies {
annotationProcessor(platform("io.knotx:knotx-dependencies:${project.version}"))
implementation(platform("io.knotx:knotx-dependencies:${project.version}"))
implementation(group = "io.vertx", name = "vertx-core")
implementation(group = "io.vertx", name = "vertx-rx-java2")
implementation(group = "com.google.guava", name = "guava")
implementation(group = "org.apache.commons", name = "commons-lang3")
implementation(group = "org.junit.jupiter", name = "junit-jupiter-api")
implementation(group = "org.junit.jupiter", name = "junit-jupiter-params")
testImplementation("io.knotx:knotx-junit5:${project.version}")
testImplementation(group = "org.mockito", name = "mockito-core")
testImplementation(group = "org.mockito", name = "mockito-junit-jupiter")
}
tasks {
named<RatTask>("rat") {
excludes.addAll(listOf(
"**/*.md", // docs
"gradle/wrapper/**", "gradle*", "**/build/**", "**/bin/**", // Gradle
"*.iml", "*.ipr", "*.iws", "*.idea/**", // IDEs
"**/generated/*", "**/*.adoc", "**/resources/**", // assets
".github/*", "conf/*.json", "conf/*.conf"
))
}
getByName("rat").dependsOn("compileJava")
getByName("check").dependsOn("rat")
val audit = named("audit") {
group = "verification"
onlyIf { project.hasProperty("audit.enabled") }
}
getByName("check").dependsOn(audit)
getByName("test").mustRunAfter(audit)
getByName("sourcesJar").dependsOn("compileJava")
}
tasks {
named<RatTask>("rat") {
excludes.addAll(listOf(
"**/*.md", // docs
"gradle/wrapper/**", "gradle*", "**/build/**", "**/bin/**", // Gradle
"*.iml", "*.ipr", "*.iws", "*.idea/**", // IDEs
"**/generated/*", "**/*.adoc", "**/resources/**", // assets
".github/*"
))
}
getByName("check").dependsOn("rat")
getByName("rat").dependsOn("compileJava")
}
publishing {
publications {
withType(MavenPublication::class) {
from(components["java"])
artifact(tasks["sourcesJar"])
artifact(tasks["javadocJar"])
}
}
}