plugins { id 'fabric-loom' version '0.13.20' id 'maven-publish' } version = project.mod_version group = project.maven_group repositories { } dependencies { minecraft "com.mojang:minecraft:${project.minecraft_version}" mappings loom.officialMojangMappings() modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" } processResources { inputs.property "version", project.version filteringCharset "UTF-8" filesMatching("fabric.mod.json") { expand "version": project.version } } def targetJavaVersion = 17 tasks.withType(JavaCompile).configureEach { 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) } archivesBaseName = project.archives_base_name withSourcesJar() } jar { from("LICENSE") { rename { "${it}_${project.archivesBaseName}" } } } idea.module { excludeDirs << file('run') } publishing { publications { mavenJava(MavenPublication) { from components.java version = "${project.mod_version}" artifactId = "${project.archives_base_name}" groupId = "${project.maven_group}" pom { name = "Mom's Love" description = '' url = 'https://wiki.nova-committee.cn' licenses { license { name = 'MIT' } } developers { developer { id = 'cnlimiter' name = 'cnlimiter' email = 'cnlimiter@163.com' } } } } } // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. repositories { if(System.getenv('MAVEN_USERNAME') != null && System.getenv('MAVEN_PASSWORD') != null) { maven { name 'release' url = 'https://maven.nova-committee.cn/releases' credentials { username System.getenv('MAVEN_USERNAME') password System.getenv('MAVEN_PASSWORD') } } } } }