CommonCore/build.gradle

128 Zeilen
3.1 KiB
Groovy

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'
2023-11-12 22:44:30 +01:00
sourceCompatibility = 17
targetCompatibility = 17
2022-04-20 11:38:36 +02:00
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.32'
testCompileOnly 'org.projectlombok:lombok:1.18.32'
annotationProcessor 'org.projectlombok:lombok:1.18.32'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.32'
2022-04-22 10:16:25 +02:00
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.hamcrest:hamcrest:2.2'
compileOnly 'org.xerial:sqlite-jdbc:3.46.0.0'
2022-04-20 11:38:36 +02:00
}
2022-09-22 11:52:09 +02:00
task buildResources {
doLast {
File to = new File("${buildDir}/classes/java/main/META-INF/services/javax.annotation.processing.Processor")
to.parentFile.mkdirs()
2022-09-23 09:20:39 +02:00
if (!to.exists()) {
to.createNewFile()
to.append("de.steamwar.linkage.LinkageProcessor\n")
}
2022-09-22 11:52:09 +02:00
}
}
classes.finalizedBy(buildResources)
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
}
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)