Flywheel/forge/build.gradle
Jozufozu 2072bea11b Caught linking
- Upgrade buildSrc to kotlin buildscript
- Add TransitiveSourceSet extension to abstract creating the different
  source sets and creating the configurations to apply dependencies
2024-05-17 08:43:56 -07:00

87 lines
2.3 KiB
Groovy

plugins {
id 'idea'
id 'java'
id 'maven-publish'
id 'dev.architectury.loom'
id 'flywheel.java'
id 'flywheel.package-infos'
id 'flywheel.subproject'
id 'flywheel.platform'
id 'flywheel.transitive-source-sets'
}
evaluationDependsOn(':common')
transitiveSourceSets {
compileClasspath = sourceSets.main.compileClasspath
create('api') {
rootCompile()
}
create('lib') {
rootCompile()
compile sourceSets.api
}
create('backend') {
rootCompile()
compile sourceSets.api, sourceSets.lib
}
sourceSet(sourceSets.main) {
compile sourceSets.api, sourceSets.lib, sourceSets.backend
}
createCompileConfigurations()
}
defaultPackageInfos {
forSourceSets sourceSets.api, sourceSets.lib, sourceSets.backend, sourceSets.main
}
loom {
forge {
mixinConfig 'flywheel.backend.mixins.json'
mixinConfig 'flywheel.impl.mixins.json'
mixinConfig 'flywheel.impl.sodium.mixins.json'
}
runs {
configureEach {
property 'forge.logging.markers', ''
property 'forge.logging.console.level', 'debug'
}
client {
ideConfigGenerated true
// Turn on our own debug flags
property 'flw.dumpShaderSource', 'true'
property 'flw.debugMemorySafety', 'true'
// Turn on mixin debug flags
property 'mixin.debug.export', 'true'
property 'mixin.debug.verbose', 'true'
// 720p baby!
programArgs '--width', '1280', '--height', '720'
}
// We're a client mod, but we need to make sure we correctly render when playing on a server.
server {
ideConfigGenerated true
programArgs '--nogui'
}
}
}
dependencies {
forge "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
modCompileOnly "maven.modrinth:embeddium:${embeddium_version}"
modCompileOnly "maven.modrinth:oculus:${oculus_version}"
forApi project(path: ':common', configuration: 'commonApiOnly')
forLib project(path: ':common', configuration: 'commonLib')
forBackend project(path: ':common', configuration: 'commonBackend')
forMain project(path: ':common', configuration: 'commonImpl')
}