blob: 98fe629ed86c741aa267025e2276359cc80a795c (
plain) (
blame)
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
buildscript {
repositories {
mavenCentral()
gradlePluginPortal()
mavenLocal()
google()
maven { url = 'https://central.sonatype.com/repository/maven-snapshots/' }
}
dependencies {
}
}
plugins {
id 'com.diffplug.spotless' version '6.25.0' apply false
}
allprojects {
apply plugin: 'eclipse'
apply plugin: 'idea'
// This allows you to "Build and run using IntelliJ IDEA", an option in IDEA's Settings.
idea {
module {
outputDir = file('build/classes/java/main')
testOutputDir = file('build/classes/java/test')
}
}
}
configure(subprojects) {
apply plugin: 'java-library'
apply plugin: 'com.diffplug.spotless'
java {
toolchain {
languageVersion = JavaLanguageVersion.of(24)
}
}
java.sourceCompatibility = 24
// Spotless code formatting
spotless {
java {
eclipse()
target '**/src/**/*.java'
}
}
// Lombok configuration
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.42'
compileOnly 'jakarta.annotation:jakarta.annotation-api:2.1.1'
annotationProcessor 'org.projectlombok:lombok:1.18.42'
testCompileOnly 'org.projectlombok:lombok:1.18.42'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.42'
// JUnit 5 + Mockito testing
testImplementation platform('org.junit:junit-bom:5.14.2')
testImplementation 'org.junit.jupiter:junit-jupiter'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
testImplementation 'org.mockito:mockito-core:5.8.0'
testImplementation 'org.mockito:mockito-junit-jupiter:5.8.0'
}
test {
testLogging {
events 'passed', 'skipped', 'failed'
}
useJUnitPlatform()
jvmArgs '-Dnet.bytebuddy.experimental=true'
}
// From https://lyze.dev/2021/04/29/libGDX-Internal-Assets-List/
// The article can be helpful when using assets.txt in your project.
tasks.register('generateAssetList') {
inputs.dir("${project.rootDir}/assets/")
// projectFolder/assets
File assetsFolder = new File("${project.rootDir}/assets/")
// projectFolder/assets/assets.txt
File assetsFile = new File(assetsFolder, "assets.txt")
// delete that file in case we've already created it
assetsFile.delete()
// iterate through all files inside that folder
// convert it to a relative path
// and append it to the file assets.txt
fileTree(assetsFolder).collect { assetsFolder.relativePath(it) }.sort().each {
assetsFile.append(it + "\n")
}
}
processResources.dependsOn 'generateAssetList'
compileJava {
options.incremental = true
}
}
subprojects {
version = "$projectVersion"
ext.appName = 'The Abstraction Engine'
repositories {
mavenCentral()
// You may want to remove the following line if you have errors downloading dependencies.
mavenLocal()
maven { url = 'https://central.sonatype.com/repository/maven-snapshots/' }
maven { url = 'https://jitpack.io' }
}
}
eclipse.project.name = 'The Abstraction Engine' + '-parent'
|