buildscript {
	repositories {
		jcenter()
		maven { url = "http://files.minecraftforge.net/maven" }
		maven { url "https://plugins.gradle.org/m2/" }
	}
	dependencies {
		classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
		classpath 'gradle.plugin.com.matthewprenger:CurseGradle:1.1.0'
		classpath 'com.wynprice.cursemaven:CurseMaven:1.2.+'
	}
}

apply plugin: 'net.minecraftforge.gradle.forge'
apply plugin: 'com.matthewprenger.cursegradle'
apply plugin: 'maven'
apply plugin: 'com.wynprice.cursemaven'

apply from: 'https://raw.githubusercontent.com/MinecraftModDevelopment/Gradle-Collection/master/generic/markdown-git-changelog.gradle'

def ENV = System.getenv()
version = ENV.BUILD_NUMBER ? "${mod_version}.${ENV.BUILD_NUMBER}" : "${mod_version}.custom"
group = package_group
archivesBaseName = mod_name

sourceCompatibility = targetCompatibility = "1.8"
compileJava {
	sourceCompatibility = targetCompatibility = "1.8"
}

minecraft {
	version = "${mc_version}-${forge_version}"
	runDir = "run"
	mappings = "${mappings_version}"

	replace "0.0.0.ftbutilities", project.version
	replaceIn "${mod_reference}"
}

configurations.all {
	transitive = false
}

repositories {
	mavenLocal()
	maven { url "https://maven.latmod.com/" } //FTB Library, KubeJS, Aurora
}

dependencies {
	deobfCompile "com.feed_the_beast.mods:FTBLib:${ftblib_version}"
	deobfProvided "dev.latvian.kubejs:KubeJS:forge-1.12.2-${kubejs_version}"
	deobfCompile "dev.latvian.mods:Aurora:1.+"
	deobfProvided curse.resolve('ichunutil', project.ichunutil_file)
	deobfProvided curse.resolve('journeymap', project.journeymap_file)
	deobfProvided curse.resolve('chisels-bits', project.chiselsandbits_file)
}

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

	from(sourceSets.main.resources.srcDirs) {
		include 'mcmod.info'
		expand 'version': project.version, 'mcversion': project.minecraft.version
	}

	from(sourceSets.main.resources.srcDirs) {
		exclude 'mcmod.info'
	}
}

artifacts {
	archives sourceJar
}

if (ENV.LOCAL_MAVEN) {
	uploadArchives {
		repositories {
			mavenDeployer {
				repository(url: "file://${ENV.LOCAL_MAVEN}")
			}
		}
	}
}

if (ENV.CURSEFORGE_KEY) {
	curseforge {
		apiKey = ENV.CURSEFORGE_KEY
		project {
			id = "${curseforge_id}"
			releaseType = "release"
			addGameVersion "${mc_version}"
			relations {
				requiredDependency 'ftb-library'
				optionalDependency 'ftb-backups'
				optionalDependency 'journeymap'
			}
			changelog = getGitChangelog
			changelogType = 'markdown'
			addArtifact(sourceJar)
		}
	}
}