diff options
Diffstat (limited to 'build.gradle')
-rw-r--r-- | build.gradle | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..2c2c885 --- /dev/null +++ b/build.gradle @@ -0,0 +1,113 @@ +plugins { + id 'fabric-loom' version '1.9-SNAPSHOT' + id 'maven-publish' + id "org.jetbrains.kotlin.jvm" version "2.1.10" +} + +version = project.mod_version +group = project.maven_group + +base { + archivesName = project.archives_base_name +} + +repositories { + // Add repositories to retrieve artifacts from in here. + // You should only use this when depending on other mods because + // Loom adds the essential maven repositories to download Minecraft and libraries from automatically. + // See https://docs.gradle.org/current/userguide/declaring_repositories.html + // for more information about repositories. +} + +loom { + splitEnvironmentSourceSets() + + mods { + "pirate-radio" { + sourceSet sourceSets.main + sourceSet sourceSets.client + } + } + +} + +fabricApi { + configureDataGeneration { + client = true + } +} + +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}" + + // Fabric API. This is technically optional, but you probably want it anyway. + modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" + modImplementation "net.fabricmc:fabric-language-kotlin:${project.fabric_kotlin_version}" + + include implementation("com.dylibso.chicory:runtime:${project.chicory_version}") + include implementation("com.dylibso.chicory:wasm:${project.chicory_version}") + include implementation("com.dylibso.chicory:aot-experimental:${project.chicory_version}") + include implementation("com.github.wendykierp:JTransforms:3.1:with-dependencies") + + testImplementation "net.fabricmc:fabric-loader-junit:${project.loader_version}" + testImplementation "org.jetbrains.kotlin:kotlin-test:${project.kotlin_test_version}" +} + +test { + useJUnitPlatform() +} + +processResources { + inputs.property "version", project.version + + filesMatching("fabric.mod.json") { + expand "version": project.version + } +} + +tasks.withType(JavaCompile).configureEach { + it.options.release = 21 +} + +tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all { + kotlinOptions { + jvmTarget = 21 + } +} + +java { + // 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() + + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 +} + +jar { + from("LICENSE") { + rename { "${it}_${project.base.archivesName.get()}"} + } +} + +// configure the maven publication +publishing { + publications { + create("mavenJava", MavenPublication) { + artifactId = project.archives_base_name + from components.java + } + } + + // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. + repositories { + // Add repositories to publish to here. + // Notice: This block does NOT have the same function as the block in the top level. + // The repositories here will be used for publishing your artifact, not for + // retrieving dependencies. + } +} |