2022-04-20 11:38:36 +02:00
|
|
|
/*
|
|
|
|
* This file is a part of the SteamWar software.
|
|
|
|
*
|
|
|
|
* Copyright (C) 2020 SteamWar.de-Serverteam
|
|
|
|
*
|
|
|
|
* This program is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU Affero General Public License as published by
|
|
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU Affero General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Affero General Public License
|
|
|
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
import org.apache.tools.ant.taskdefs.condition.Os
|
|
|
|
|
|
|
|
plugins {
|
|
|
|
id 'java'
|
|
|
|
}
|
|
|
|
|
|
|
|
group 'de.steamwar'
|
|
|
|
version ''
|
|
|
|
|
|
|
|
ext {
|
|
|
|
buildName = 'CommonCore'
|
|
|
|
artifactName = 'commoncore'
|
|
|
|
|
|
|
|
uberJarName = "${buildName}-all.jar"
|
|
|
|
jarName = "${artifactName}.jar"
|
|
|
|
libs = "${buildDir}/libs"
|
|
|
|
|
|
|
|
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
|
|
|
|
operatingSystem = "windows"
|
|
|
|
} else {
|
|
|
|
operatingSystem = "unix"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
compileJava.options.encoding = 'UTF-8'
|
|
|
|
|
|
|
|
sourceCompatibility = 1.8
|
|
|
|
targetCompatibility = 1.8
|
|
|
|
|
|
|
|
sourceSets {
|
|
|
|
main {
|
|
|
|
java {
|
|
|
|
srcDirs = ['src/']
|
|
|
|
}
|
|
|
|
resources {
|
|
|
|
srcDirs = ['src/']
|
|
|
|
exclude '**/*.java', '**/*.kt'
|
|
|
|
}
|
|
|
|
}
|
2022-04-22 10:16:25 +02:00
|
|
|
|
|
|
|
test {
|
|
|
|
java {
|
|
|
|
srcDirs = ['testsrc']
|
|
|
|
}
|
|
|
|
resources {
|
|
|
|
srcDirs = ['testsrc']
|
|
|
|
exclude '**/*.java', '**/*.kt'
|
|
|
|
}
|
|
|
|
}
|
2022-04-20 11:38:36 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
compileOnly 'org.projectlombok:lombok:1.18.22'
|
|
|
|
testCompileOnly 'org.projectlombok:lombok:1.18.22'
|
|
|
|
annotationProcessor 'org.projectlombok:lombok:1.18.22'
|
|
|
|
testAnnotationProcessor 'org.projectlombok:lombok:1.18.22'
|
2022-04-22 10:16:25 +02:00
|
|
|
|
|
|
|
testImplementation 'junit:junit:4.13.2'
|
|
|
|
testImplementation 'org.hamcrest:hamcrest:2.2'
|
2022-04-20 11:38:36 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
task buildProject {
|
|
|
|
description 'Build this project'
|
|
|
|
group "Steamwar"
|
|
|
|
|
2022-05-10 09:22:31 +02:00
|
|
|
dependsOn build
|
2022-04-20 11:38:36 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
task finalizeProject {
|
|
|
|
description 'Finalize this project'
|
|
|
|
group "Steamwar"
|
|
|
|
|
|
|
|
doLast {
|
|
|
|
if ("${buildDir}" == null) {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
delete fileTree("${libs}").matching {
|
|
|
|
exclude("${uberJarName}")
|
|
|
|
}
|
|
|
|
file(libs + "/" + uberJarName).renameTo(file(libs + "/" + jarName))
|
|
|
|
}
|
|
|
|
}
|
2022-05-10 09:22:31 +02:00
|
|
|
build.finalizedBy(finalizeProject)
|
2022-05-10 09:10:06 +02:00
|
|
|
|
|
|
|
task testOutput {
|
|
|
|
description 'Print Test output'
|
|
|
|
group "Build"
|
|
|
|
|
|
|
|
doLast {
|
|
|
|
for (def file : new File("${buildDir}/test-results/test/").listFiles()) {
|
|
|
|
if (file.isDirectory()) {
|
|
|
|
continue
|
|
|
|
}
|
|
|
|
def strings = file.readLines()
|
|
|
|
if (strings.get(1).contains("failures=\"0\"")) {
|
|
|
|
continue
|
|
|
|
}
|
|
|
|
println "Content ${file}:"
|
|
|
|
strings.each {
|
|
|
|
line -> println ": $line"
|
|
|
|
}
|
|
|
|
println ""
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
test.finalizedBy(testOutput)
|