2021-06-11 12:02:28 +00:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Zach Brown <zach.brown@destroystokyo.com>
|
|
|
|
Date: Tue, 1 Mar 2016 00:16:08 +0100
|
2021-06-14 01:48:31 +00:00
|
|
|
Subject: [PATCH] Build system changes
|
2021-06-11 12:02:28 +00:00
|
|
|
|
|
|
|
|
2021-06-11 18:06:01 +00:00
|
|
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
2023-09-21 16:48:55 +00:00
|
|
|
index 297c2d28d254f72eb0143d8994a1fb2f39f9b4e8..c7f358649935fe4bad002089274b42d03a1c7d88 100644
|
2021-06-11 18:06:01 +00:00
|
|
|
--- a/build.gradle.kts
|
|
|
|
+++ b/build.gradle.kts
|
2023-08-13 23:32:51 +00:00
|
|
|
@@ -18,15 +18,27 @@ dependencies {
|
|
|
|
api("net.md-5:bungeecord-chat:$bungeeCordChatVersion")
|
2023-06-08 13:25:35 +00:00
|
|
|
api("org.yaml:snakeyaml:2.0")
|
2023-03-14 17:21:11 +00:00
|
|
|
api("org.joml:joml:1.10.5")
|
2021-11-27 06:54:18 +00:00
|
|
|
+ // Paper start
|
|
|
|
+ api("com.googlecode.json-simple:json-simple:1.1.1") {
|
|
|
|
+ isTransitive = false // includes junit
|
|
|
|
+ }
|
|
|
|
+ // Paper end
|
2021-06-11 18:06:01 +00:00
|
|
|
|
2023-06-18 11:03:18 +00:00
|
|
|
compileOnly("org.apache.maven:maven-resolver-provider:3.8.5")
|
|
|
|
compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.3")
|
|
|
|
compileOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.3")
|
2021-06-11 18:06:01 +00:00
|
|
|
+ compileOnly("com.google.code.findbugs:jsr305:1.3.9") // Paper
|
|
|
|
|
2023-06-07 16:24:39 +00:00
|
|
|
- val annotations = "org.jetbrains:annotations-java5:$annotationsVersion"
|
|
|
|
+ val annotations = "org.jetbrains:annotations:$annotationsVersion" // Paper - we don't want Java 5 annotations...
|
2021-06-11 18:06:01 +00:00
|
|
|
compileOnly(annotations)
|
2021-06-14 01:48:31 +00:00
|
|
|
testCompileOnly(annotations)
|
|
|
|
|
2021-09-23 21:07:44 +00:00
|
|
|
+ // Paper start - add checker
|
2021-12-21 09:17:52 +00:00
|
|
|
+ val checkerQual = "org.checkerframework:checker-qual:3.21.0"
|
|
|
|
+ compileOnlyApi(checkerQual)
|
|
|
|
+ testCompileOnly(checkerQual)
|
2021-09-23 21:07:44 +00:00
|
|
|
+ // Paper end
|
|
|
|
+
|
2022-06-08 15:31:27 +00:00
|
|
|
testImplementation("org.apache.commons:commons-lang3:3.12.0")
|
2021-12-20 22:46:51 +00:00
|
|
|
testImplementation("junit:junit:4.13.2")
|
2021-09-23 21:07:44 +00:00
|
|
|
testImplementation("org.hamcrest:hamcrest-library:1.3")
|
2023-09-21 16:48:55 +00:00
|
|
|
@@ -69,8 +81,12 @@ tasks.withType<Javadoc> {
|
2022-03-01 04:38:49 +00:00
|
|
|
options.links(
|
2023-04-07 18:39:13 +00:00
|
|
|
"https://guava.dev/releases/31.1-jre/api/docs/",
|
2023-06-08 13:25:35 +00:00
|
|
|
"https://javadoc.io/doc/org.yaml/snakeyaml/2.0/",
|
2023-06-07 16:24:39 +00:00
|
|
|
- "https://javadoc.io/doc/org.jetbrains/annotations-java5/$annotationsVersion/",
|
|
|
|
+ "https://javadoc.io/doc/org.jetbrains/annotations/$annotationsVersion/", // Paper - we don't want Java 5 annotations
|
2023-08-13 23:32:51 +00:00
|
|
|
"https://javadoc.io/doc/net.md-5/bungeecord-chat/$bungeeCordChatVersion/",
|
2023-09-16 23:35:39 +00:00
|
|
|
+ // Paper start - add missing javadoc links
|
|
|
|
+ "https://javadoc.io/doc/org.joml/joml/1.10.5/index.html",
|
|
|
|
+ "https://www.javadoc.io/doc/com.google.code.gson/gson/2.10",
|
|
|
|
+ // Paper end
|
2021-07-06 03:25:23 +00:00
|
|
|
)
|
2023-04-09 00:00:50 +00:00
|
|
|
options.tags("apiNote:a:API Note:")
|
2023-09-16 23:35:39 +00:00
|
|
|
|
2023-09-21 16:48:55 +00:00
|
|
|
@@ -85,3 +101,14 @@ tasks.withType<Javadoc> {
|
2022-06-27 22:41:59 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
+
|
|
|
|
+// Paper start
|
|
|
|
+val scanJar = tasks.register("scanJarForBadCalls", io.papermc.paperweight.tasks.ScanJarForBadCalls::class) {
|
|
|
|
+ badAnnotations.add("Lio/papermc/paper/annotation/DoNotUse;")
|
|
|
|
+ jarToScan.set(tasks.jar.flatMap { it.archiveFile })
|
|
|
|
+ classpath.from(configurations.compileClasspath)
|
|
|
|
+}
|
|
|
|
+tasks.check {
|
|
|
|
+ dependsOn(scanJar)
|
|
|
|
+}
|
|
|
|
+// Paper end
|
|
|
|
diff --git a/src/main/java/io/papermc/paper/annotation/DoNotUse.java b/src/main/java/io/papermc/paper/annotation/DoNotUse.java
|
|
|
|
new file mode 100644
|
|
|
|
index 0000000000000000000000000000000000000000..4766e49d819e75e5c2127c698b44078bf2fd6219
|
|
|
|
--- /dev/null
|
|
|
|
+++ b/src/main/java/io/papermc/paper/annotation/DoNotUse.java
|
|
|
|
@@ -0,0 +1,18 @@
|
|
|
|
+package io.papermc.paper.annotation;
|
|
|
|
+
|
|
|
|
+import java.lang.annotation.ElementType;
|
|
|
|
+import java.lang.annotation.Retention;
|
|
|
|
+import java.lang.annotation.RetentionPolicy;
|
|
|
|
+import java.lang.annotation.Target;
|
|
|
|
+import org.jetbrains.annotations.ApiStatus;
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * Annotation used to mark methods or constructors which should not be called.
|
|
|
|
+ *
|
|
|
|
+ * <p>Separate from {@link Deprecated} to differentiate from the large amount of deprecations.</p>
|
|
|
|
+ */
|
|
|
|
+@ApiStatus.Internal
|
|
|
|
+@Retention(RetentionPolicy.RUNTIME)
|
|
|
|
+@Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
|
|
|
|
+public @interface DoNotUse {
|
|
|
|
+}
|