ViaProxy/build.gradle

212 lines
6.4 KiB
Groovy
Raw Normal View History

import net.raphimc.javadowngrader.gradle.task.DowngradeJarTask
buildscript {
repositories {
maven {
name = "Lenni0451"
url "https://maven.lenni0451.net/everything"
}
}
dependencies {
classpath "net.raphimc.javadowngrader:gradle-plugin:1.0.0"
}
}
2023-01-04 14:58:09 -05:00
plugins {
id "java"
id "application"
2023-01-04 14:58:09 -05:00
id "maven-publish"
id "net.raphimc.class-token-replacer" version "1.0.0"
2023-01-04 14:58:09 -05:00
}
base {
java.toolchain.languageVersion = JavaLanguageVersion.of(17)
compileJava.options.encoding = compileTestJava.options.encoding = javadoc.options.encoding = "UTF-8"
2023-01-12 12:48:45 -05:00
group = project.maven_group ?: rootProject.maven_group
archivesName = project.maven_name ?: rootProject.maven_name
version = project.maven_version ?: rootProject.maven_version
2023-01-12 12:48:45 -05:00
}
2023-01-04 14:58:09 -05:00
configurations {
include
implementation.extendsFrom include
api.extendsFrom include
}
repositories {
mavenCentral()
maven {
name = "Jitpack"
url = "https://jitpack.io"
}
maven {
name = "Lenni0451"
url "https://maven.lenni0451.net/everything"
2023-04-02 15:25:27 -04:00
}
maven {
name = "OpenCollab Releases"
url = "https://repo.opencollab.dev/maven-releases/"
}
maven {
name = "OpenCollab Snapshots"
url = "https://repo.opencollab.dev/maven-snapshots/"
}
2023-01-04 14:58:09 -05:00
maven {
name = "ViaVersion"
url "https://repo.viaversion.com"
}
2023-07-16 10:55:14 -04:00
maven {
name = "Minecraft Libraries"
url "https://libraries.minecraft.net"
}
2023-01-04 14:58:09 -05:00
}
dependencies {
2023-09-09 18:21:24 -04:00
include "com.viaversion:viaversion:4.8.0-1.20.2-pre2-SNAPSHOT"
include("com.viaversion:viabackwards-common:4.8.0-1.20.2-pre2-SNAPSHOT") {
2023-01-04 14:58:09 -05:00
exclude group: "com.viaversion", module: "viaversion"
exclude group: "io.netty", module: "netty-all"
exclude group: "com.google.guava", module: "guava"
}
include "com.viaversion:viarewind-core:3.0.0-SNAPSHOT"
include "net.raphimc:ViaLegacy:2.2.19-SNAPSHOT"
include "net.raphimc:ViaAprilFools:2.0.9-SNAPSHOT"
2023-06-08 08:07:59 -04:00
include("net.raphimc:ViaBedrock:0.0.2-SNAPSHOT") {
2023-04-02 15:25:27 -04:00
exclude group: "io.netty", module: "netty-codec-http"
exclude group: "io.jsonwebtoken", module: "jjwt-impl"
exclude group: "io.jsonwebtoken", module: "jjwt-gson"
}
include("net.raphimc:ViaLoader:2.2.9-SNAPSHOT") {
2023-01-04 14:58:09 -05:00
exclude group: "org.slf4j", module: "slf4j-api"
}
include "com.google.code.gson:gson:2.10.1"
include "com.formdev:flatlaf:3.2.1"
include "com.google.guava:guava:32.1.2-jre"
include "org.apache.commons:commons-lang3:3.13.0"
include "commons-io:commons-io:2.13.0"
2023-01-04 14:58:09 -05:00
include "net.sf.jopt-simple:jopt-simple:5.0.4"
include "org.apache.logging.log4j:log4j-core:2.20.0"
include "org.apache.logging.log4j:log4j-slf4j-impl:2.20.0"
include("com.mojang:authlib:3.16.29") {
exclude group: "org.slf4j", module: "slf4j-api"
}
include "net.lenni0451.classtransform:mixinstranslator:1.11.0-SNAPSHOT"
include "net.lenni0451.classtransform:mixinsdummy:1.11.0-SNAPSHOT"
include "net.lenni0451.classtransform:additionalclassprovider:1.11.0-SNAPSHOT"
include "net.lenni0451:Reflect:1.2.4"
include "net.lenni0451:LambdaEvents:2.2.0"
include "net.raphimc.netminecraft:all:2.3.6-SNAPSHOT"
2023-08-23 15:27:52 -04:00
include("net.raphimc:MinecraftAuth:2.1.6-SNAPSHOT") {
2023-01-05 16:42:15 -05:00
exclude group: "com.google.code.gson", module: "gson"
exclude group: "org.slf4j", module: "slf4j-api"
}
include("net.raphimc.javadowngrader:impl-classtransform:1.0.0") {
2023-05-17 12:08:31 -04:00
exclude group: "org.ow2.asm", module: "asm-commons"
exclude group: "net.lenni0451.classtransform", module: "core"
2023-05-17 12:08:31 -04:00
}
2023-04-02 15:25:27 -04:00
include("org.cloudburstmc.netty:netty-transport-raknet:1.0.0.CR1-SNAPSHOT") {
exclude group: "io.netty", module: "netty-common"
exclude group: "io.netty", module: "netty-buffer"
exclude group: "io.netty", module: "netty-codec"
exclude group: "io.netty", module: "netty-transport"
}
include "gs.mclo:api:3.0.1"
2023-01-04 14:58:09 -05:00
}
sourceSets {
main {
classTokenReplacer {
property("\${version}", project.version)
}
}
2023-01-04 15:54:49 -05:00
}
2023-02-23 14:35:02 -05:00
java {
withSourcesJar()
}
application {
mainClass = "net.raphimc.viaproxy.ViaProxy"
}
2023-01-04 14:58:09 -05:00
jar {
dependsOn configurations.include
from {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
configurations.include.collect {
zipTree(it)
}
} {
exclude "META-INF/*.RSA", "META-INF/*.SF", "META-INF/*.DSA"
}
manifest {
attributes(
"Main-Class": application.mainClass,
2023-01-19 12:57:38 -05:00
"Multi-Release": "true",
"Launcher-Agent-Class": application.mainClass
2023-01-04 14:58:09 -05:00
)
}
from("LICENSE") {
rename { "${it}_${project.name ?: rootProject.name}" }
2023-01-04 14:58:09 -05:00
}
}
publishing {
repositories {
maven {
2023-05-28 12:02:09 -04:00
name = "Via"
2023-05-28 12:00:36 -04:00
url = "https://repo.viaversion.com/"
2023-06-30 17:49:19 -04:00
2023-01-04 14:58:09 -05:00
credentials(PasswordCredentials)
authentication {
basic(BasicAuthentication)
}
}
}
publications {
maven(MavenPublication) {
groupId = project.maven_group
artifactId = project.maven_name
version = project.maven_version
from components.java
2023-06-30 17:49:19 -04:00
pom {
name = "ViaProxy"
description = "Standalone proxy which allows players to join EVERY Minecraft server version (Classic, Alpha, Beta, Release, Bedrock)"
url = "https://github.com/ViaVersion/ViaProxy"
licenses {
license {
name = "GPL-3.0 License"
url = "https://github.com/ViaVersion/ViaProxy/blob/main/LICENSE"
}
}
developers {
developer {
id = "RK_01"
}
}
scm {
connection = "scm:git:git://github.com/ViaVersion/ViaProxy.git"
developerConnection = "scm:git:ssh://github.com/ViaVersion/ViaProxy.git"
url = "https://github.com/ViaVersion/ViaProxy.git"
}
}
2023-01-04 14:58:09 -05:00
}
}
}
tasks.register("java8Jar", DowngradeJarTask) {
input = tasks.jar.archiveFile.get().asFile
outputSuffix = "+java8"
compileClassPath = sourceSets.main.compileClasspath
copyRuntimeClasses = false
}.get().dependsOn("build")
build.finalizedBy("java8Jar")