plugins {
	id 'fabric-loom' version '0.5-SNAPSHOT'
}

compileJava {
	sourceCompatibility = JavaVersion.VERSION_1_8
	targetCompatibility = JavaVersion.VERSION_1_8
}

def mod_version = project.mod_version as Object
version = "${mod_version}+${project.minecraft_version}"
group = project.maven_group as Object

minecraft {
}

dependencies {
	minecraft "com.mojang:minecraft:${project.minecraft_version}"
	mappings "net.fabricmc:yarn:${project.minecraft_version}+build.${project.yarn_build}:v2"
	modImplementation "net.fabricmc:fabric-loader:${project.fabric_loader_version}"
	modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_api_version}"
}

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'
	}
}

// ensure that the encoding is set to UTF-8, no matter what the system default is
// this fixes some edge cases with special characters not displaying correctly
// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
tasks.withType(JavaCompile) {
	options.encoding = 'UTF-8'
}

// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
// if it is present.
// If you remove this task, sources will not be generated.
task sourcesJar(type: Jar, dependsOn: classes) {
	classifier 'sources'
	from sourceSets.main.allSource
	from sourceSets.main.resources
}

task javadocJar(type: Jar, dependsOn: javadoc) {
	classifier 'javadoc'
	from javadoc.destinationDir
}

artifacts {
	archives sourcesJar
	archives javadocJar
}

jar {
	from "LICENSE"
}