Shadow/build.gradle

117 lines
2.7 KiB
Groovy

plugins {
id 'fabric-loom' version '0.10-SNAPSHOT'
id 'maven-publish'
}
repositories {
flatDir {
dirs 'lib'
}
maven {
name = "meteor-maven"
url = "https://maven.meteordev.org"
}
mavenCentral()
}
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
archivesBaseName = project.archives_base_name
version = project.mod_version
group = project.maven_group
minecraft {
}
configurations {
impl
}
loom {
accessWidenerPath = file("src/main/resources/shadow.accessWidener")
}
dependencies {
//to change the versions see the gradle.properties file
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
Set<String> apiModules = [
"fabric-api-base",
"fabric-item-groups-v0",
"fabric-resource-loader-v0"
]
// Add each module as a dependency
apiModules.forEach {
include(modImplementation(fabricApi.module(it, project.fabric_api_version)))
}
// modImplementation ("net.fabricmc.fabric-api:fabric-resource-loader:0.1.0")
compileOnly 'org.projectlombok:lombok:1.18.24'
annotationProcessor 'org.projectlombok:lombok:1.18.24'
impl("meteordevelopment:discord-ipc:1.1")
impl(name: "xauthlib-1.0.0")
impl 'org.java-websocket:Java-WebSocket:1.5.3'
configurations.impl.dependencies.each {
implementation(it)
include(it)
}
}
processResources {
inputs.property "version", project.version
filesMatching("fabric.mod.json") {
expand "version": project.version
}
}
// 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
}
jar {
from "LICENSE"
}
// configure the maven publication
publishing {
publications {
mavenJava(MavenPublication) {
// add all the jars that should be included when publishing to maven
artifact(jar) {
builtBy remapJar
}
artifact("${project.buildDir.absolutePath}/libs/${archivesBaseName}-${project.version}.jar"){
builtBy remapJar
}
artifact(sourcesJar) {
builtBy remapSourcesJar
}
}
}
// select the repositories you want to publish to
repositories {
// uncomment to publish to the local maven
// mavenLocal()
}
}