-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
112 lines (96 loc) · 3.52 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
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
group = 'com.thescheideggers'
def baseVersion = '0.0.1'
version = project.hasProperty('release') ? baseVersion : "$baseVersion-SNAPSHOT"
description = "A Gradle plugin to teach others how to make a Gradle plugin"
buildscript {
repositories {
gradlePluginPortal()
jcenter()
mavenCentral()
}
dependencies {
classpath 'gradle.plugin.org.ysb33r.gradle:gradletest:1.1'
classpath 'org.owasp:dependency-check-gradle:3.3.2'
}
}
apply plugin: 'groovy'
apply plugin: 'org.ysb33r.gradletest'
apply plugin: 'org.owasp.dependencycheck'
repositories {
jcenter()
mavenCentral()
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile gradleApi()
compile localGroovy()
testCompile 'org.codehaus.groovy:groovy-all:2.4.15'
testCompile 'junit:junit:4.12'
gradleTest 'com.google.guava:guava:18.0'
gradleTest 'commons-validator:commons-validator:1.4.0'
gradleTest 'org.jsoup:jsoup:1.8.2'
}
task unversionedJar(type: Jar, dependsOn: 'jar') {
version = null
from sourceSets.main.output
}
task installPlugin(type: Copy, dependsOn: 'unversionedJar') {
def gradleInstallDir = gradle.gradleHomeDir
group = 'installation'
description = 'Installs the plugin jar in your gradle distribution.'
from "${buildDir}/libs/${unversionedJar.archiveName}"
into "/${gradleInstallDir}/lib/plugins"
doLast {
println "Installed in: ${gradleInstallDir}/lib/plugins as: ${unversionedJar.archiveName}"
}
}
task uninstallPlugin(type: Delete) {
def gradleInstallDir = gradle.gradleHomeDir
group = 'installation'
description = 'Removes the plugin from your gradle distribution.'
delete("/${gradleInstallDir}/lib/plugins/${unversionedJar.archiveName}")
}
tasks.withType(Groovydoc).all { enabled = false }
gradleTest {
dependsOn jar
copy {
from(jar)
into("${project.buildDir}/gradleTest/repo/")
}
// NOTE: Support for testing Gradle < v3.0 will be removed from GradleTest v2.x.
versions '2.0', '2.1', '2.2', '2.3', '2.4', '2.5', '2.6', '2.7', '2.8', '2.9', '2.10', '2.11', '2.12', '2.13', '2.14.1'
versions '3.0', '3.1', '3.2.1', '3.3', '3.4.1', '3.5.1'
versions '4.0', '4.1', '4.2', '4.3.1', '4.4', '4.5', '4.5.1', '4.6', '4.7', '4.8', '4.8.1', '4.9', '4.10', '4.10.1', '4.10.2'
beforeTest {
println " ${it.name}"
}
}
task showConfigurations(group: 'help', description: "Displays all configurations in root project '${project.name}'.") {
doLast {
configurations.each { println it.name }
}
}
dependencyCheck {
// NOTE: This list is a subset of what is obtained from the `showConfigurations` task above.
scanConfigurations = [
'compile',
'implementation',
'compileOnly',
'compileClasspath',
'runtime',
'runtimeOnly',
'runtimeClasspath',
'default',
]
analyzers {
assemblyEnabled = false
}
//failBuildOnCVSS = 7.8 // Will cause this particular build to fail without the suppression file.
//failBuildOnCVSS = 0.0 // Will cause a build to fail on any finding that is not suppressed.
//suppressionFile = file("${project.projectDir}/src/test/resources/OWASP-Suppression.xml")
}
// NOTE: See the link below for a better understanding on the relationship of the tasks provided by the Java plugin.
// > https://docs.gradle.org/current/userguide/java_plugin.html#sec:java_tasks
check.dependsOn tasks.gradleTest
check.dependsOn tasks.dependencyCheckAnalyze