222 lines
7.0 KiB
Groovy
222 lines
7.0 KiB
Groovy
plugins {
|
|
id 'fabric-loom' version "1.10.1"
|
|
id 'maven-publish'
|
|
}
|
|
|
|
version = project.mod_version
|
|
group = project.maven_group
|
|
|
|
repositories {
|
|
exclusiveContent {
|
|
forRepository {
|
|
maven {
|
|
name = "Modrinth"
|
|
url = "https://api.modrinth.com/maven"
|
|
}
|
|
}
|
|
filter {
|
|
includeGroup "maven.modrinth"
|
|
}
|
|
}
|
|
maven { url "https://maven.shedaniel.me/" }
|
|
maven { url "https://maven.terraformersmc.com/releases/" }
|
|
}
|
|
|
|
|
|
def gitCommitHash = { ->
|
|
try {
|
|
def stdout = new ByteArrayOutputStream()
|
|
ExecResult result = exec () -> {
|
|
commandLine 'git', 'rev-parse', '--short', 'HEAD'
|
|
standardOutput = stdout
|
|
ignoreExitValue = true
|
|
}
|
|
|
|
if (result.getExitValue() != 0) {
|
|
return "<UnknownCommit>";
|
|
} else {
|
|
return stdout.toString().trim();
|
|
}
|
|
} catch (Exception e) {
|
|
e.printStackTrace()
|
|
return "<UnknownCommit>";
|
|
}
|
|
}
|
|
|
|
def buildtime = {System.currentTimeSeconds()}
|
|
processResources {
|
|
def time = buildtime()
|
|
def hash = gitCommitHash()
|
|
inputs.properties("version": project.version, "commit": hash, "buildtime": time)
|
|
|
|
archivesBaseName = "voxy"
|
|
filesMatching("fabric.mod.json") {
|
|
expand "version": project.version, "commit": hash, "buildtime": time
|
|
}
|
|
}
|
|
|
|
loom {
|
|
accessWidenerPath = file("src/main/resources/voxy.accesswidener")
|
|
}
|
|
|
|
dependencies {
|
|
// To change the versions see the gradle.properties file
|
|
minecraft "com.mojang:minecraft:${project.minecraft_version}"
|
|
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
|
|
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
|
|
|
|
|
|
modImplementation(fabricApi.module("fabric-api-base", project.fabric_version))
|
|
modImplementation(fabricApi.module("fabric-rendering-fluids-v1", project.fabric_version))
|
|
modImplementation(fabricApi.module("fabric-resource-loader-v0", project.fabric_version))
|
|
modImplementation(fabricApi.module("fabric-command-api-v2", project.fabric_version))
|
|
|
|
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
|
|
|
|
//TODO: this is to eventually not need sodium installed as atm its just used for parsing shaders
|
|
modRuntimeOnly "maven.modrinth:sodium:mc1.21.5-0.6.12-fabric"
|
|
modCompileOnly "maven.modrinth:sodium:mc1.21.5-0.6.12-fabric"
|
|
|
|
modImplementation("maven.modrinth:lithium:mc1.21.5-0.16.0-fabric")
|
|
|
|
//modRuntimeOnly "maven.modrinth:nvidium:0.2.6-beta"
|
|
modCompileOnly "maven.modrinth:nvidium:0.2.8-beta"
|
|
|
|
modImplementation("maven.modrinth:cloth-config:17.0.144+fabric")
|
|
|
|
modImplementation("maven.modrinth:modmenu:14.0.0-rc.2")
|
|
|
|
modCompileOnly("maven.modrinth:iris:1.8.5+1.21.4-fabric")
|
|
|
|
//modCompileOnly("maven.modrinth:starlight:1.1.3+1.20.4")
|
|
|
|
//modCompileOnly("maven.modrinth:immersiveportals:v5.1.7-mc1.20.4")
|
|
|
|
|
|
modCompileOnly("maven.modrinth:chunky:1.4.27-fabric")
|
|
modRuntimeOnly("maven.modrinth:chunky:1.4.27-fabric")
|
|
|
|
modRuntimeOnly("maven.modrinth:spark:1.10.121-fabric")
|
|
modRuntimeOnly("maven.modrinth:fabric-permissions-api:0.3.3")
|
|
//modRuntimeOnly("maven.modrinth:nsight-loader:1.2.0")
|
|
|
|
//modImplementation('io.github.douira:glsl-transformer:2.0.1')
|
|
|
|
modCompileOnly("maven.modrinth:vivecraft:1.21.1-1.1.14-b2-fabric")
|
|
}
|
|
|
|
|
|
def targetJavaVersion = 21
|
|
tasks.withType(JavaCompile).configureEach {
|
|
// ensure that the encoding is set to UTF-8, no matter what the system default is
|
|
// this fixes some edge cases with special characters not displaying correctly
|
|
// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
|
|
// If Javadoc is generated, this must be specified in that task too.
|
|
it.options.encoding = "UTF-8"
|
|
if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) {
|
|
it.options.release = targetJavaVersion
|
|
}
|
|
}
|
|
|
|
java {
|
|
def javaVersion = JavaVersion.toVersion(targetJavaVersion)
|
|
if (JavaVersion.current() < javaVersion) {
|
|
toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion)
|
|
}
|
|
archivesBaseName = project.archives_base_name
|
|
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
|
|
// if it is present.
|
|
// If you remove this line, sources will not be generated.
|
|
withSourcesJar()
|
|
}
|
|
|
|
jar {
|
|
from("LICENSE") {
|
|
rename { "${it}_${project.archivesBaseName}"}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
tasks.register('excludeUnused', Zip) {
|
|
//outputs.upToDateWhen { false }
|
|
archiveExtension.set("jar")
|
|
entryCompression(ZipEntryCompression.STORED)
|
|
destinationDirectory.set temporaryDir
|
|
archiveFileName.set processIncludeJars.outputDirectory.asFileTree.filter {
|
|
it.name.startsWith('rocksdb')
|
|
}.first().name
|
|
processIncludeJars.outputDirectory.asFileTree.each {
|
|
if (it.name.startsWith('rocksdb')) {
|
|
from zipTree(it)
|
|
}
|
|
}
|
|
exclude {
|
|
def file = it.name
|
|
if (file.endsWith(".jnilib")) {
|
|
return true
|
|
}
|
|
if (!file.endsWith(".so")) {
|
|
return false
|
|
}
|
|
return ["osx", "linux32", "s390x", "riscv64", "ppc64le", "aarch64"].any(file::contains)
|
|
}
|
|
dependsOn processIncludeJars
|
|
}
|
|
|
|
if (!processIncludeJars.outputDirectory.asFileTree.filter {
|
|
it.name.startsWith('rocksdb')
|
|
}.isEmpty()) {
|
|
println "Compressing rocksdb"
|
|
remapJar {
|
|
nestedJars = nestedJars.filter {
|
|
!it.name.startsWith('rocksdb')
|
|
}
|
|
nestedJars.from excludeUnused
|
|
}
|
|
}
|
|
|
|
|
|
project.ext.lwjglVersion = "3.3.3"
|
|
project.ext.lwjglNatives = "natives-windows"
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
|
|
dependencies {
|
|
implementation platform("org.lwjgl:lwjgl-bom:$lwjglVersion")
|
|
|
|
implementation "org.lwjgl:lwjgl"
|
|
include(implementation "org.lwjgl:lwjgl-lmdb")
|
|
include(implementation "org.lwjgl:lwjgl-zstd")
|
|
runtimeOnly "org.lwjgl:lwjgl:$lwjglVersion:natives-windows"
|
|
runtimeOnly "org.lwjgl:lwjgl:$lwjglVersion:natives-linux"
|
|
include(runtimeOnly "org.lwjgl:lwjgl-lmdb:$lwjglVersion:natives-windows")
|
|
include(runtimeOnly "org.lwjgl:lwjgl-zstd:$lwjglVersion:natives-windows")
|
|
include(runtimeOnly "org.lwjgl:lwjgl-lmdb:$lwjglVersion:natives-linux")
|
|
include(runtimeOnly "org.lwjgl:lwjgl-zstd:$lwjglVersion:natives-linux")
|
|
|
|
include(implementation 'redis.clients:jedis:5.1.0')
|
|
include(implementation('org.rocksdb:rocksdbjni:8.10.0'))
|
|
include(implementation 'org.apache.commons:commons-pool2:2.12.0')
|
|
include(implementation 'org.lz4:lz4-java:1.8.0')
|
|
compileOnly('org.tukaani:xz:1.10')
|
|
minecraftRuntimeLibraries('org.tukaani:xz:1.10')
|
|
minecraftRuntimeLibraries('org.xerial:sqlite-jdbc:3.49.1.0')
|
|
//implementation 'org.rocksdb:rocksdbjni:8.10.0'
|
|
//implementation 'redis.clients:jedis:5.1.0'
|
|
}
|
|
|
|
repositories {
|
|
maven {
|
|
url = "https://pkgs.dev.azure.com/djtheredstoner/DevAuth/_packaging/public/maven/v1"
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
modRuntimeOnly('me.djtheredstoner:DevAuth-fabric:1.1.0') {
|
|
exclude group: 'net.fabricmc', module: 'fabric-loader'
|
|
}
|
|
} |