Arclight/arclight-common/build.gradle

144 lines
4.9 KiB
Groovy
Raw Normal View History

buildscript {
repositories {
2021-07-24 10:53:37 +00:00
maven { url = 'https://maven.minecraftforge.net' }
maven { url = 'https://repo.spongepowered.org/maven' }
mavenCentral()
2021-01-21 10:13:12 +00:00
maven { url = 'https://maven.izzel.io/releases' }
2023-01-17 09:38:42 +00:00
// maven { url = 'https://maven.parchmentmc.org' }
}
dependencies {
2021-08-26 14:17:58 +00:00
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: "${forge_gradle_version}", changing: true
2023-01-17 09:38:42 +00:00
// classpath 'org.parchmentmc:librarian:1.+'
2021-07-27 16:08:18 +00:00
classpath 'org.spongepowered:mixingradle:0.7.2-SNAPSHOT'
2021-07-26 12:20:33 +00:00
classpath "io.izzel.arclight:arclight-gradle-plugin:$agpVersion"
}
}
apply plugin: 'net.minecraftforge.gradle'
2023-01-17 09:38:42 +00:00
// apply plugin: 'org.parchmentmc.librarian.forgegradle'
apply plugin: 'org.spongepowered.mixin'
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'io.izzel.arclight'
arclight {
mcVersion = minecraftVersion
forgeVersion = project.ext.forgeVersion
bukkitVersion = 'v1_20_R1'
wipeVersion = true
reobfVersion = true
2020-07-05 09:29:40 +00:00
accessTransformer = project.file('bukkit.at')
2021-07-24 10:53:37 +00:00
// packageName = 'spigot'
}
configurations {
embed
}
java.toolchain.languageVersion = JavaLanguageVersion.of(17)
minecraft {
//mappings channel: 'parchment', version: "2021.08.22-$minecraftVersion"
2021-12-12 06:28:50 +00:00
mappings channel: 'official', version: minecraftVersion
2023-06-18 15:15:35 +00:00
// copyIdeResources = true
accessTransformer = project.file('src/main/resources/META-INF/accesstransformer.cfg')
2020-05-21 02:33:47 +00:00
}
repositories {
maven { url = 'https://repo.spongepowered.org/maven' }
maven { url = 'https://oss.sonatype.org/content/repositories/snapshots/' }
maven { url = 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' }
maven { url = 'https://files.minecraftforge.net/maven/' }
maven { url = 'https://maven.izzel.io/releases' }
2022-10-06 07:37:18 +00:00
maven { url = 'https://jitpack.io/' }
mavenCentral()
2020-05-21 02:33:47 +00:00
}
dependencies {
minecraft "net.minecraftforge:forge:$minecraftVersion-$forgeVersion"
implementation "org.spigotmc:spigot-api:$minecraftVersion-R0.1-SNAPSHOT@jar"
implementation 'org.jetbrains:annotations:23.0.0'
2021-07-24 10:53:37 +00:00
2021-09-08 05:19:27 +00:00
implementation "org.spongepowered:mixin:$mixinVersion"
2021-07-26 12:20:33 +00:00
annotationProcessor 'org.spongepowered:mixin:0.8.3:processor'
2021-07-24 10:53:37 +00:00
implementation 'com.github.ArclightTeam:mixin-tools:1.0.0'
annotationProcessor 'com.github.ArclightTeam:mixin-tools:1.0.0'
2021-07-24 10:53:37 +00:00
implementation 'jline:jline:2.12.1'
implementation 'net.md-5:SpecialSource:1.11.0'
2021-12-12 06:28:50 +00:00
implementation 'org.apache.logging.log4j:log4j-jul:2.15.0'
implementation 'net.md-5:bungeecord-chat:1.16-R0.4'
implementation 'mysql:mysql-connector-java:5.1.49'
implementation 'org.yaml:snakeyaml:2.0'
2021-06-13 14:06:33 +00:00
implementation "io.izzel:tools:$toolsVersion"
implementation "io.izzel.arclight:arclight-api:$apiVersion"
implementation project(':i18n-config')
embed 'net.md-5:bungeecord-chat:1.16-R0.4@jar'
embed "org.spigotmc:spigot-api:$minecraftVersion-R0.1-SNAPSHOT@jar"
2020-05-21 02:33:47 +00:00
}
jar {
manifest.attributes 'MixinConnector': 'io.izzel.arclight.common.mod.ArclightConnector'
manifest.attributes 'Implementation-Title': 'Arclight'
manifest.attributes 'Implementation-Version': "arclight-$minecraftVersion-${project.version}-$gitHash"
manifest.attributes 'Implementation-Vendor': 'Arclight Team'
manifest.attributes 'Implementation-Timestamp': new Date().format("yyyy-MM-dd HH:mm:ss")
2023-04-15 01:42:59 +00:00
from { configurations.embed.collect { it.isDirectory() ? it : zipTree(it) } } {
exclude "META-INF/MANIFEST.MF"
exclude "META-INF/*.SF"
exclude "META-INF/*.DSA"
exclude "META-INF/*.RSA"
exclude "LICENSE.txt"
exclude "META-INF/services/**"
exclude "org/apache/commons/lang/enum/**"
}
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
2023-04-15 01:42:59 +00:00
tasks.register('srgJar', Jar) {
2021-10-27 13:45:37 +00:00
from(tasks.jar.outputs.files.collect { it.isDirectory() ? it : zipTree(it) }) {
include 'io/izzel/**'
exclude 'io/izzel/arclight/common/mixin/**'
}
archiveClassifier.set('srg')
}
2023-04-15 01:42:59 +00:00
tasks.register('spigotJar', Jar) {
2021-10-27 13:45:37 +00:00
with tasks.srgJar
doLast {
def task = tasks.create('renameSpigotJar', net.minecraftforge.gradle.userdev.tasks.RenameJarInPlace)
task.input.set(archiveFile.get().asFile)
task.hasLog = false
task.mappings.set(project.file('build/arclight_cache/tmp_srg/bukkit_srg.srg'))
task.args.add('--reverse')
task.apply()
}
archiveClassifier.set('spigot')
}
2021-10-27 10:07:14 +00:00
afterEvaluate {
tasks.reobfJar.configure {
it.extraMappings.from(project.files('extra_mapping.tsrg'))
}
}
processResources {
filesMatching("**/mods.toml") {
expand 'version': "$minecraftVersion-${project.version}-$gitHash"
}
}
remapSpigotJar {
includes.add('net/minecraft/world/level/block/ChestBlock$DoubleInventory')
}
mixin {
add sourceSets.main, 'mixins.arclight.refmap.json'
}
compileJava {
options.compilerArgs << '-XDignore.symbol.file' << '-XDenableSunApiLintControl'
options.encoding = 'UTF-8'
}