-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbuild.gradle
More file actions
87 lines (74 loc) · 3.5 KB
/
build.gradle
File metadata and controls
87 lines (74 loc) · 3.5 KB
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
/*
* Copyright 2014-present the original author or authors.
*
* 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.
*/
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath('org.junit.platform:junit-platform-gradle-plugin:1.0.2')
}
}
// *********************************************************************************************************************
// Enable plugins
// *********************************************************************************************************************
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.junit.platform.gradle.plugin'
// *********************************************************************************************************************
// Project Properties
// *********************************************************************************************************************
// Standard project properties. These are used as default values by some assembly and release task, e.g. jar
//project.name - Property defined in settings.gradle, overridding the default used by Gradle which is based on proj dir
project.group = 'com.neiljbrown.examples'
project.description = 'Java 9 code examples'
project.version = '1.0'
// Set Java source & class versions to use when compiling. Needs to be defined after applying java plugin to take affect
project.sourceCompatibility = 9
project.targetCompatibility = 9
// Extra user-defined project properties
ext {
junitJupiterVersion = '5.0.2'
// Cribbed from https://github.com/mindscratch/reactor-offline/blob/master/build.gradle
javadocLinks = [
"http://docs.oracle.com/javase/9/docs/api/",
"http://junit.org/junit5/docs/current/api/"
] as String[]
}
// *********************************************************************************************************************
// Task configuration
// *********************************************************************************************************************
repositories {
mavenCentral()
}
dependencies {
// Test dependencies
testCompile("org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}")
// Workaround for JUnit 5 bug. Suppress warnings output on compiling test classes reporting that classes (enums) that
// JUnit 5 depends upon can't be found. See https://github.com/junit-team/junit5/issues/1065
testCompile('org.apiguardian:apiguardian-api:1.0.0')
testCompile('ch.qos.logback:logback-classic:1.2.3')
testCompile('org.assertj:assertj-core:3.8.0')
testRuntime("org.junit.jupiter:junit-jupiter-engine:${junitJupiterVersion}")
}
// *********************************************************************************************************************
// Tasks
// *********************************************************************************************************************
// Custom task for running javadoc on Java classes in src/test/java
task javadocTests(type: Javadoc) {
source = sourceSets.test.allJava
classpath = configurations.testCompile
options.links(project.ext.javadocLinks)
}