This repository has been archived on 2023-11-26. You can view files and clone it, but cannot push or open issues or pull requests.
ScriptCraft/scriptcraft/build.gradle.kts

98 lines
2.5 KiB
Plaintext

plugins {
id("fabric-loom") version "0.2.7-SNAPSHOT"
id("jni")
id("com.thebrokenrail.scriptcraft")
`maven-publish`
}
minecraft {
}
base.archivesBaseName = project.property("archives_base_name") as String
version = project.property("minecraft_version")!!
group = project.property("maven_group")!!
dependencies {
minecraft("com.mojang:minecraft:${project.property("minecraft_version")}")
mappings("net.fabricmc:yarn:${project.property("minecraft_version")}+build.${project.property("yarn_build")}:v2")
modImplementation("net.fabricmc:fabric-loader:${project.property("fabric_loader_version")}")
modImplementation("net.fabricmc.fabric-api:fabric-api:${project.property("fabric_api_version")}")
}
jni {
addPlatform("linux-x86_64", ".so")
addPlatform("linux-x86", ".so")
addPlatform("linux-armhf", ".so")
addPlatform("linux-arm64", ".so")
addPlatform("windows-x86_64", ".dll")
addPlatform("windows-x86", ".dll")
}
tasks.register<ScriptCraftPlugin.NPMTask>("eslint") {
group = "verification"
taskName = "eslint"
}
tasks.register<ScriptCraftPlugin.NPMTask>("typedoc") {
group = "documentation"
taskName = "typedoc"
outputDir = "build/typedoc"
}
tasks.named<Copy>("processResources") {
inputs.property("name", rootProject.name)
from(sourceSets["main"].resources.srcDirs) {
include("fabric.mod.json")
expand("name" to rootProject.name)
}
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"
}
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_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.
tasks.register<Jar>("sourcesJar") {
archiveClassifier.set("sources")
from(sourceSets["main"].allSource)
}
artifacts {
add("archives", tasks["sourcesJar"])
}
tasks.named<Jar>("jar") {
from("LICENSE")
}
publishing {
publications {
create<MavenPublication>("mavenJava") {
artifactId = project.property("archives_base_name") as String
artifact(tasks["remapJar"])
artifact(tasks["apiJar"])
}
}
repositories {
maven {
url = uri("/data/maven")
}
}
}