forked from Frege/frege-gradle-plugin
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.gradle
77 lines (67 loc) · 1.71 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
plugins
{
id 'java-gradle-plugin'
id 'maven-publish'
}
repositories
{
mavenCentral()
}
dependencies
{
def junit5Group = 'org.junit.jupiter'
def junit5Version = '5.8.2'
testImplementation group: junit5Group, name: 'junit-jupiter-api', version: junit5Version
testImplementation group: 'net.jqwik', name: 'jqwik', version: '1.6.5'
testRuntimeOnly group: junit5Group, name: 'junit-jupiter-engine', version: junit5Version
testImplementation(enforcedPlatform("org.junit:junit-bom:${junit5Version}"))
}
java
{
toolchain
{
languageVersion = JavaLanguageVersion.of(11)
}
}
sourceSets
{
functionalTest
{
compileClasspath += sourceSets.main.output + sourceSets.test.output
runtimeClasspath += sourceSets.test.runtimeClasspath
}
}
gradlePlugin
{
testSourceSets project.sourceSets.functionalTest
plugins
{
fregePlugin
{
id = 'ch.fhnw.thga.frege'
implementationClass = 'ch.fhnw.thga.fregegradleplugin.FregePlugin'
}
}
}
configurations
{
functionalTestImplementation.extendsFrom testImplementation
functionalRuntimeOnly.extendsFrom runtimeOnly
}
tasks.register('functionalTest', Test)
{
description = 'Runs functional tests.'
group = 'verification'
testClassesDirs = sourceSets.functionalTest.output.classesDirs
classpath = sourceSets.functionalTest.runtimeClasspath
shouldRunAfter test
}
check.dependsOn functionalTest
tasks.withType(Test).configureEach
{
useJUnitPlatform
{
includeEngines 'jqwik', 'junit-jupiter'
maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1
}
}