plugins { id 'fabric-loom' version '1.8-SNAPSHOT' id 'maven-publish' } if (System.getenv("VERSION")) { project.mod_version = System.getenv("VERSION") } version = "${project.mod_version}" group = "dev.draylar" base { archivesName = "omega-config" } allprojects { apply plugin: "fabric-loom" sourceCompatibility = targetCompatibility = JavaVersion.VERSION_17 version = project.mod_version repositories {} dependencies { minecraft "com.mojang:minecraft:${project.minecraft_version}" mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" } processResources { inputs.property "version", project.version filesMatching("fabric.mod.json") { expand "version": project.version } } tasks.withType(JavaCompile).configureEach { it.options.release = 17 javadoc.options.addStringOption('Xdoclint:none', '-quiet') } jar { from(rootProject.file("LICENSE")) { rename { "LICENSE_${project.archivesBaseName.replace('-', '_')}" } } } } subprojects { apply plugin: 'fabric-loom' apply plugin: 'maven-publish' archivesBaseName = project.name group = "dev.draylar.${project.group}" // Only publish for submodules (not the root project) - add standard jar, + sources & development jar publishing { publications { create("mavenJava", MavenPublication) { artifactId = project.archives_base_name version = "${project.mod_version}+${project.minecraft_version}" from components.java } } 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. maven { name = "Gitea" url = uri("https://git.bigduckie.dev/api/packages/big-duckie/maven") credentials(HttpHeaderCredentials) { name = "Authorization" value = "token ${System.getenv("MAVEN_TOKEN")}" } authentication { header(HttpHeaderAuthentication) } } } } // Add sources & javadoc artifacts java { withSourcesJar() withJavadocJar() } } // Main project depends on the base & gui module for testing dependencies { implementation project(path: ":omega-config-base", configuration: "namedElements") afterEvaluate { testmodImplementation sourceSets.main.output } } sourceSets { testmod { compileClasspath += main.compileClasspath runtimeClasspath += main.runtimeClasspath } test { compileClasspath += main.compileClasspath runtimeClasspath += main.runtimeClasspath } }