-
Notifications
You must be signed in to change notification settings - Fork 822
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix-up some issues with the Kotlin buildscript
- Loading branch information
1 parent
6c107a4
commit ac4cfc9
Showing
5 changed files
with
149 additions
and
164 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
object Constants { | ||
// https://fabricmc.net/develop/ | ||
const val MINECRAFT_VERSION: String = "1.20.1" | ||
const val YARN_VERSION: String = "1.20.1+build.10" | ||
const val FABRIC_LOADER_VERSION: String = "0.15.6" | ||
const val FABRIC_API_VERSION: String = "0.91.0+1.20.1" | ||
|
||
// https://semver.org/ | ||
const val MOD_VERSION: String = "0.5.6" | ||
} | ||
|
||
plugins { | ||
// Unlike most projects, we choose to pin the specific version of Loom. | ||
// This prevents a lot of issues where the build script can fail randomly because the Fabric Maven server | ||
// is not reachable for some reason, and it makes builds much more reproducible. Observation also shows that it | ||
// really helps to improve startup times on slow connections. | ||
id("fabric-loom") version "1.5.7" | ||
} | ||
|
||
base { | ||
archivesName = "sodium-fabric" | ||
|
||
group = "me.jellysquid.mods" | ||
version = createVersionString() | ||
} | ||
|
||
loom { | ||
accessWidenerPath = file("src/main/resources/sodium.accesswidener") | ||
} | ||
|
||
java { | ||
sourceCompatibility = JavaVersion.VERSION_17 | ||
targetCompatibility = JavaVersion.VERSION_17 | ||
} | ||
|
||
sourceSets { | ||
val main = getByName("main") | ||
val api = create("api") | ||
val desktop = create("desktop") | ||
|
||
api.apply { | ||
java { | ||
compileClasspath += main.compileClasspath | ||
} | ||
} | ||
|
||
desktop.apply { | ||
java { | ||
srcDir("src/desktop/java") | ||
} | ||
} | ||
|
||
main.apply { | ||
java { | ||
compileClasspath += api.output | ||
runtimeClasspath += api.output | ||
} | ||
} | ||
} | ||
|
||
dependencies { | ||
minecraft(group = "com.mojang", name = "minecraft", version = Constants.MINECRAFT_VERSION) | ||
mappings(group = "net.fabricmc", name = "yarn", version = Constants.YARN_VERSION, classifier = "v2") | ||
modImplementation(group = "net.fabricmc", name = "fabric-loader", version = Constants.FABRIC_LOADER_VERSION) | ||
|
||
fun addEmbeddedFabricModule(name: String) { | ||
val module = fabricApi.module(name, Constants.FABRIC_API_VERSION) | ||
modImplementation(module) | ||
include(module) | ||
} | ||
|
||
// Fabric API modules | ||
addEmbeddedFabricModule("fabric-api-base") | ||
addEmbeddedFabricModule("fabric-block-view-api-v2") | ||
addEmbeddedFabricModule("fabric-rendering-fluids-v1") | ||
addEmbeddedFabricModule("fabric-rendering-data-attachment-v1") | ||
addEmbeddedFabricModule("fabric-resource-loader-v0") | ||
} | ||
|
||
tasks { | ||
jar { | ||
from("${rootProject.projectDir}/COPYING") | ||
from("${rootProject.projectDir}/COPYING.LESSER") | ||
|
||
val api = sourceSets.getByName("api") | ||
from(api.output.classesDirs) | ||
from(api.output.resourcesDir) | ||
|
||
val desktop = sourceSets.getByName("desktop") | ||
from(desktop.output.classesDirs) | ||
from(desktop.output.resourcesDir) | ||
|
||
manifest.attributes["Main-Class"] = "net.caffeinemc.mods.sodium.desktop.LaunchWarn" | ||
} | ||
|
||
processResources { | ||
inputs.property("version", project.version) | ||
|
||
filesMatching("fabric.mod.json") { | ||
expand(mapOf("version" to project.version)) | ||
} | ||
} | ||
} | ||
|
||
// 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 | ||
tasks.withType<JavaCompile> { | ||
options.encoding = "UTF-8" | ||
} | ||
|
||
fun createVersionString(): String { | ||
val builder = StringBuilder() | ||
|
||
val isReleaseBuild = project.hasProperty("build.release") | ||
val buildId = System.getenv("GITHUB_RUN_NUMBER") | ||
|
||
if (isReleaseBuild) { | ||
builder.append(Constants.MOD_VERSION) | ||
} else { | ||
builder.append(Constants.MOD_VERSION.substringBefore('-')) | ||
builder.append("-snapshot") | ||
} | ||
|
||
builder.append("+mc").append(Constants.MINECRAFT_VERSION) | ||
|
||
if (!isReleaseBuild) { | ||
if (buildId != null) { | ||
builder.append("-build.${buildId}") | ||
} else { | ||
builder.append("-local") | ||
} | ||
} | ||
|
||
return builder.toString() | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,2 @@ | ||
# Done to increase the memory available to gradle. | ||
org.gradle.jvmargs=-Xmx2G | ||
|
||
# Fabric Properties | ||
# check these on https://fabricmc.net/develop/ | ||
minecraft_version=1.20.1 | ||
yarn_mappings=1.20.1+build.10 | ||
loader_version=0.15.6 | ||
fabric_version=0.91.0+1.20.1 | ||
|
||
# Mod Properties | ||
mod_version=0.5.6 | ||
maven_group=me.jellysquid.mods | ||
archives_base_name=sodium-fabric | ||
main_class=net.caffeinemc.mods.sodium.desktop.LaunchWarn | ||
org.gradle.jvmargs=-Xmx2G |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
rootProject.name = "sodium" | ||
|
||
pluginManagement { | ||
repositories { | ||
maven("https://maven.fabricmc.net/") { | ||
name = "Fabric" | ||
} | ||
|
||
mavenCentral() | ||
gradlePluginPortal() | ||
} | ||
} |