Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-11-15 04:20:04 +01:00
89 Zeilen
2.6 KiB
Diff
89 Zeilen
2.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Kyle Wood <demonwav@gmail.com>
|
|
Date: Thu, 10 Dec 2020 20:50:33 -0800
|
|
Subject: [PATCH] Convert project to Gradle
|
|
|
|
|
|
diff --git a/.gitignore b/.gitignore
|
|
index e431e3435737e28394d81b56568a08b3c3148b9b..c484aff2c192bf42059b5689327909e4af654401 100644
|
|
--- a/.gitignore
|
|
+++ b/.gitignore
|
|
@@ -1,3 +1,5 @@
|
|
+.gradle/
|
|
+
|
|
# Eclipse stuff
|
|
/.classpath
|
|
/.project
|
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..271a6672e7fe9ce51bf96c8c18f5579fc47b2414
|
|
--- /dev/null
|
|
+++ b/build.gradle.kts
|
|
@@ -0,0 +1,66 @@
|
|
+import java.util.Locale
|
|
+
|
|
+plugins {
|
|
+ `java-library`
|
|
+ `maven-publish`
|
|
+}
|
|
+
|
|
+java {
|
|
+ withSourcesJar()
|
|
+ withJavadocJar()
|
|
+}
|
|
+
|
|
+dependencies {
|
|
+ // api dependencies are listed transitively to API consumers
|
|
+ api("commons-lang:commons-lang:2.6")
|
|
+ api("com.google.guava:guava:21.0")
|
|
+ api("com.google.code.gson:gson:2.8.0")
|
|
+ api("net.md-5:bungeecord-chat:1.16-R0.4")
|
|
+ api("org.yaml:snakeyaml:1.29")
|
|
+
|
|
+ compileOnly("org.apache.maven:maven-resolver-provider:3.8.1")
|
|
+ compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0")
|
|
+ compileOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.0")
|
|
+
|
|
+ val annotations = "org.jetbrains:annotations-java5:21.0.1"
|
|
+ compileOnly(annotations)
|
|
+ testCompileOnly(annotations)
|
|
+
|
|
+ testImplementation("junit:junit:4.13.1")
|
|
+ testImplementation("org.hamcrest:hamcrest-library:1.3")
|
|
+ testImplementation("org.ow2.asm:asm-tree:9.1")
|
|
+}
|
|
+
|
|
+configure<PublishingExtension> {
|
|
+ publications.create<MavenPublication>("maven") {
|
|
+ from(components["java"])
|
|
+ }
|
|
+}
|
|
+
|
|
+val generateApiVersioningFile by tasks.registering {
|
|
+ val pomProps = layout.buildDirectory.file("pom.properties")
|
|
+ outputs.file(pomProps)
|
|
+ doLast {
|
|
+ pomProps.get().asFile.writeText("version=${project.version}")
|
|
+ }
|
|
+}
|
|
+
|
|
+tasks.jar {
|
|
+ from(generateApiVersioningFile.map { it.outputs.files.singleFile }) {
|
|
+ into("META-INF/maven/${project.group}/${project.name.toLowerCase(Locale.ENGLISH)}")
|
|
+ }
|
|
+ manifest {
|
|
+ attributes += mapOf(
|
|
+ "Automatic-Module-Name" to "org.bukkit"
|
|
+ )
|
|
+ }
|
|
+}
|
|
+
|
|
+tasks.withType<Javadoc>().configureEach {
|
|
+ (options as StandardJavadocDocletOptions).links(
|
|
+ "https://guava.dev/releases/21.0/api/docs/",
|
|
+ "https://javadoc.io/doc/org.yaml/snakeyaml/1.27/",
|
|
+ "https://javadoc.io/doc/org.jetbrains/annotations-java5/20.1.0/",
|
|
+ "https://javadoc.io/doc/net.md-5/bungeecord-chat/1.16-R0.4/"
|
|
+ )
|
|
+}
|