import java.text.SimpleDateFormat plugins { id 'fabric-loom' version '0.2.6-SNAPSHOT' id 'maven-publish' id 'net.minecrell.licenser' version '0.4.1' id 'com.matthewprenger.cursegradle' version '1.4.0' } sourceCompatibility = targetCompatibility = 1.8 archivesBaseName = "RoughlyEnoughItems" group = "me.shedaniel" def forceVersion = "" version = forceVersion != "" ? forceVersion : ((project.mod_version as String).contains("unstable") ? (project.mod_version + "." + buildTime()) : project.mod_version) def includeDep = true minecraft { } static def buildTime() { def df = new SimpleDateFormat("yyyyMMddHHmm") df.setTimeZone(TimeZone.getTimeZone("UTC")) return df.format(new Date()) } license { header rootProject.file('HEADER') include '**/*.java' } repositories { maven { url "https://tehnut.info/maven/" } maven { url "https://oss.sonatype.org/content/repositories/snapshots" } maven { url "https://dl.bintray.com/shedaniel/autoconfig1u/" } } processResources { filesMatching('fabric.mod.json') { expand 'version': project.version } inputs.property "version", project.version } dependencies { minecraft "com.mojang:minecraft:${project.minecraft_version}" mappings "net.fabricmc:yarn:${project.yarn_version}:v2" modApi "net.fabricmc:fabric-loader:${project.fabricloader_version}" modApi "net.fabricmc.fabric-api:fabric-api:${project.fabric_api}" modApi("me.shedaniel.cloth:cloth-events:${cloth_events_version}") { transitive = false } modImplementation("me.shedaniel.cloth:config-2:${cloth_config_version}") { transitive = false } modApi("me.sargunvohra.mcmods:autoconfig1u:${project.autoconfig1u}") if (includeDep) { include("me.shedaniel.cloth:cloth-events:${cloth_events_version}") { transitive = false } include("me.shedaniel.cloth:config-2:${cloth_config_version}") { transitive = false } include("me.sargunvohra.mcmods:autoconfig1u:${project.autoconfig1u}") { transitive = false } } modCompileOnly ("io.github.prospector:modmenu:${modmenu_version}") { transitive = false } modRuntime ("io.github.prospector:modmenu:${modmenu_version}") { transitive = false } compile "org.lwjgl:lwjgl-jemalloc:3.2.1" compileOnly "com.google.code.findbugs:jsr305:3.0.2" compileOnly 'org.jetbrains:annotations:15.0' modRuntime("com.lettuce.fudge:notenoughcrashes:1.0.12+1.15") { transitive = false } } task sourcesJar(type: Jar, dependsOn: classes) { classifier = "sources" from sourceSets.main.allSource } task remapMavenJar(type: net.fabricmc.loom.task.RemapJarTask, dependsOn: jar) { // classifier = "maven" afterEvaluate { input = file("${project.buildDir}/libs/${archivesBaseName}-${version}-dev.jar") archiveName = "${archivesBaseName}-${version}.jar" addNestedDependencies = false } } curseforge { if (project.hasProperty('danielshe_curse_api_key')) { apiKey = project.getProperty('danielshe_curse_api_key') project { id = '310111' releaseType = 'release' changelogType = "html" changelog = "Click here for changelog" addGameVersion '1.15' addGameVersion '1.15-Snapshot' addGameVersion 'Java 8' relations { requiredDependency 'fabric-api' embeddedLibrary 'cloth' embeddedLibrary 'cloth-config' } mainArtifact(file("${project.buildDir}/libs/${project.archivesBaseName}-${project.version}.jar")) { displayName = "[Fabric ${project.minecraft_version}] v$project.version" } afterEvaluate { uploadTask.dependsOn("remapJar") } } } options { forgeGradleIntegration = false javaVersionAutoDetect = false } } publishing { publications { mavenJava(MavenPublication) { artifact(file("${project.buildDir}/libs/$archivesBaseName-${version}.jar")) { builtBy remapMavenJar } artifact(sourcesJar) { builtBy remapSourcesJar } } } repositories { if (project.hasProperty('danielshe_pass')) { maven { url = "http://deploy.modmuss50.me/" credentials { username = "danielshe" password = project.getProperty('danielshe_pass') } } } } }