This commit is contained in:
1 parent
bbccd4a815
commit
71396a86a0
581 files changed
+9084
-38713
No files matched your search
+160
@@ -0,0 +1,160 @@
|
||||
import groovy.json.JsonSlurper
|
||||
|
||||
plugins {
|
||||
id 'java'
|
||||
id 'com.gradleup.shadow' version '9.6.0'
|
||||
}
|
||||
|
||||
group = 'de.maxhenkel.voicechat'
|
||||
version = findProperty('buildVersion') ?: '1.0.0'
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||
targetCompatibility = JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven { url = 'https://hub.spigotmc.org/nexus/content/groups/public/' }
|
||||
maven { url = 'https://libraries.minecraft.net/' }
|
||||
maven { url = 'https://repo.extendedclip.com/content/repositories/placeholderapi/' }
|
||||
maven { url = 'https://maven.maxhenkel.de/repository/public' }
|
||||
maven { url = 'https://repo.viaversion.com/' }
|
||||
}
|
||||
|
||||
configurations {
|
||||
shadow
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compileOnly 'org.bukkit:bukkit:1.8.8-R0.1-SNAPSHOT'
|
||||
compileOnly 'com.google.code.findbugs:jsr305:3.0.2'
|
||||
compileOnly 'me.clip:placeholderapi:2.12.2'
|
||||
compileOnly 'com.viaversion:viaversion-bukkit:5.7.2'
|
||||
compileOnly 'com.viaversion:viaversion-common:5.7.2'
|
||||
|
||||
implementation 'io.netty:netty-all:4.1.132.Final'
|
||||
|
||||
implementation 'org.json:json:20251224'
|
||||
shadow 'org.json:json:20251224'
|
||||
implementation 'me.lucko:commodore:2.2'
|
||||
shadow 'me.lucko:commodore:2.2'
|
||||
implementation 'org.concentus:Concentus:1.0.1'
|
||||
shadow 'org.concentus:Concentus:1.0.1'
|
||||
implementation 'de.maxhenkel.configbuilder:configbuilder:2.1.0'
|
||||
shadow 'de.maxhenkel.configbuilder:configbuilder:2.1.0'
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java {
|
||||
srcDirs = [
|
||||
'source/api/src/main/java',
|
||||
'source/bukkit/src/main/java',
|
||||
layout.buildDirectory.dir('generated/sources/java').get().asFile
|
||||
]
|
||||
}
|
||||
resources {
|
||||
srcDirs = ['source/bukkit/src/main/resources']
|
||||
exclude 'plugin.yml'
|
||||
}
|
||||
}
|
||||
test {
|
||||
java {
|
||||
srcDirs = ['tests']
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tasks.withType(JavaCompile).configureEach {
|
||||
options.encoding = 'UTF-8'
|
||||
options.release = 8
|
||||
}
|
||||
|
||||
tasks.register('generateBuildConstants', Copy) {
|
||||
from 'source/bukkit/src/template/java'
|
||||
into layout.buildDirectory.dir('generated/sources/java')
|
||||
expand compatibility_version: '20',
|
||||
mod_compatible_version: '2.6.x',
|
||||
target_bukkit_version: '1.8.8-R0.1-SNAPSHOT',
|
||||
plugin_name: 'Simple Voice Chat'
|
||||
}
|
||||
compileJava.dependsOn tasks.named('generateBuildConstants')
|
||||
|
||||
tasks.register('generateFallbackTranslations') {
|
||||
def inputFile = file('source/common/src/main/resources/assets/voicechat/lang/en_us.json')
|
||||
def outputFile = layout.buildDirectory.file('generated/sources/java/de/maxhenkel/voicechat/FallbackTranslations.java')
|
||||
inputs.file inputFile
|
||||
outputs.file outputFile
|
||||
|
||||
doLast {
|
||||
def translations = new JsonSlurper().parse(inputFile)
|
||||
def output = new StringBuilder('''package de.maxhenkel.voicechat;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class FallbackTranslations {
|
||||
public static final Map<String, String> FALLBACK_TRANSLATIONS;
|
||||
static {
|
||||
Map<String, String> translations = new HashMap<>();
|
||||
''')
|
||||
translations.each { key, value ->
|
||||
def k = key.toString().replace('\\', '\\\\').replace('\n', '\\n').replace('"', '\\"')
|
||||
def v = value.toString().replace('\\', '\\\\').replace('\n', '\\n').replace('"', '\\"')
|
||||
output.append(" translations.put(\"${k}\", \"${v}\");\n")
|
||||
}
|
||||
output.append(''' FALLBACK_TRANSLATIONS = Collections.unmodifiableMap(translations);
|
||||
}
|
||||
}
|
||||
''')
|
||||
outputFile.get().asFile.parentFile.mkdirs()
|
||||
outputFile.get().asFile.text = output.toString()
|
||||
}
|
||||
}
|
||||
compileJava.dependsOn tasks.named('generateFallbackTranslations')
|
||||
|
||||
processResources {
|
||||
from('plugin.yml') {
|
||||
filter { String line ->
|
||||
line.startsWith('version:') ? "version: '${project.version}'" : line
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tasks.named('jar') {
|
||||
archiveClassifier = 'dev'
|
||||
}
|
||||
|
||||
shadowJar {
|
||||
configurations = [project.configurations.shadow]
|
||||
archiveClassifier = ''
|
||||
archiveFileName = "AsminVoiceChat-${project.version}.jar"
|
||||
from('LICENSE-upstream.txt') {
|
||||
rename { 'LICENSE_SimpleVoiceChat' }
|
||||
}
|
||||
relocate 'org.json', 'de.maxhenkel.voicechat.org.json'
|
||||
relocate 'me.lucko.commodore', 'de.maxhenkel.voicechat.commodore'
|
||||
relocate 'org.concentus', 'de.maxhenkel.voicechat.concentus'
|
||||
relocate 'de.maxhenkel.configbuilder', 'de.maxhenkel.voicechat.configbuilder'
|
||||
dependencies {
|
||||
exclude(dependency('com.mojang:brigadier:.*'))
|
||||
exclude(dependency('com.google.code.findbugs:jsr305:.*'))
|
||||
}
|
||||
}
|
||||
|
||||
tasks.named('build') {
|
||||
dependsOn 'shadowJar'
|
||||
dependsOn 'cryptoTest'
|
||||
}
|
||||
|
||||
tasks.register('cryptoTest', JavaExec) {
|
||||
dependsOn tasks.named('testClasses')
|
||||
classpath = sourceSets.test.runtimeClasspath + files(shadowJar.archiveFile)
|
||||
mainClass = 'ProtocolCryptoSelfTest'
|
||||
}
|
||||
|
||||
tasks.withType(Test).configureEach {
|
||||
failOnNoDiscoveredTests = false
|
||||
}
|
||||
Reference in new issue
Block a user