123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- import net.fabricmc.loom.task.RemapJarTask
- 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 {
- }
- jar {
- from "LICENSE"
- }
- 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}") {
- exclude module: "fabric-api"
- }
- modApi("me.sargunvohra.mcmods:autoconfig1u:${project.autoconfig1u}") {
- exclude module: "fabric-api"
- }
- modApi("org.jetbrains:annotations:18.0.0")
- modCompileOnly("io.github.prospector:modmenu:${modmenu_version}") {
- transitive = false
- }
- modRuntime("io.github.prospector:modmenu:${modmenu_version}") {
- transitive = false
- }
- if (includeDep) {
- afterEvaluate {
- def listAdded = new ArrayList(Arrays.asList((api_exculde as String).split(',')))
- def eachDep = { dep ->
- for (apiIncludeDepStr in (api_include as String).split(',')) {
- def apiIncludeGroup = apiIncludeDepStr.split(':')[0]
- def apiIncludeDep = apiIncludeDepStr.split(':')[1]
- if (dep.module.id.group == apiIncludeGroup && dep.module.id.name.startsWith(apiIncludeDep)) {
- def version = dep.module.id.version.indexOf('@') >= 0 ? dep.module.id.version.substring(0, dep.module.id.version.indexOf('@')) : dep.module.id.version
- def mavenDep = "${dep.module.id.group}:${dep.module.id.name}:$version"
- if (!(mavenDep in listAdded)) {
- include(mavenDep) {
- transitive = false
- }
- listAdded.add(mavenDep)
- }
- break
- }
- }
- }
- configurations.compile.resolvedConfiguration.firstLevelModuleDependencies.each eachDep
- configurations.runtimeClasspath.resolvedConfiguration.firstLevelModuleDependencies.each eachDep
- }
- }
- }
- task sourcesJar(type: Jar, dependsOn: classes) {
- classifier = "sources"
- from sourceSets.main.allSource
- }
- task remapMavenJar(type: RemapJarTask, dependsOn: jar) {
- // classifier = "maven"
- afterEvaluate {
- //noinspection GroovyAccessibility
- input = file("${project.buildDir}/libs/${archivesBaseName}-${version}-dev.jar")
- archiveName = "${archivesBaseName}-${version}.jar"
- //noinspection GroovyAccessibility
- addNestedDependencies = false
- }
- }
- curseforge {
- if (project.hasProperty('danielshe_curse_api_key') || System.getenv('danielshe_curse_api_key') != null) {
- apiKey = project.hasProperty('danielshe_curse_api_key') ? project.property('danielshe_curse_api_key') : System.getenv('danielshe_curse_api_key')
- project {
- id = '310111'
- releaseType = 'beta'
- changelogType = "html"
- def df = new SimpleDateFormat("yyyy-MM-dd HH:mm")
- df.setTimeZone(TimeZone.getTimeZone("UTC"))
- def time = df.format(new Date())
- changelog = "<h2>REI v$project.version</h2>Updated at <b>$time</b>.<br><a href=\"https://gist.github.com/shedaniel/b7593e692319976f3349263208792922\">Click here for full changelog</a>"
- addGameVersion '1.16-Snapshot'
- addGameVersion 'Java 8'
- addGameVersion 'Fabric'
- relations {
- requiredDependency 'fabric-api'
- embeddedLibrary 'cloth'
- embeddedLibrary 'cloth-config'
- }
- mainArtifact(file("${project.buildDir}/libs/${project.archivesBaseName}-${project.version}.jar")) {
- displayName = "[Fabric 20w09a] 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')
- }
- }
- }
- }
- }
|