baritone/common/build.gradle

136 lines
3.7 KiB
Groovy

import baritone.gradle.task.CreateDistTask
import baritone.gradle.task.ProguardTask
architectury {
injectInjectables = false
common(System.getProperty("Baritone.enabled_platforms").split(","))
}
//loom {
// mixin {
// legacyRemapToNamespace = "official"
// }
//}
// ignore this jank, it's so I don't have to move the src folder, as that creates unnecessary git conflicts
sourceSets {
realmain {
java {
java {
srcDir "$rootDir/src/main/java"
}
resources {
srcDir "$rootDir/src/main/resources"
}
}
}
api {
compileClasspath += main.compileClasspath
runtimeClasspath += main.runtimeClasspath
java {
java {
srcDir "$rootDir/src/api/java"
}
resources {
srcDir "$rootDir/src/api/resources"
}
}
}
realmain {
compileClasspath += main.compileClasspath + api.output
runtimeClasspath += main.runtimeClasspath + api.output
}
test {
compileClasspath += realmain.compileClasspath + realmain.output
runtimeClasspath += realmain.runtimeClasspath + realmain.output
java {
java {
srcDir "$rootDir/src/test/java"
}
resources {
srcDir "$rootDir/src/test/resources"
}
}
}
main {
compileClasspath += realmain.output + api.output
runtimeClasspath += realmain.output + api.output
java {
java {
srcDir "$rootDir/src/launch/java"
}
resources {
srcDir "$rootDir/src/launch/resources"
}
}
}
schematica_api {
compileClasspath += realmain.compileClasspath
runtimeClasspath += realmain.runtimeClasspath
java {
java {
srcDir "$rootDir/src/schematica_api/java"
}
resources {
srcDir "$rootDir/src/schematica_api/resources"
}
}
}
realmain {
compileClasspath += schematica_api.output
runtimeClasspath += schematica_api.output
}
}
configurations {
transformProductionTweaker {
canBeConsumed = true
canBeResolved = false
// If you want this configuration to share the same dependencies, otherwise omit this line
extendsFrom implementation, runtimeOnly
}
}
dependencies {
// We depend on fabric loader here to use the fabric @Environment annotations and get the mixin dependencies
// Do NOT use other classes from fabric loader
modCompileOnly "net.fabricmc:fabric-loader:${project.fabric_version}"
compileOnly 'com.google.code.findbugs:jsr305:3.0.2'
testImplementation 'junit:junit:4.12'
}
javadoc {
options.addStringOption('Xwerror', '-quiet') // makes the build fail on travis when there is a javadoc error
options.linkSource true
options.encoding "UTF-8" // allow emoji in comments :^)
source = sourceSets.api.allJava
classpath += sourceSets.api.compileClasspath
}
jar {
classifier "dev"
from sourceSets.main.output, sourceSets.realmain.output, sourceSets.api.output
preserveFileTimestamps = false
reproducibleFileOrder = true
manifest {
attributes(
'MixinConfigs': 'mixins.baritone.json',
"MixinConnector": "baritone.launch.BaritoneMixinConnector",
'Implementation-Title': 'Baritone',
'Implementation-Version': version,
)
}
}
task removeDist(type: Delete) {
delete new File(rootProject.rootDir, "dist")
}
clean.finalizedBy(removeDist)