plugins {
    id 'java-library'
    id 'fabric-loom' version '0.4-SNAPSHOT'
    id 'maven-publish'
}

targetCompatibility = JavaVersion.VERSION_1_8
sourceCompatibility = JavaVersion.VERSION_1_8

version = "${project.minecraft_version}-${project.version}"

if (project.release != 'RELEASE') {
    version += "-${project.release}"
}

group = project.group
description = project.displayname
archivesBaseName = project.name

minecraft {
    refmapName = 'unicopia.mixin.refmap.json'
}

repositories {
    maven {
        name = 'minelp'
        url = 'http://repo.minelittlepony-mod.com/maven/snapshot'
    }
    maven {
        name = 'minelp-release'
        url = 'http://repo.minelittlepony-mod.com/maven/release'
    }
}

// check for updates every build when on CI
if (System.env.CI) {
    configurations.all {
        resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
    }
}

dependencies {
    minecraft "com.mojang:minecraft:${project.minecraft_version}"
    mappings "net.fabricmc:yarn:${project.yarn_mappings}"
    modApi "net.fabricmc:fabric-loader:${project.loader_version}"

    compileOnly "com.google.code.findbugs:jsr305:3.0.2"

    //modApi "net.fabricmc.fabric-api:fabric-api-base:0.1.0+"
    //modApi "net.fabricmc.fabric-api:fabric-events-lifecycle-v0:0.1.0+"
    //modApi "net.fabricmc.fabric-api:fabric-resource-loader-v0:0.1.0+"

	modCompile "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"

	modApi "com.minelittlepony:MineLittlePony:${project.minelp_version}"

    modApi "com.minelittlepony:Kirin:${project.kirin_version}"
    include "com.minelittlepony:Kirin:${project.kirin_version}"

    modCompileOnly("io.github.prospector:modmenu:${project.modmenu_version}") {
        transitive = false
    }
}

processResources {
    inputs.property "version", project.version

    from(sourceSets.main.resources.srcDirs) {
        include "fabric.mod.json"
        expand "version": project.version
    }

    from(sourceSets.main.resources.srcDirs) {
        exclude "fabric.mod.json"
    }
}

tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}

task sourcesJar(type: Jar, dependsOn: classes) {
    classifier = "sources"
    from sourceSets.main.allSource
}