229 lines
7.1 KiB
Groovy
229 lines
7.1 KiB
Groovy
plugins {
|
|
id 'fabric-loom' version "1.10.1"
|
|
id 'maven-publish'
|
|
}
|
|
|
|
version = project.mod_version
|
|
group = project.maven_group
|
|
|
|
base {
|
|
archivesName = project.archives_base_name
|
|
}
|
|
|
|
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 {
|
|
ExecOutput result = providers.exec {
|
|
commandLine = ['git', 'rev-parse', '--short', 'HEAD']
|
|
ignoreExitValue = true
|
|
}
|
|
|
|
if (result.getResult().get().getExitValue() != 0) {
|
|
return "<UnknownCommit>";
|
|
} else {
|
|
return result.standardOutput.asText.get().strip();
|
|
}
|
|
} catch (Exception e) {
|
|
e.printStackTrace()
|
|
return "<UnknownCommit>";
|
|
}
|
|
}
|
|
|
|
def buildtime = {System.currentTimeSeconds()}
|
|
processResources {
|
|
def time = buildtime()
|
|
def hash = gitCommitHash()
|
|
def version = project.version
|
|
|
|
inputs.properties("version": version, "commit": hash, "buildtime": time)
|
|
filesMatching("fabric.mod.json") {
|
|
expand "version": 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.13-fabric"
|
|
modCompileOnly "maven.modrinth:sodium:mc1.21.5-0.6.13-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"
|
|
|
|
modCompileOnly("maven.modrinth:modmenu:14.0.0-rc.2")
|
|
modRuntimeOnly("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)
|
|
}
|
|
|
|
// 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.archives_base_name}"}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
tasks.register('makeExcludedRocksDB', Zip) {
|
|
archiveExtension.set("jar")
|
|
entryCompression = ZipEntryCompression.STORED
|
|
destinationDirectory.set temporaryDir
|
|
|
|
dependsOn configurations.includeInternal
|
|
|
|
def files = configurations.includeInternal.incoming.getArtifacts().getArtifactFiles().filter {
|
|
it.name.startsWith('rocksdb')
|
|
}
|
|
from {->zipTree(files.first())}
|
|
archiveFileName.set(providers.provider{files.first().name})
|
|
|
|
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)
|
|
}
|
|
}
|
|
|
|
processIncludeJars {
|
|
dependsOn makeExcludedRocksDB
|
|
jars = jars.filter {!it.name.startsWith('rocksdb')}
|
|
jars.from(makeExcludedRocksDB)
|
|
}
|
|
|
|
remapJar {
|
|
delete getDestinationDirectory().get()
|
|
|
|
def hash = gitCommitHash();
|
|
if (!hash.equals("<UnknownCommit>")) {
|
|
archiveClassifier.set(hash);
|
|
}
|
|
}
|
|
|
|
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')
|
|
if (true) {
|
|
minecraftRuntimeLibraries('org.tukaani:xz:1.10')
|
|
minecraftRuntimeLibraries('org.xerial:sqlite-jdbc:3.49.1.0')
|
|
} else {
|
|
include(implementation('org.tukaani:xz:1.10'))
|
|
include(implementation('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'
|
|
}
|
|
} |