bentobox/pom.xml

569 lines
23 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<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>world.bentobox</groupId>
<artifactId>bentobox</artifactId>
<version>${revision}</version>
<name>BentoBox</name>
2019-05-19 16:16:20 +02:00
<description>Highly scalable and customizable Minecraft Spigot plugin that enables you to run island-type gamemodes.</description>
<url>https://github.com/BentoBoxWorld/BentoBox</url>
<inceptionYear>2017</inceptionYear>
2019-06-16 14:06:00 +02:00
<developers>
<developer>
<id>Poslovitch</id>
<email>poslovitch@bentobox.world</email>
<timezone>1</timezone>
<roles>
<role>Project Manager</role>
2019-06-16 14:06:00 +02:00
<role>Developer</role>
</roles>
</developer>
<developer>
<id>tastybento</id>
<email>tastybento@bentobox.world</email>
<timezone>-8</timezone>
<roles>
<role>Developer</role>
</roles>
</developer>
</developers>
<scm>
<connection>scm:git:https://github.com/BentoBoxWorld/BentoBox.git</connection>
<developerConnection>scm:git:git@github.com:BentoBoxWorld/BentoBox.git</developerConnection>
<url>https://github.com/BentoBoxWorld/BentoBox</url>
</scm>
<ciManagement>
<system>jenkins</system>
<url>https://ci.codemc.org/job/BentoBoxWorld/job/BentoBox</url>
</ciManagement>
<issueManagement>
<system>GitHub</system>
<url>https://github.com/BentoBoxWorld/BentoBox/issues</url>
</issueManagement>
<distributionManagement>
<snapshotRepository>
<id>codemc-snapshots</id>
<url>https://repo.codemc.org/repository/maven-snapshots</url>
</snapshotRepository>
<repository>
<id>codemc-releases</id>
<url>https://repo.codemc.org/repository/maven-releases</url>
</repository>
</distributionManagement>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
Implement new 1.19 materials and entities (#1990) * Update to Spigot and Paper API 1.19 and Java 17 * Set minimal version to 1.18. * Add breeding protection for Axolotl and Goats (1.18) Add breeding protection for Frog and Allay (1.19) * Clean up switch statement in BlockInteractionListener * Add chest boat support to BreakBlocksListener. Part of #1987 * Add powdered snow pickup with bucket protection. * Add glow ink sac protection on signs. Switch to SheepDyeWoolEvent as it now contains player variable. * Clean up Hurting Listener * Mark 1.16.5, 1.17 and 1.17.1 as incompatible. Mark 1.18, 1.18.1 and 1.18.2 as supported. Add 1.19 as compatible. Part of 1987 * Add ChestBoat inventory protection. Part of #1987 * Clean up LockAndBanListener * Add MANGROVE_PRESSURE_PLATE protection. Part of #1987 * Add Glow Item Frame protection to player interact event. * Clean up MobSpawnListener * Clean up ChestDamageListener * Change from custom method to Tag.PRESSURE_PLATES to detect pressure plates. Part of #1987 * Implement proper chest boat protection. Part of #1987 * Move to 1.19 R1 world regenerator. Part of #1987 * Add allay to the animal entity list. Part of #1987 * Add axolotl and other fish scooping protection. Part of #1987 * Fixes Bucket and Glass Bottle filling. Buckets and bottles were not working since cauldron splitting by type. This change fixes that. It also protects from filling bottles with water from water sources or waterlogged blocks. * Remove 1.17.1 compatibility check for biome adapter. Add cheezee 1.19.1 compatibility version. * Fixes chest boat interactions. Part of #1987 * Implement Allay protection. New flag ALLAY is required to interact with allays. Part of #1987 * Prevent visitors for being targeted by entities if ENTITY_ATTACK is enabled. * Implement Sculk Sensor and Shrieker activation protection setting. Part of #1987 * Add music discs to the LangUtilsHook Part of #1987 * Fixes failing unit-tests.
2022-06-13 23:38:53 +02:00
<java.version>17</java.version>
<!-- Non-minecraft related dependencies -->
<powermock.version>2.0.9</powermock.version>
<!-- Database related dependencies -->
2023-07-08 17:33:24 +02:00
<mongodb.version>3.12.12</mongodb.version>
<mariadb.version>3.0.5</mariadb.version>
<mysql.version>8.0.27</mysql.version>
<postgresql.version>42.2.18</postgresql.version>
<hikaricp.version>5.0.1</hikaricp.version>
2020-02-13 10:34:37 +01:00
<!-- More visible way to change dependency versions -->
2024-01-05 05:22:03 +01:00
<spigot.version>1.20.4-R0.1-SNAPSHOT</spigot.version>
<!-- Might differ from the last Spigot release for short periods
of time -->
2024-01-05 05:22:03 +01:00
<paper.version>1.20.4-R0.1-SNAPSHOT</paper.version>
<bstats.version>3.0.0</bstats.version>
<vault.version>1.7.1</vault.version>
<placeholderapi.version>2.10.9</placeholderapi.version>
<githubapi.version>d5f5e0bbd8</githubapi.version>
<dynmap.version>3.0-SNAPSHOT</dynmap.version>
Code clean up from Sonar Cloud analysis (#2068) * Code clean up from Sonar Cloud analysis * Fix tests * Remove code smell * Rename "island" which hides the field declared at line 25. * Removed code smells. * Rename variable record to rec Renamed "record" variable to not match a restricted identifier. Restricted Identifiers should not be used as identifiers. "record" is using in Java 16. * Added private constructor to prevent instantiation of static class Changed variable name to rec instead of restricted "record". * Remove Blueprint code smells. * Use a record for database settings constructor Code smell: Methods should not have too many parameters. I'm not sure what methods are using this class though. * Update MyWorlds version The POM for MyWorlds is invalid and causes a warning, but this still persists with this version. * Extracted nested try block into a separate method. Makes it clear when reading the code what might be caught * Extracted nested try block into a separate method. * Fixed JavaDoc /** instead of just /* * Extracted nested try block into a separate method. * Refactored to not assign loop counter from within the loop body. * Better delete option. With results. That said, this is legacy code to handle an issue that occurred a long time ago and this whole set of code can probably be removed. * Catch Exceptions not Throwable * Log error with BentoBox logError * Use computeIfAbsent Using these instead leads to cleaner and more readable code. * User can no longer be null * Added the missing @Deprecated annotation and @since ref * Added @since reference * Merge if statements * Use BentoBox error logging. * Added JavaDoc @since * Remove deprecated class and move used class * Remove deprecated WoodType and use Type. * Remove unused import * Extracted nested try block into a separate method. * Comment empty default statement * Clean up logic; avoid switch * Use Java instead of Guava * private constructor to hide the implicit public one. * Private constructor to hide the implicit public one. Merged if statement. * Add comment * if merge * Make variable constant * Remove unused imports * Remove deprecated and unused method * Remove unused import * Typo * Remove instanceof and cast * Remove superfluous null check * Put constant at bottom of file because @BONNe likes it there. * Simplify particle validation code
2023-01-01 01:41:17 +01:00
<myworlds.version>1.19.3-v1</myworlds.version>
<!-- Revision variable removes warning about dynamic version -->
<revision>${build.version}-SNAPSHOT</revision>
<!-- Do not change unless you want different name for local builds. -->
<build.number>-LOCAL</build.number>
<!-- This allows to change between versions. -->
2024-02-18 23:36:18 +01:00
<build.version>2.1.0</build.version>
2021-09-13 05:22:43 +02:00
<sonar.organization>bentobox-world</sonar.organization>
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
<server.jars>${project.basedir}/lib</server.jars>
</properties>
<!-- Profiles will allow to automatically change build version. -->
<profiles>
<profile>
<!-- ci profile is activated if exist environment variable BUILD_NUMBER. -->
<!-- It replaces ${build.number} that is currently '-LOCAL' with
correct build number from JENKINS machine. -->
<id>ci</id>
<activation>
<property>
<name>env.BUILD_NUMBER</name>
</property>
</activation>
<properties>
<!-- Override only if necessary -->
<build.number>-b${env.BUILD_NUMBER}</build.number>
</properties>
</profile>
<profile>
<!-- Master profile is activated if exist environment variable
GIT_BRANCH and its value is origin/master. -->
<!-- It will replace 'revision' with '${build.version}' so it
removes '-SNAPSHOT' string at the end. -->
<!-- Also, as this is release build, build number can be set
to empty string. -->
<!-- This profile will be used only if exist environment variable
GIT_BRANCH with value origin/master. -->
<id>master</id>
<activation>
<property>
<name>env.GIT_BRANCH</name>
<value>origin/master</value>
</property>
</activation>
2023-07-08 17:33:24 +02:00
<!--suppress CheckTagEmptyBody -->
<properties>
<!-- Override only if necessary -->
<revision>${build.version}</revision>
<!-- Empties build number variable. -->
<build.number></build.number>
</properties>
</profile>
</profiles>
<pluginRepositories>
<pluginRepository>
<id>apache.snapshots</id>
<url>https://repository.apache.org/snapshots/</url>
</pluginRepository>
</pluginRepositories>
<repositories>
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots</url>
</repository>
<repository>
<id>codemc-repo</id>
<url>https://repo.codemc.org/repository/maven-public</url>
</repository>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
<repository>
<id>placeholderapi-repo</id>
2021-05-12 06:36:03 +02:00
<url>https://repo.extendedclip.com/content/repositories/placeholderapi/</url>
</repository>
2019-04-13 14:22:05 +02:00
<repository>
<id>dynmap-repo</id>
<url>https://repo.mikeprimm.com/</url>
2019-04-13 14:22:05 +02:00
</repository>
<repository>
<id>papermc</id>
Implement new 1.19 materials and entities (#1990) * Update to Spigot and Paper API 1.19 and Java 17 * Set minimal version to 1.18. * Add breeding protection for Axolotl and Goats (1.18) Add breeding protection for Frog and Allay (1.19) * Clean up switch statement in BlockInteractionListener * Add chest boat support to BreakBlocksListener. Part of #1987 * Add powdered snow pickup with bucket protection. * Add glow ink sac protection on signs. Switch to SheepDyeWoolEvent as it now contains player variable. * Clean up Hurting Listener * Mark 1.16.5, 1.17 and 1.17.1 as incompatible. Mark 1.18, 1.18.1 and 1.18.2 as supported. Add 1.19 as compatible. Part of 1987 * Add ChestBoat inventory protection. Part of #1987 * Clean up LockAndBanListener * Add MANGROVE_PRESSURE_PLATE protection. Part of #1987 * Add Glow Item Frame protection to player interact event. * Clean up MobSpawnListener * Clean up ChestDamageListener * Change from custom method to Tag.PRESSURE_PLATES to detect pressure plates. Part of #1987 * Implement proper chest boat protection. Part of #1987 * Move to 1.19 R1 world regenerator. Part of #1987 * Add allay to the animal entity list. Part of #1987 * Add axolotl and other fish scooping protection. Part of #1987 * Fixes Bucket and Glass Bottle filling. Buckets and bottles were not working since cauldron splitting by type. This change fixes that. It also protects from filling bottles with water from water sources or waterlogged blocks. * Remove 1.17.1 compatibility check for biome adapter. Add cheezee 1.19.1 compatibility version. * Fixes chest boat interactions. Part of #1987 * Implement Allay protection. New flag ALLAY is required to interact with allays. Part of #1987 * Prevent visitors for being targeted by entities if ENTITY_ATTACK is enabled. * Implement Sculk Sensor and Shrieker activation protection setting. Part of #1987 * Add music discs to the LangUtilsHook Part of #1987 * Fixes failing unit-tests.
2022-06-13 23:38:53 +02:00
<url>https://repo.papermc.io/repository/maven-public/</url>
2019-06-30 14:12:51 +02:00
</repository>
2021-07-07 03:16:21 +02:00
<repository>
<!-- This is a temporary reference as the Maven Shade plugin
that supports Java 16 is not released yet -->
<id>maven-snapshots</id>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
</repository>
<repository>
<id>minecraft-repo</id>
<url>https://libraries.minecraft.net/</url>
</repository>
<!-- Spigot NMS required for world regeneration :( -->
<repository>
<id>nms-repo</id>
<url>https://repo.codemc.io/repository/nms/</url>
</repository>
<!-- Used for MyWorlds hook -->
<repository>
<id>MG-Dev Jenkins CI Maven Repository</id>
<url>https://ci.mg-dev.eu/plugin/repository/everything</url>
</repository>
</repositories>
<dependencies>
<!-- Mockito (Unit testing) This goes at the top to ensure the dependencies are accurate. -->
<!-- This is required for PowerMockito to work and must be placed before it -->
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.30.2-GA</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito2</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.11.1</version>
<scope>test</scope>
</dependency>
<!-- Spigot API -->
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>${spigot.version}</version>
<scope>provided</scope>
</dependency>
2024-02-10 02:40:58 +01:00
<dependency>
<groupId>org.spigotmc.</groupId>
<artifactId>spigot</artifactId>
<version>1.20.3-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.spigotmc..</groupId>
<artifactId>spigot</artifactId>
<version>1.20.2-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.spigotmc...</groupId>
<artifactId>spigot</artifactId>
<version>1.20.1-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<!-- Paper API -->
<dependency>
Implement new 1.19 materials and entities (#1990) * Update to Spigot and Paper API 1.19 and Java 17 * Set minimal version to 1.18. * Add breeding protection for Axolotl and Goats (1.18) Add breeding protection for Frog and Allay (1.19) * Clean up switch statement in BlockInteractionListener * Add chest boat support to BreakBlocksListener. Part of #1987 * Add powdered snow pickup with bucket protection. * Add glow ink sac protection on signs. Switch to SheepDyeWoolEvent as it now contains player variable. * Clean up Hurting Listener * Mark 1.16.5, 1.17 and 1.17.1 as incompatible. Mark 1.18, 1.18.1 and 1.18.2 as supported. Add 1.19 as compatible. Part of 1987 * Add ChestBoat inventory protection. Part of #1987 * Clean up LockAndBanListener * Add MANGROVE_PRESSURE_PLATE protection. Part of #1987 * Add Glow Item Frame protection to player interact event. * Clean up MobSpawnListener * Clean up ChestDamageListener * Change from custom method to Tag.PRESSURE_PLATES to detect pressure plates. Part of #1987 * Implement proper chest boat protection. Part of #1987 * Move to 1.19 R1 world regenerator. Part of #1987 * Add allay to the animal entity list. Part of #1987 * Add axolotl and other fish scooping protection. Part of #1987 * Fixes Bucket and Glass Bottle filling. Buckets and bottles were not working since cauldron splitting by type. This change fixes that. It also protects from filling bottles with water from water sources or waterlogged blocks. * Remove 1.17.1 compatibility check for biome adapter. Add cheezee 1.19.1 compatibility version. * Fixes chest boat interactions. Part of #1987 * Implement Allay protection. New flag ALLAY is required to interact with allays. Part of #1987 * Prevent visitors for being targeted by entities if ENTITY_ATTACK is enabled. * Implement Sculk Sensor and Shrieker activation protection setting. Part of #1987 * Add music discs to the LangUtilsHook Part of #1987 * Fixes failing unit-tests.
2022-06-13 23:38:53 +02:00
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
<version>${paper.version}</version>
<scope>provided</scope>
</dependency>
<!-- Metrics -->
<dependency>
<groupId>org.bstats</groupId>
<artifactId>bstats-bukkit</artifactId>
<version>${bstats.version}</version>
</dependency>
<!-- Database -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
<version>${mongodb.version}</version>
<scope>provided</scope>
</dependency>
<!-- HikariCP database handler -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>${hikaricp.version}</version>
<scope>provided</scope>
</dependency>
<!-- Vault: as their maven repo is down, we need to get it from jitpack -->
<!-- See https://github.com/MilkBowl/VaultAPI/issues/69 -->
<dependency>
<groupId>com.github.MilkBowl</groupId>
<artifactId>VaultAPI</artifactId>
<version>${vault.version}</version>
<scope>provided</scope>
</dependency>
<!-- Placeholders -->
<dependency>
<groupId>me.clip</groupId>
<artifactId>placeholderapi</artifactId>
<version>${placeholderapi.version}</version>
<scope>provided</scope>
</dependency>
2019-04-13 14:22:05 +02:00
<!-- Hooks -->
<dependency>
<groupId>us.dynmap</groupId>
<artifactId>dynmap-api</artifactId>
<version>${dynmap.version}</version>
2019-04-13 14:22:05 +02:00
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.bergerkiller.bukkit</groupId>
<artifactId>MyWorlds</artifactId>
<version>${myworlds.version}</version>
<scope>provided</scope>
</dependency>
<!-- Shaded APIs -->
<dependency>
<groupId>com.github.TheBusyBiscuit</groupId>
<artifactId>GitHubWebAPI4Java</artifactId>
<version>${githubapi.version}</version>
2019-04-13 14:22:05 +02:00
</dependency>
<dependency>
<groupId>com.github.Marcono1234</groupId>
<artifactId>gson-record-type-adapter-factory</artifactId>
<version>0.3.0</version>
</dependency>
<!-- Static analysis -->
<!-- We are using Eclipse's annotations. If you're using IDEA, update
your project settings to take these into account for in real time static
analysis -->
<dependency>
<groupId>org.eclipse.jdt</groupId>
<artifactId>org.eclipse.jdt.annotation</artifactId>
<version>2.2.600</version>
</dependency>
<!-- PaperLib -->
<dependency>
<groupId>io.papermc</groupId>
<artifactId>paperlib</artifactId>
2021-02-07 16:53:29 +01:00
<version>1.0.6</version>
<scope>compile</scope>
</dependency>
2021-03-13 05:04:34 +01:00
<!-- LangUtils -->
<dependency>
<groupId>com.github.apachezy</groupId>
<artifactId>LangUtils</artifactId>
<version>3.2.2</version>
2021-03-13 05:04:34 +01:00
<scope>provided</scope>
</dependency>
<!-- Spigot NMS. Used for chunk deletion and pasting.-->
2022-02-19 19:05:57 +01:00
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot</artifactId>
<version>${spigot.version}</version>
<scope>provided</scope>
</dependency>
<!-- Slimefun -->
<dependency>
<groupId>com.github.Slimefun</groupId>
<artifactId>Slimefun4</artifactId>
<version>RC-36</version>
<scope>provided</scope>
</dependency>
<!-- ItemsAdder -->
<dependency>
<groupId>com.github.LoneDev6</groupId>
<artifactId>api-itemsadder</artifactId>
<version>3.6.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<!-- By default ${revision} is ${build.version}-SNAPSHOT -->
<!-- If GIT_BRANCH variable is set to origin/master, then it will
be only ${build.version}. -->
<!-- By default ${build.number} is -LOCAL. -->
<!-- If the BUILD_NUMBER variable is set, then it will be -b[number]. -->
<!-- If GIT_BRANCH variable is set to origin/master, then it will
be the empty string. -->
<finalName>${project.name}-${revision}${build.number}</finalName>
<defaultGoal>clean package</defaultGoal>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources/locales</directory>
<targetPath>./locales</targetPath>
<filtering>false</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>${java.version}</release>
<!-- <source>${java.version}</source> <target>${java.version}</target> -->
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
2023-07-08 17:33:24 +02:00
<!--suppress MavenModelInspection -->
<configuration>
<argLine>
${argLine}
--add-opens java.base/java.lang=ALL-UNNAMED
--add-opens java.base/java.math=ALL-UNNAMED
--add-opens java.base/java.io=ALL-UNNAMED
--add-opens java.base/java.util=ALL-UNNAMED
--add-opens java.base/java.util.stream=ALL-UNNAMED
--add-opens java.base/java.text=ALL-UNNAMED
--add-opens java.base/java.util.regex=ALL-UNNAMED
--add-opens java.base/java.nio.channels.spi=ALL-UNNAMED
--add-opens java.base/sun.nio.ch=ALL-UNNAMED
--add-opens java.base/java.net=ALL-UNNAMED
--add-opens java.base/java.util.concurrent=ALL-UNNAMED
--add-opens java.base/sun.nio.fs=ALL-UNNAMED
--add-opens java.base/sun.nio.cs=ALL-UNNAMED
--add-opens java.base/java.nio.file=ALL-UNNAMED
--add-opens java.base/java.nio.charset=ALL-UNNAMED
--add-opens java.base/java.lang.reflect=ALL-UNNAMED
--add-opens java.logging/java.util.logging=ALL-UNNAMED
--add-opens java.base/java.lang.ref=ALL-UNNAMED
--add-opens java.base/java.util.jar=ALL-UNNAMED
--add-opens java.base/java.util.zip=ALL-UNNAMED
--add-opens=java.base/java.security=ALL-UNNAMED
</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.4.1</version>
<configuration>
<source>${java.version}</source>
<show>private</show>
<quiet>true</quiet>
<failOnError>false</failOnError>
<additionalJOption>-Xdoclint:none</additionalJOption>
<!-- To compile with Java 11, this tag may be required -->
2021-09-18 17:15:07 +02:00
<javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
2021-09-18 17:15:07 +02:00
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
2020-01-11 17:50:26 +01:00
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>install</phase>
2020-01-11 17:50:26 +01:00
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.3.1-SNAPSHOT</version>
<configuration>
<minimizeJar>true</minimizeJar>
<relocations>
<relocation>
<pattern>org.bstats</pattern>
<shadedPattern>world.bentobox.bentobox.util.metrics</shadedPattern>
</relocation>
<relocation>
<pattern>io.github.TheBusyBiscuit.GitHubWebAPI4Java</pattern>
<shadedPattern>world.bentobox.bentobox.api.github</shadedPattern>
</relocation>
<relocation>
<pattern>io.papermc.lib</pattern>
<shadedPattern>world.bentobox.bentobox.paperlib</shadedPattern> <!-- Replace this -->
</relocation>
</relocations>
<artifactSet>
<excludes>
<exclude>org.apache.maven.shared:*</exclude>
<exclude>org.apache.maven:*</exclude>
2020-02-13 10:34:11 +01:00
<exclude>com.google.code.gson:*</exclude>
<exclude>org.mongodb:*</exclude>
<exclude>org.eclipse.jdt:*</exclude>
</excludes>
</artifactSet>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
2020-01-11 17:50:26 +01:00
<executions>
<execution>
<id>default-deploy</id>
<phase>deploy</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
2023-07-11 06:18:58 +02:00
<version>0.8.10</version>
<configuration>
<append>true</append>
<excludes>
<!-- This is required to prevent Jacoco from adding
synthetic fields to a JavaBean class (causes errors in testing) -->
<exclude>**/*Names*</exclude>
<!-- Prevents the Material is too large to mock error -->
<exclude>org/bukkit/Material*</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<goals>
<goal>report</goal>
</goals>
<configuration>
<formats>
<format>XML</format>
</formats>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>