mirror of
https://github.com/Melledy/Grasscutter.git
synced 2024-11-22 07:37:43 +00:00
5c4c62c1ed
Update languages [skip actions] Fix whitespace [skip actions] Refactor Entity data Clean up excels Make PlayerBuffManager::removeBuff actually remove buff Remove LinkedList usage https://twitter.com/joshbloch/status/583813919019573248 Add FIGHT_PROP_CUR_DEFENSE alias to setstats (closes #1929) Update gradle wrapper (closes #1076) Add warnings to ancient deprecated Banners.json fields Will probably turn these into runtime errors in 1.5.0, people need to stop sharing configs with dead fields and especially stop making PRs with them. 3.2 First Half Banners (closes #1932) Reimplement namecard claiming (fixes #1882) Kill console on IOError Refactor command kwarg parsing Update roomSceneId obfuscated names (#1926) Add the new keys (3.2 Support) (#1923) Update README_ja-JP.md (#1922) Fix Mail SendToAll Freeze (#1913) Remove deprecated constructor call Debug system (#1894) [Security][Bugfix] Fix directory traversal exploit (#1907) Updated spanish translations (#1911) Don't override en-us gacha strings with vietnamese Fix gacha history internal server error Fix CONTIBUTING typo in protect_files.yml Remove compilation warning on Language.java Version 1.4.3-dev [skip actions]
280 lines
8.3 KiB
Groovy
280 lines
8.3 KiB
Groovy
/*
|
|
* This file was generated by the Gradle 'init' task.
|
|
*
|
|
* This generated file contains a sample Java project to get you started.
|
|
* For more details take a look at the Java Quickstart chapter in the Gradle
|
|
* User Manual available at https://docs.gradle.org/5.6.3/userguide/tutorial_java_projects.html
|
|
*/
|
|
|
|
buildscript {
|
|
repositories {
|
|
maven { url "https://plugins.gradle.org/m2/" }
|
|
}
|
|
dependencies {
|
|
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18'
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
// Apply the application plugin to add support for building a CLI application
|
|
id 'application'
|
|
|
|
// Apply the java plugin to add support for Java
|
|
id 'java'
|
|
|
|
// Apply the protobuf auto generator
|
|
id 'com.google.protobuf' version "0.8.18"
|
|
|
|
// Eclipse Support
|
|
id 'eclipse'
|
|
|
|
// IntelliJ Support
|
|
id 'idea'
|
|
|
|
// Maven
|
|
id 'maven-publish'
|
|
id 'signing'
|
|
}
|
|
|
|
compileJava.options.encoding = "UTF-8"
|
|
compileTestJava.options.encoding = "UTF-8"
|
|
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
|
|
group = 'xyz.grasscutters'
|
|
version = '1.4.3'
|
|
|
|
sourceCompatibility = 17
|
|
targetCompatibility = 17
|
|
|
|
java {
|
|
withJavadocJar()
|
|
withSourcesJar()
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
implementation fileTree(dir: 'lib', include: ['*.jar'])
|
|
|
|
implementation group: 'it.unimi.dsi', name: 'fastutil', version: '8.5.8'
|
|
|
|
implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.36'
|
|
implementation group: 'ch.qos.logback', name: 'logback-core', version: '1.2.11'
|
|
implementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.11'
|
|
|
|
implementation group: 'org.jline', name: 'jline', version: '3.21.0'
|
|
implementation group: 'org.jline', name: 'jline-terminal-jna', version: '3.21.0'
|
|
implementation group: 'net.java.dev.jna', name: 'jna', version: '5.10.0'
|
|
|
|
implementation group: 'io.netty', name: 'netty-common', version: '4.1.79.Final'
|
|
implementation group: 'io.netty', name: 'netty-handler', version: '4.1.79.Final'
|
|
implementation group: 'io.netty', name: 'netty-transport-native-epoll', version: '4.1.79.Final'
|
|
implementation group: 'io.netty', name: 'netty-transport-native-kqueue', version: '4.1.79.Final'
|
|
|
|
implementation group: 'com.google.code.gson', name: 'gson', version: '2.9.0'
|
|
implementation group: 'com.google.protobuf', name: 'protobuf-java', version: '3.18.2'
|
|
|
|
implementation group: 'org.reflections', name: 'reflections', version: '0.10.2'
|
|
|
|
implementation group: 'dev.morphia.morphia', name: 'morphia-core', version: '2.2.7'
|
|
|
|
implementation group: 'org.greenrobot', name: 'eventbus-java', version: '3.3.1'
|
|
//implementation group: 'org.danilopianini', name: 'java-quadtree', version: '0.1.9'
|
|
|
|
implementation group: 'org.quartz-scheduler', name: 'quartz', version: '2.3.2'
|
|
implementation group: 'org.quartz-scheduler', name: 'quartz-jobs', version: '2.3.2'
|
|
|
|
implementation group: 'org.luaj', name: 'luaj-jse', version: '3.0.1'
|
|
|
|
implementation group: 'com.esotericsoftware', name : 'reflectasm', version: '1.11.9'
|
|
implementation group: 'com.github.davidmoten', name : 'rtree-multi', version: '0.1'
|
|
|
|
implementation group: 'io.javalin', name: 'javalin', version: '4.6.4'
|
|
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.13.3'
|
|
|
|
protobuf files('proto/')
|
|
|
|
compileOnly 'org.projectlombok:lombok:1.18.24'
|
|
annotationProcessor 'org.projectlombok:lombok:1.18.24'
|
|
testCompileOnly 'org.projectlombok:lombok:1.18.24'
|
|
testAnnotationProcessor 'org.projectlombok:lombok:1.18.24'
|
|
}
|
|
|
|
configurations.all {
|
|
exclude group: 'org.slf4j', module: 'slf4j'
|
|
}
|
|
|
|
application {
|
|
// Define the main class for the application
|
|
getMainClass().set('emu.grasscutter.Grasscutter')
|
|
}
|
|
|
|
|
|
jar {
|
|
exclude '*.proto'
|
|
|
|
manifest {
|
|
attributes 'Main-Class': 'emu.grasscutter.Grasscutter'
|
|
}
|
|
|
|
archiveBaseName = 'grasscutter'
|
|
if (project.hasProperty('jarFilename')) {
|
|
archiveFileName = "${jarFilename}.${extension}"
|
|
}
|
|
|
|
from {
|
|
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
|
|
}
|
|
|
|
duplicatesStrategy = DuplicatesStrategy.INCLUDE
|
|
|
|
from('src/main/java') {
|
|
include '*.xml'
|
|
}
|
|
|
|
destinationDirectory = file(".")
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
mavenJava(MavenPublication) {
|
|
artifactId = 'grasscutter'
|
|
from components.java
|
|
versionMapping {
|
|
usage('java-api') {
|
|
fromResolutionOf('runtimeClasspath')
|
|
}
|
|
usage('java-runtime') {
|
|
fromResolutionResult()
|
|
}
|
|
}
|
|
pom {
|
|
name = 'Grasscutter'
|
|
description = 'A server software reimplementation for an anime game.'
|
|
url = 'https://github.com/Grasscutters/Grasscutter'
|
|
licenses {
|
|
license {
|
|
name = 'The Apache License, Version 2.0'
|
|
url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
|
|
}
|
|
}
|
|
developers {
|
|
developer {
|
|
id = 'meledy'
|
|
name = 'Meledy'
|
|
email = 'meledy@grasscutter.io' // not a real email kek
|
|
}
|
|
}
|
|
scm {
|
|
connection = 'scm:git:git@github.com:Grasscutters/Grasscutter.git'
|
|
developerConnection = 'scm:git:ssh://github.com:Grasscutters/Grasscutter.git'
|
|
url = 'https://github.com/Grasscutters/Grasscutter'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
repositories {
|
|
maven {
|
|
if(version.endsWith('-dev')) {
|
|
println ("Publishing to 4benj-maven")
|
|
url 'https://repo.4benj.com/releases'
|
|
name '4benj-maven'
|
|
credentials {
|
|
username System.getenv('benj_maven_username')
|
|
password System.getenv('benj_maven_token')
|
|
}
|
|
} else {
|
|
println ("Publishing to sonatype")
|
|
def releasesRepoUrl = 'https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/'
|
|
def snapshotsRepoUrl = 'https://s01.oss.sonatype.org/content/repositories/snapshots/'
|
|
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
|
|
|
|
name = 'sonatype'
|
|
credentials(PasswordCredentials)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
clean {
|
|
delete protobuf.generatedFilesBaseDir
|
|
}
|
|
|
|
protobuf {
|
|
protoc {
|
|
// The artifact spec for the Protobuf Compiler
|
|
artifact = 'com.google.protobuf:protoc:3.18.1'
|
|
}
|
|
// generatedFilesBaseDir = "$projectDir/src/main/java/emu/grasscutter/net/proto/"
|
|
generatedFilesBaseDir = "$projectDir/src/generated/"
|
|
}
|
|
|
|
sourceSets {
|
|
main {
|
|
proto {
|
|
// In addition to the default 'src/main/proto'
|
|
srcDir 'src/generated'
|
|
}
|
|
java {
|
|
srcDir 'src/java'
|
|
}
|
|
}
|
|
}
|
|
|
|
idea {
|
|
module {
|
|
// proto files and generated Java files are automatically added as
|
|
// source dirs.
|
|
// If you have additional sources, add them here:
|
|
sourceDirs += file("/proto/");
|
|
}
|
|
}
|
|
|
|
eclipse {
|
|
classpath {
|
|
file.whenMerged { cp ->
|
|
cp.entries.add( new org.gradle.plugins.ide.eclipse.model.SourceFolder('src/generated/main/java', null) )
|
|
}
|
|
}
|
|
}
|
|
|
|
signing {
|
|
if(!version.endsWith('-dev')) {
|
|
sign publishing.publications.mavenJava
|
|
}
|
|
}
|
|
|
|
javadoc {
|
|
options.encoding = 'UTF-8'
|
|
if(JavaVersion.current().isJava9Compatible()) {
|
|
options.addBooleanOption('html5', true)
|
|
}
|
|
}
|
|
|
|
task injectGitHash {
|
|
def gitCommitHash = {
|
|
try {
|
|
return 'git rev-parse --verify --short HEAD'.execute().text.trim()
|
|
} catch (ignored) {
|
|
return "GIT_NOT_FOUND"
|
|
}
|
|
}
|
|
|
|
new File(projectDir, "src/main/java/emu/grasscutter/BuildConfig.java").text =
|
|
"""package emu.grasscutter;
|
|
|
|
public final class BuildConfig {
|
|
public static final String VERSION = \"${version}\";
|
|
public static final String GIT_HASH = \"${gitCommitHash()}\";
|
|
}"""
|
|
|
|
}
|
|
|
|
processResources {
|
|
dependsOn "generateProto"
|
|
}
|