3996e6ef29
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: c7c11188 SPIGOT-2620: Add Player#sendBlockChanges() f63d2b44 Improve annotation test on parameters 3372e7b4 SPIGOT-1244, SPIGOT-6860, SPIGOT-6874: Various Javadoc and formatting fixes a1e8a9ab PR-793: Ignore .checkstyle file generated by Eclipse IDE CraftBukkit Changes: c2c39089e SPIGOT-2620: Add Player#sendBlockChanges() 8209158db PR-1113: Ignore .checkstyle file generated by Eclipse IDE Spigot Changes: 4aa5ead2 Rebuild patches
373 Zeilen
14 KiB
Diff
373 Zeilen
14 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Kyle Wood <kyle@denwav.dev>
|
|
Date: Thu, 10 Dec 2020 20:50:33 -0800
|
|
Subject: [PATCH] Convert project to Gradle
|
|
|
|
The pom.xml file is deleted in this patch so the patch will fail to
|
|
apply if there are changes made to it from upstream - thus notifying us
|
|
that changes were made.
|
|
|
|
diff --git a/.gitignore b/.gitignore
|
|
index 11038da2e071699d6561a331565db0c8d7850d0e..317acfec5894101294a55abff61819431e6a5e65 100644
|
|
--- a/.gitignore
|
|
+++ b/.gitignore
|
|
@@ -1,3 +1,5 @@
|
|
+.gradle/
|
|
+
|
|
# Eclipse stuff
|
|
/.classpath
|
|
/.project
|
|
@@ -31,3 +33,7 @@
|
|
*.ipr
|
|
*.iws
|
|
.idea/
|
|
+
|
|
+# vs code
|
|
+/.vscode
|
|
+/.factorypath
|
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..16776e693165758e47152eb6726969426f180f14
|
|
--- /dev/null
|
|
+++ b/build.gradle.kts
|
|
@@ -0,0 +1,81 @@
|
|
+plugins {
|
|
+ `java-library`
|
|
+ `maven-publish`
|
|
+}
|
|
+
|
|
+java {
|
|
+ withSourcesJar()
|
|
+ withJavadocJar()
|
|
+}
|
|
+
|
|
+dependencies {
|
|
+ // api dependencies are listed transitively to API consumers
|
|
+ api("com.google.guava:guava:31.0.1-jre")
|
|
+ api("com.google.code.gson:gson:2.8.9")
|
|
+ api("net.md-5:bungeecord-chat:1.16-R0.4")
|
|
+ api("org.yaml:snakeyaml:1.32")
|
|
+
|
|
+ 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")
|
|
+
|
|
+ val annotations = "org.jetbrains:annotations-java5:23.0.0"
|
|
+ compileOnly(annotations)
|
|
+ testCompileOnly(annotations)
|
|
+
|
|
+ testImplementation("org.apache.commons:commons-lang3:3.12.0")
|
|
+ testImplementation("junit:junit:4.13.2")
|
|
+ testImplementation("org.hamcrest:hamcrest-library:1.3")
|
|
+ testImplementation("org.ow2.asm:asm-tree:9.3")
|
|
+}
|
|
+
|
|
+configure<PublishingExtension> {
|
|
+ publications.create<MavenPublication>("maven") {
|
|
+ from(components["java"])
|
|
+ }
|
|
+}
|
|
+
|
|
+val generateApiVersioningFile by tasks.registering {
|
|
+ inputs.property("version", project.version)
|
|
+ val pomProps = layout.buildDirectory.file("pom.properties")
|
|
+ outputs.file(pomProps)
|
|
+ val projectVersion = project.version
|
|
+ doLast {
|
|
+ pomProps.get().asFile.writeText("version=$projectVersion")
|
|
+ }
|
|
+}
|
|
+
|
|
+tasks.jar {
|
|
+ from(generateApiVersioningFile.map { it.outputs.files.singleFile }) {
|
|
+ into("META-INF/maven/${project.group}/${project.name}")
|
|
+ }
|
|
+ manifest {
|
|
+ attributes(
|
|
+ "Automatic-Module-Name" to "org.bukkit"
|
|
+ )
|
|
+ }
|
|
+}
|
|
+
|
|
+tasks.withType<Javadoc> {
|
|
+ val options = options as StandardJavadocDocletOptions
|
|
+ options.overview = "src/main/javadoc/overview.html"
|
|
+ options.use()
|
|
+ options.isDocFilesSubDirs = true
|
|
+ options.links(
|
|
+ "https://guava.dev/releases/31.0.1-jre/api/docs/",
|
|
+ "https://javadoc.io/doc/org.yaml/snakeyaml/1.30/",
|
|
+ "https://javadoc.io/doc/org.jetbrains/annotations-java5/23.0.0/",
|
|
+ "https://javadoc.io/doc/net.md-5/bungeecord-chat/1.16-R0.4/",
|
|
+ )
|
|
+
|
|
+ // workaround for https://github.com/gradle/gradle/issues/4046
|
|
+ inputs.dir("src/main/javadoc").withPropertyName("javadoc-sourceset")
|
|
+ doLast {
|
|
+ copy {
|
|
+ from("src/main/javadoc") {
|
|
+ include("**/doc-files/**")
|
|
+ }
|
|
+ into("build/docs/javadoc")
|
|
+ }
|
|
+ }
|
|
+}
|
|
diff --git a/pom.xml b/pom.xml
|
|
deleted file mode 100644
|
|
index 9909fc466d96023f0b574a9bd2a2330d433d4400..0000000000000000000000000000000000000000
|
|
--- a/pom.xml
|
|
+++ /dev/null
|
|
@@ -1,252 +0,0 @@
|
|
-
|
|
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
- <modelVersion>4.0.0</modelVersion>
|
|
-
|
|
- <groupId>org.spigotmc</groupId>
|
|
- <artifactId>spigot-api</artifactId>
|
|
- <version>1.19.2-R0.1-SNAPSHOT</version>
|
|
- <packaging>jar</packaging>
|
|
-
|
|
- <name>Spigot-API</name>
|
|
- <url>https://www.spigotmc.org/</url>
|
|
- <description>An enhanced plugin API for Minecraft servers.</description>
|
|
-
|
|
- <properties>
|
|
- <skipTests>true</skipTests>
|
|
- <maven.compiler.source>1.8</maven.compiler.source>
|
|
- <maven.compiler.target>1.8</maven.compiler.target>
|
|
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
- </properties>
|
|
-
|
|
- <distributionManagement>
|
|
- <repository>
|
|
- <id>spigotmc-releases</id>
|
|
- <url>https://hub.spigotmc.org/nexus/content/repositories/releases/</url>
|
|
- </repository>
|
|
- <snapshotRepository>
|
|
- <id>spigotmc-snapshots</id>
|
|
- <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
|
|
- </snapshotRepository>
|
|
- </distributionManagement>
|
|
-
|
|
- <dependencies>
|
|
- <!-- bundled with Minecraft, should be kept in sync -->
|
|
- <dependency>
|
|
- <groupId>com.google.guava</groupId>
|
|
- <artifactId>guava</artifactId>
|
|
- <version>31.0.1-jre</version>
|
|
- <scope>compile</scope>
|
|
- </dependency>
|
|
- <!-- bundled with Minecraft, should be kept in sync -->
|
|
- <dependency>
|
|
- <groupId>com.google.code.gson</groupId>
|
|
- <artifactId>gson</artifactId>
|
|
- <version>2.8.9</version>
|
|
- <scope>compile</scope>
|
|
- </dependency>
|
|
- <dependency>
|
|
- <groupId>net.md-5</groupId>
|
|
- <artifactId>bungeecord-chat</artifactId>
|
|
- <version>1.16-R0.4</version>
|
|
- <type>jar</type>
|
|
- <scope>compile</scope>
|
|
- </dependency>
|
|
- <dependency>
|
|
- <groupId>org.yaml</groupId>
|
|
- <artifactId>snakeyaml</artifactId>
|
|
- <version>1.32</version>
|
|
- <scope>compile</scope>
|
|
- </dependency>
|
|
- <!-- not part of the API proper -->
|
|
- <dependency>
|
|
- <groupId>org.apache.maven</groupId>
|
|
- <artifactId>maven-resolver-provider</artifactId>
|
|
- <version>3.8.5</version>
|
|
- <scope>provided</scope>
|
|
- </dependency>
|
|
- <dependency>
|
|
- <groupId>org.apache.maven.resolver</groupId>
|
|
- <artifactId>maven-resolver-connector-basic</artifactId>
|
|
- <version>1.7.3</version>
|
|
- <scope>provided</scope>
|
|
- </dependency>
|
|
- <dependency>
|
|
- <groupId>org.apache.maven.resolver</groupId>
|
|
- <artifactId>maven-resolver-transport-http</artifactId>
|
|
- <version>1.7.3</version>
|
|
- <scope>provided</scope>
|
|
- </dependency>
|
|
- <!-- annotations -->
|
|
- <dependency>
|
|
- <groupId>org.jetbrains</groupId>
|
|
- <artifactId>annotations-java5</artifactId>
|
|
- <version>23.0.0</version>
|
|
- <scope>provided</scope>
|
|
- </dependency>
|
|
- <!-- testing -->
|
|
- <dependency>
|
|
- <groupId>junit</groupId>
|
|
- <artifactId>junit</artifactId>
|
|
- <version>4.13.2</version>
|
|
- <scope>test</scope>
|
|
- </dependency>
|
|
- <dependency>
|
|
- <groupId>org.hamcrest</groupId>
|
|
- <artifactId>hamcrest-library</artifactId>
|
|
- <version>1.3</version>
|
|
- <scope>test</scope>
|
|
- </dependency>
|
|
- <dependency>
|
|
- <groupId>org.ow2.asm</groupId>
|
|
- <artifactId>asm-tree</artifactId>
|
|
- <version>9.3</version>
|
|
- <scope>test</scope>
|
|
- </dependency>
|
|
- </dependencies>
|
|
-
|
|
- <build>
|
|
- <plugins>
|
|
- <plugin>
|
|
- <groupId>net.md-5</groupId>
|
|
- <artifactId>scriptus</artifactId>
|
|
- <version>0.4.1</version>
|
|
- <executions>
|
|
- <execution>
|
|
- <phase>initialize</phase>
|
|
- <goals>
|
|
- <goal>describe</goal>
|
|
- </goals>
|
|
- </execution>
|
|
- </executions>
|
|
- </plugin>
|
|
- <plugin>
|
|
- <groupId>org.apache.maven.plugins</groupId>
|
|
- <artifactId>maven-compiler-plugin</artifactId>
|
|
- <version>3.10.1</version>
|
|
- <configuration>
|
|
- <!-- we use the Eclipse compiler as it doesn't need a JDK -->
|
|
- <compilerId>eclipse</compilerId>
|
|
- </configuration>
|
|
- <dependencies>
|
|
- <dependency>
|
|
- <groupId>org.codehaus.plexus</groupId>
|
|
- <artifactId>plexus-compiler-eclipse</artifactId>
|
|
- <version>2.12.0</version>
|
|
- </dependency>
|
|
- </dependencies>
|
|
- </plugin>
|
|
- <plugin>
|
|
- <groupId>org.apache.maven.plugins</groupId>
|
|
- <artifactId>maven-jar-plugin</artifactId>
|
|
- <version>3.2.2</version>
|
|
- <configuration>
|
|
- <archive>
|
|
- <manifest>
|
|
- <addDefaultEntries>false</addDefaultEntries>
|
|
- </manifest>
|
|
- <manifestEntries>
|
|
- <Automatic-Module-Name>org.bukkit</Automatic-Module-Name>
|
|
- </manifestEntries>
|
|
- </archive>
|
|
- </configuration>
|
|
- </plugin>
|
|
- <plugin>
|
|
- <groupId>org.apache.maven.plugins</groupId>
|
|
- <artifactId>maven-shade-plugin</artifactId>
|
|
- <version>3.2.4</version>
|
|
- <executions>
|
|
- <execution>
|
|
- <phase>package</phase>
|
|
- <goals>
|
|
- <goal>shade</goal>
|
|
- </goals>
|
|
- </execution>
|
|
- </executions>
|
|
- <configuration>
|
|
- <filters>
|
|
- <filter>
|
|
- <artifact>*:*</artifact>
|
|
- <excludes>
|
|
- <exclude>META-INF/MANIFEST.MF</exclude>
|
|
- </excludes>
|
|
- </filter>
|
|
- </filters>
|
|
- <!-- when downloading via Maven we can pull depends individually -->
|
|
- <shadedArtifactAttached>true</shadedArtifactAttached>
|
|
- </configuration>
|
|
- </plugin>
|
|
- <plugin>
|
|
- <groupId>org.apache.maven.plugins</groupId>
|
|
- <artifactId>maven-javadoc-plugin</artifactId>
|
|
- <version>3.4.0</version>
|
|
- <configuration>
|
|
- <links>
|
|
- <link>https://guava.dev/releases/31.0.1-jre/api/docs/</link>
|
|
- <link>https://javadoc.io/doc/org.yaml/snakeyaml/1.30/</link>
|
|
- <link>https://javadoc.io/doc/org.jetbrains/annotations-java5/23.0.0/</link>
|
|
- <link>https://javadoc.io/doc/net.md-5/bungeecord-chat/1.16-R0.4/</link>
|
|
- </links>
|
|
- </configuration>
|
|
- </plugin>
|
|
- </plugins>
|
|
- </build>
|
|
-
|
|
- <profiles>
|
|
- <profile>
|
|
- <id>development</id>
|
|
- <properties>
|
|
- <skipTests>false</skipTests>
|
|
- </properties>
|
|
- <build>
|
|
- <plugins>
|
|
- <plugin>
|
|
- <groupId>org.apache.maven.plugins</groupId>
|
|
- <artifactId>maven-checkstyle-plugin</artifactId>
|
|
- <version>3.1.2</version>
|
|
- <executions>
|
|
- <execution>
|
|
- <phase>process-classes</phase>
|
|
- <goals>
|
|
- <goal>check</goal>
|
|
- </goals>
|
|
- </execution>
|
|
- </executions>
|
|
- <configuration>
|
|
- <configLocation>checkstyle.xml</configLocation>
|
|
- <suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
|
|
- <includeTestSourceDirectory>true</includeTestSourceDirectory>
|
|
- </configuration>
|
|
- <dependencies>
|
|
- <dependency>
|
|
- <groupId>com.puppycrawl.tools</groupId>
|
|
- <artifactId>checkstyle</artifactId>
|
|
- <version>8.45.1</version>
|
|
- </dependency>
|
|
- </dependencies>
|
|
- </plugin>
|
|
- <plugin>
|
|
- <groupId>org.codehaus.mojo</groupId>
|
|
- <artifactId>animal-sniffer-maven-plugin</artifactId>
|
|
- <version>1.21</version>
|
|
- <executions>
|
|
- <execution>
|
|
- <phase>process-classes</phase>
|
|
- <goals>
|
|
- <goal>check</goal>
|
|
- </goals>
|
|
- </execution>
|
|
- </executions>
|
|
- <configuration>
|
|
- <signature>
|
|
- <groupId>org.codehaus.mojo.signature</groupId>
|
|
- <artifactId>java18</artifactId>
|
|
- <version>1.0</version>
|
|
- </signature>
|
|
- </configuration>
|
|
- </plugin>
|
|
- </plugins>
|
|
- </build>
|
|
- </profile>
|
|
- </profiles>
|
|
-</project>
|