-
Notifications
You must be signed in to change notification settings - Fork 0
Building
- JDK 21
- Maven 3.8+
- Internet access — the build pulls from PaperMC, Aikar, JitPack and Sonatype
git clone https://github.com/Florianpal1/FMessage.git
cd FMessage
mvn clean installThe reactor builds FMessageCommon first (the proxy modules depend on it), then the three plugin modules. Jars land in:
FMessageBukkit/target/FMessageBukkit-2.4.5.jar
FMessageBungee/target/FMessageBungee-2.4.5.jar
FMessageVelocity/target/FMessageVelocity-2.4.5.jar
mvn clean package also works, but install is needed the first time so that FMessageCommon is available in your local repository for the proxy modules.
Build a single module (after FMessageCommon has been installed at least once):
mvn -pl FMessageVelocity -am clean packageRun the tests:
mvn testThe version is repeated in several places — keep them in sync:
- the root
pom.xml:<version>and theglobal.versionproperty - the
<parent>block and<version>of each of the four modules - the
FMessageCommondependency version inFMessageBungee/pom.xmlandFMessageVelocity/pom.xml -
version:inFMessageBukkit/src/main/resources/plugin.yml,FMessageBungee/src/main/resources/plugin.ymlandFMessageVelocity/src/main/resources/plugin.yml
Each module runs maven-shade-plugin and relocates its bundled libraries so they cannot clash with other plugins:
| Original package | Relocated to |
|---|---|
co.aikar.commands |
fr.florianpal.fmessage.acf |
co.aikar.locales |
fr.florianpal.fmessage.locales |
org.mariadb.jdbc |
fr.florianpal.fmessage.mysql |
org.bstats |
fr.florianpal.fmessage.bstats |
FMessageBukkit additionally builds with minimizeJar.
.github/workflows/maven.yml runs on every push and pull request to master: JDK 21 (Temurin), Maven cache, mvn -B package -DskipTests=true, then uploads the three jars as an FMessage artifact.
Bug reports and pull requests go to the issue tracker. When touching commands or message handling, remember that FMessageBungee and FMessageVelocity are parallel implementations — a change usually belongs in both. See Architecture.
The project is licensed under the GPL-3.0.
Configuration
Development
Help