-
Notifications
You must be signed in to change notification settings - Fork 4.4k
/
build.gradle
80 lines (65 loc) · 1.72 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
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
}
plugins {
// https://github.com/diffplug/spotless
id("com.diffplug.spotless") version "6.25.0"
}
apply plugin: 'java'
apply plugin: 'application'
mainClassName = findProperty("main") ?: "com.williamfiset.algorithms.${findProperty("algorithm") ?: 'missingPackage.missingClass'}"
repositories {
mavenLocal()
mavenCentral()
}
// Describe all project deps. Use 'testCompile' for test dependencies and
// 'compile' for project dependencies.
dependencies {
// Apache commons lang
testImplementation 'org.apache.commons:commons-lang3:3.14.0'
// JUnit 5 / Jupiter
testImplementation('org.junit.jupiter:junit-jupiter:5.10.0')
testRuntimeOnly('org.junit.jupiter:junit-jupiter-engine:5.10.0')
// Google Guava lib
testImplementation group: 'com.google.guava', name: 'guava', version: '33.3.1-jre'
// Google Truth test framework
// https://mvnrepository.com/artifact/com.google.truth/truth
testImplementation group: 'com.google.truth', name: 'truth', version: '1.1.5'
// Test mocking framework
testImplementation "org.mockito:mockito-core:5.+"
}
spotless {
java {
googleJavaFormat()
}
}
test {
dependsOn cleanTest
testLogging.showStandardStreams = true
}
tasks.named('test', Test) {
useJUnitPlatform()
}
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
options.compilerArgs += [
'-Xlint:unchecked',
'-Xlint:deprecation'
]
}
// Options when compiling tests
compileTestJava {
options.encoding = 'UTF-8'
options.compilerArgs += [
'-Xlint:unchecked',
'-Xlint:deprecation'
]
}
task buildDependenciesFolder(type: Copy) {
from configurations.implementation
into './dependencies'
}