plugins {
	id 'fabric-loom' version '0.10-SNAPSHOT'
	id 'maven-publish'
}

sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17

archivesBaseName = project.archives_base_name
version = project.mod_version
group = project.maven_group

loom {
	accessWidenerPath = file("src/main/resources/colored_lights.accesswidener")
}

repositories {
	maven { url = "https://maven.gegy.dev/" }
}

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

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

	modRuntimeOnly ("supercoder79:databreaker:0.2.9") {
		exclude module : "fabric-loader"
	}
}

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

	filesMatching("fabric.mod.json") {
		expand "version": project.version
	}
}

tasks.withType(JavaCompile).configureEach {
	it.options.encoding = "UTF-8"
	it.options.release = 17
}

java {
	withSourcesJar()
}

jar {
	from("LICENSE") {
		rename { "${it}_${project.archivesBaseName}"}
	}
}

publishing {
	publications {
		mavenJava(MavenPublication) {
			artifact(remapJar) {
				builtBy remapJar
			}
			artifact(sourcesJar) {
				builtBy remapSourcesJar
			}
		}
	}

	repositories {
		def env = System.getenv()
		if (env.MAVEN_URL) {
			maven {
				credentials {
					username env.MAVEN_USERNAME
					password env.MAVEN_PASSWORD
				}
				url env.MAVEN_URL
			}
		} else {
			mavenLocal()
		}
	}
}
