plugins { id "fabric-loom" version "1.1-SNAPSHOT" id "maven-publish" id "java-library" } group = "dev.draylar" archivesBaseName = "omega-config" 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 { repositories { maven { name = "draylarRepository" url = "https://maven.draylar.dev/releases" credentials(PasswordCredentials) authentication { basic(BasicAuthentication) } } } publications { mavenJava(MavenPublication) { from components.java } } } // Add sources & javadoc artifacts java { withSourcesJar() withJavadocJar() } } allprojects { apply plugin: "fabric-loom" sourceCompatibility = targetCompatibility = JavaVersion.VERSION_17 version = project.mod_version + "+" + project.minecraft_version repositories { maven { name = "FabricMC" url = "https://maven.fabricmc.net" } } 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) { javadoc.options.addStringOption('Xdoclint:none', '-quiet') } jar { from(rootProject.file("LICENSE")) { rename { "LICENSE_${project.archivesBaseName.replace('-', '_')}" } } } } // 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 } }