This commit is contained in:
Ivan Pekov 2020-09-11 16:45:07 +03:00
parent 484ae88631
commit f4e0322ec6
No known key found for this signature in database
GPG Key ID: BC975C392D9CA3A3
14 changed files with 1259 additions and 0 deletions

17
api/pom.xml Normal file
View File

@ -0,0 +1,17 @@
<?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">
<parent>
<artifactId>authme-parent</artifactId>
<groupId>eu.authme</groupId>
<version>6.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>authme-api</artifactId>
<name>AuthMe-API</name>
<inceptionYear>2020</inceptionYear>
</project>

View File

@ -0,0 +1,3 @@
package eu.authme.api;
public interface AuthMeAPI {}

569
bukkit/pom.xml Normal file
View File

@ -0,0 +1,569 @@
<?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">
<parent>
<artifactId>authme-parent</artifactId>
<groupId>eu.authme</groupId>
<version>6.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>authme-bukkit</artifactId>
<name>AuthMe-Bukkit</name>
<description>The first authentication plugin for the Bukkit API!</description>
<inceptionYear>2013</inceptionYear>
<properties>
<maven.deploy.skip>true</maven.deploy.skip>
<spigot.version>1.16.3-R0.1-SNAPSHOT</spigot.version>
<plugin.platform>bukkit</plugin.platform>
<plugin.platformCapitalized>Bukkit</plugin.platformCapitalized>
<pluginDescription.main>${groupId}.${plugin.platform}.${pluginDescription.name}${plugin.platformCapitalized}</pluginDescription.main>
<project.finalNameBase>${pluginDescription.name}${plugin.platformCapitalized}-${project.version}</project.finalNameBase>
</properties>
<repositories>
<!-- SpigotAPI repo -->
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<!-- EssentialsX Repo -->
<repository>
<id>enderzone-repo</id>
<url>https://ci.ender.zone/plugin/repository/everything/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<!-- ProtocolLib Repo -->
<repository>
<id>dmulloy2-repo-releases</id>
<url>https://repo.dmulloy2.net/nexus/repository/releases/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>dmulloy2-repo-snapshots</id>
<url>https://repo.dmulloy2.net/nexus/repository/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<!-- Multiverse Repo -->
<repository>
<id>onarandombox-repo-releases</id>
<url>https://repo.onarandombox.com/content/repositories/multiverse/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>onarandombox-repo-snapshots</id>
<url>https://repo.onarandombox.com/content/repositories/multiverse-snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<dependencies>
<!-- SpigotAPI dependency -->
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>${spigot.version}</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<artifactId>junit</artifactId>
<groupId>junit</groupId>
</exclusion>
<exclusion>
<artifactId>gson</artifactId>
<groupId>com.google.code.gson</groupId>
</exclusion>
<exclusion>
<artifactId>guava</artifactId>
<groupId>com.google.guava</groupId>
</exclusion>
<exclusion>
<artifactId>json-simple</artifactId>
<groupId>com.googlecode.json-simple</groupId>
</exclusion>
<exclusion>
<artifactId>bungeecord-chat</artifactId>
<groupId>net.md-5</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- Keep in sync with spigot 1.8.8 -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>17.0</version>
<scope>provided</scope>
</dependency>
<!-- Keep in sync with spigot 1.8.8 -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.4</version>
<scope>provided</scope>
</dependency>
<!-- String comparison library. Used for dynamic help system. -->
<dependency>
<groupId>net.ricecode</groupId>
<artifactId>string-similarity</artifactId>
<version>1.0.0</version>
<scope>provided</scope>
</dependency>
<!-- MaxMind GEO IP with our modifications to use GSON in replacement of the big Jackson dependency -->
<!-- GSON is already included and therefore it reduces the file size in comparison to the original version -->
<dependency>
<groupId>com.maxmind.db</groupId>
<artifactId>maxmind-db-gson</artifactId>
<version>2.0.3</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Library for tar archives -->
<dependency>
<groupId>javatar</groupId>
<artifactId>javatar</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<!-- Java Email Library -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.6-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<!-- Log4J Logger (required by the console filter) -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<!-- Database Connection Pool -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>3.4.5</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- HikariCP Logger -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.30</version>
<scope>provided</scope>
</dependency>
<!-- PBKDF2 implementation -->
<dependency>
<groupId>de.rtner</groupId>
<artifactId>PBKDF2</artifactId>
<version>1.1.4</version>
<scope>provided</scope>
</dependency>
<!-- Argon2 implementation -->
<dependency>
<groupId>de.mkammerer</groupId>
<artifactId>argon2-jvm-nolibs</artifactId>
<version>2.7</version>
<scope>provided</scope>
</dependency>
<!-- TOTP client -->
<dependency>
<groupId>com.warrenstrange</groupId>
<artifactId>googleauth</artifactId>
<version>1.5.0</version>
<scope>provided</scope>
</dependency>
<!-- ConfigMe -->
<dependency>
<groupId>ch.jalu</groupId>
<artifactId>configme</artifactId>
<version>${configme.version}</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- bStats metrics -->
<dependency>
<groupId>org.bstats</groupId>
<artifactId>bstats-bukkit</artifactId>
<version>${bstats.version}</version>
<scope>compile</scope>
</dependency>
<!-- ProtocolLib -->
<dependency>
<groupId>com.comphenix.protocol</groupId>
<artifactId>ProtocolLib-API</artifactId>
<version>4.4.0</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<artifactId>cglib-nodep</artifactId>
<groupId>cglib</groupId>
</exclusion>
<exclusion>
<artifactId>BukkitExecutors</artifactId>
<groupId>com.comphenix.executors</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- LuckPerms plugin -->
<dependency>
<groupId>net.luckperms</groupId>
<artifactId>api</artifactId>
<version>5.1</version>
<scope>provided</scope>
</dependency>
<!-- PermissionsEx plugin -->
<dependency>
<groupId>ru.tehkode</groupId>
<artifactId>PermissionsEx</artifactId>
<version>1.23.5-SNAPSHOT</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<artifactId>commons-dbcp</artifactId>
<groupId>commons-dbcp</groupId>
</exclusion>
<exclusion>
<artifactId>accounts-client</artifactId>
<groupId>com.mojang</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- zPermissions plugin -->
<dependency>
<groupId>org.tyrannyofheaven.bukkit</groupId>
<artifactId>zPermissions</artifactId>
<version>1.4.3-SNAPSHOT</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.avaje</groupId>
<artifactId>ebean</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Vault, https://dev.bukkit.org/bukkit-plugins/vault/ -->
<dependency>
<groupId>net.milkbowl.vault</groupId>
<artifactId>VaultAPI</artifactId>
<version>1.7</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
</exclusion>
<exclusion>
<groupId>org.bukkit</groupId>
<artifactId>craftbukkit</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Multi World plugin, https://www.spigotmc.org/resources/multiverse-core.390/ -->
<dependency>
<groupId>com.onarandombox.multiversecore</groupId>
<artifactId>Multiverse-Core</artifactId>
<version>4.1.0</version>
<type>jar</type>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
</exclusion>
<exclusion>
<groupId>org.bukkit</groupId>
<artifactId>craftbukkit</artifactId>
</exclusion>
<exclusion>
<artifactId>AllPay</artifactId>
<groupId>com.fernferret.allpay</groupId>
</exclusion>
<exclusion>
<artifactId>Vault</artifactId>
<groupId>net.milkbowl.vault</groupId>
</exclusion>
<exclusion>
<artifactId>VaultAPI</artifactId>
<groupId>net.milkbowl.vault</groupId>
</exclusion>
<exclusion>
<artifactId>CommandHandler</artifactId>
<groupId>com.pneumaticraft.commandhandler</groupId>
</exclusion>
<exclusion>
<artifactId>SerializationConfig</artifactId>
<groupId>me.main__.util</groupId>
</exclusion>
<exclusion>
<artifactId>Logging</artifactId>
<groupId>com.dumptruckman.minecraft</groupId>
</exclusion>
<exclusion>
<artifactId>metrics</artifactId>
<groupId>org.mcstats.bukkit</groupId>
</exclusion>
<exclusion>
<artifactId>buscript</artifactId>
<groupId>com.dumptruckman.minecraft</groupId>
</exclusion>
<exclusion>
<artifactId>junit</artifactId>
<groupId>junit</groupId>
</exclusion>
<exclusion>
<artifactId>spigot-api</artifactId>
<groupId>org.spigotmc</groupId>
</exclusion>
<exclusion>
<artifactId>jettison</artifactId>
<groupId>org.codehaus.jettison</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- EssentialsX plugin -->
<dependency>
<groupId>net.ess3</groupId>
<artifactId>EssentialsX</artifactId>
<version>2.16.1</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>io.papermc</groupId>
<artifactId>paperlib</artifactId>
</exclusion>
<exclusion>
<groupId>net.ess3</groupId>
<artifactId>NMSProvider</artifactId>
</exclusion>
<exclusion>
<groupId>net.ess3</groupId>
<artifactId>UpdatedMetaProvider</artifactId>
</exclusion>
<exclusion>
<groupId>net.ess3</groupId>
<artifactId>1_8_R1Provider</artifactId>
</exclusion>
<exclusion>
<groupId>net.ess3</groupId>
<artifactId>1_8_R2Provider</artifactId>
</exclusion>
<exclusion>
<groupId>net.ess3</groupId>
<artifactId>LegacyProvider</artifactId>
</exclusion>
<exclusion>
<groupId>net.ess3</groupId>
<artifactId>ReflectionProvider</artifactId>
</exclusion>
<exclusion>
<groupId>net.ess3</groupId>
<artifactId>FlattenedProvider</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- BCrypt implementation -->
<dependency>
<groupId>at.favre.lib</groupId>
<artifactId>bcrypt</artifactId>
<version>0.9.0</version>
<scope>provided</scope>
</dependency>
<!-- XAuth, another authentication plugin, required by the database converter -->
<dependency>
<groupId>de.luricos.bukkit</groupId>
<artifactId>xAuth</artifactId>
<version>2.6.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>ch.jalu</groupId>
<artifactId>datasourcecolumns</artifactId>
<version>0.1.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.15</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<!-- Little hack to make the shade plugin output a file with the right name -->
<finalName>${project.finalNameBase}-noshade</finalName>
<plugins>
<!-- Generate a jar containing classes, resources and shaded libraries -->
<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>
<!-- Don't create the reduced pom file, as we don't deploy the shaded jar -->
<createDependencyReducedPom>false</createDependencyReducedPom>
<!-- Deploy the non shaded jar as main artifact -->
<shadedArtifactAttached>true</shadedArtifactAttached>
<!-- Use the base jar name, to help server owners download the right jar -->
<finalName>${project.finalNameBase}</finalName>
<!--
Relocate all lib we use in order to fix class loading errors if we use different versions
than already loaded libs
-->
<relocations>
<relocation>
<pattern>ch.jalu</pattern>
<shadedPattern>${groupId}.${plugin.platform}.libs.ch.jalu</shadedPattern>
</relocation>
<relocation>
<pattern>com.zaxxer.hikari</pattern>
<shadedPattern>${groupId}.${plugin.platform}.libs.com.zaxxer.hikari</shadedPattern>
</relocation>
<relocation>
<pattern>org.slf4j</pattern>
<shadedPattern>${groupId}.${plugin.platform}.libs.org.slf4j</shadedPattern>
</relocation>
<relocation>
<pattern>com.maxmind.db</pattern>
<shadedPattern>${groupId}.${plugin.platform}.libs.com.maxmind.db</shadedPattern>
</relocation>
<relocation>
<pattern>com.ice.tar</pattern>
<shadedPattern>${groupId}.${plugin.platform}.libs.com.icetar.tar</shadedPattern>
</relocation>
<relocation>
<pattern>net.ricecode.similarity</pattern>
<shadedPattern>${groupId}.${plugin.platform}.libs.ricecode.net.ricecode.similarity</shadedPattern>
</relocation>
<relocation>
<pattern>de.rtner</pattern>
<shadedPattern>${groupId}.${plugin.platform}.libs.de.rtner</shadedPattern>
</relocation>
<relocation>
<pattern>de.mkammerer</pattern>
<shadedPattern>${groupId}.${plugin.platform}.libs.de.mkammerer</shadedPattern>
</relocation>
<relocation>
<pattern>com.warrenstrange</pattern>
<shadedPattern>${groupId}.${plugin.platform}.libs.com.warrenstrange</shadedPattern>
</relocation>
<relocation>
<pattern>at.favre.lib</pattern>
<shadedPattern>${groupId}.${plugin.platform}.libs.at.favre.lib</shadedPattern>
</relocation>
<relocation>
<pattern>org.postgresql</pattern>
<shadedPattern>${groupId}.${plugin.platform}.libs.org.postgresql</shadedPattern>
</relocation>
<!-- bStats metrics class -->
<relocation>
<pattern>org.bstats</pattern>
<shadedPattern>${groupId}.${plugin.platform}.libs.org.bstats</shadedPattern>
</relocation>
</relocations>
<filters>
<!-- Ignore manifest signatures for shading the project into an uber-jar to fix -->
<!-- "Invalid signature file digest for Manifest main attributes" -->
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,12 @@
package eu.authme.bukkit;
import org.bukkit.plugin.java.JavaPlugin;
public final class AuthMeBukkit extends JavaPlugin {
@Override
public void onEnable() {}
@Override
public void onDisable() {}
}

View File

@ -0,0 +1,17 @@
name: ${pluginDescription.name}
main: ${pluginDescription.main}
website: ${project.url}
description: ${project.description}
version: ${project.versionCode}
authors: [${pluginDescription.authors}]
api-version: 1.13
softdepend:
- Vault
- LuckPerms
- PermissionsEx
- bPermissions
- zPermissions
- Multiverse-Core
- Essentials
- EssentialsSpawn
- ProtocolLib

109
bungee/pom.xml Normal file
View File

@ -0,0 +1,109 @@
<?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">
<parent>
<artifactId>authme-parent</artifactId>
<groupId>eu.authme</groupId>
<version>6.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>authme-bungee</artifactId>
<name>AuthMe-Bungee</name>
<description>BungeeCord addon for AuthMe!</description>
<inceptionYear>2017</inceptionYear>
<properties>
<maven.deploy.skip>true</maven.deploy.skip>
<bungeecord.version>1.16-R0.4-SNAPSHOT</bungeecord.version>
<plugin.platform>bungee</plugin.platform>
<plugin.platformCapitalized>Bungee</plugin.platformCapitalized>
<pluginDescription.main>${groupId}.${plugin.platform}.${pluginDescription.name}${plugin.platformCapitalized}</pluginDescription.main>
<project.finalNameBase>${pluginDescription.name}${plugin.platformCapitalized}-${project.version}</project.finalNameBase>
</properties>
<repositories>
<!-- BungeeCord repository -->
<repository>
<id>oss-repo</id>
<url>http://oss.sonatype.org/content/groups/public</url>
</repository>
</repositories>
<dependencies>
<!-- BungeeCord -->
<dependency>
<groupId>net.md-5</groupId>
<artifactId>bungeecord-api</artifactId>
<version>${bungeecord.version}</version>
<scope>provided</scope>
</dependency>
<!-- Configuration library -->
<dependency>
<groupId>ch.jalu</groupId>
<artifactId>configme</artifactId>
<version>${configme.version}</version>
<scope>provided</scope>
</dependency>
<!-- Metrics -->
<dependency>
<groupId>org.bstats</groupId>
<artifactId>bstats-bungeecord</artifactId>
<version>${bstats.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<!-- Little hack to make the shade plugin output a file with the right name -->
<finalName>${project.finalNameBase}-noshade</finalName>
<plugins>
<!-- Generate a jar containing classes, resources and shaded libraries -->
<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>
<!-- Don't create the reduced pom file, as we don't deploy the shaded jar -->
<createDependencyReducedPom>false</createDependencyReducedPom>
<!-- Deploy the non shaded jar as main artifact -->
<shadedArtifactAttached>true</shadedArtifactAttached>
<!-- Use the base jar name, to help server owners download the right jar -->
<finalName>${project.finalNameBase}</finalName>
<!--
Relocate all lib we use in order to fix class loading errors if we use different versions
than already loaded libs
-->
<relocations>
<relocation>
<pattern>ch.jalu</pattern>
<shadedPattern>${groupId}.${plugin.platform}.libs.ch.jalu</shadedPattern>
</relocation>
<!-- bStats metrics class -->
<relocation>
<pattern>org.bstats</pattern>
<shadedPattern>${groupId}.${plugin.platform}.libs.org.bstats</shadedPattern>
</relocation>
</relocations>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,12 @@
package eu.authme.bungee;
import net.md_5.bungee.api.plugin.Plugin;
public final class AuthMeBungee extends Plugin {
@Override
public void onEnable() {}
@Override
public void onDisable() {}
}

View File

@ -0,0 +1,5 @@
name: ${pluginDescription.name}${plugin.platformCapitalized}
main: ${pluginDescription.main}
description: ${project.description}
version: ${project.versionCode}
author: AuthMeTeam

18
common/pom.xml Normal file
View File

@ -0,0 +1,18 @@
<?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">
<parent>
<artifactId>authme-parent</artifactId>
<groupId>eu.authme</groupId>
<version>6.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>authme-common</artifactId>
<name>AuthMe-Common</name>
<inceptionYear>2020</inceptionYear>
</project>

View File

@ -0,0 +1,3 @@
package eu.authme.common;
public interface AuthMePlugin {}

386
pom.xml Normal file
View File

@ -0,0 +1,386 @@
<?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>eu.authme</groupId>
<artifactId>authme-parent</artifactId>
<version>6.0.0-SNAPSHOT</version>
<modules>
<module>bukkit</module>
<module>bungee</module>
<module>velocity</module>
<module>api</module>
<module>common</module>
</modules>
<packaging>pom</packaging>
<name>AuthMe-Parent</name>
<url>https://github.com/AuthMe/AuthMeReloaded</url>
<organization>
<name>AuthMe-Team</name>
<url>https://github.com/AuthMe</url>
</organization>
<properties>
<!-- Maven stuff -->
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.minimumVersion>3.3.9</maven.minimumVersion>
<!-- Project stuff -->
<project.buildNumber>CUSTOM</project.buildNumber>
<project.versionCode>${project.version}-b${project.buildNumber}</project.versionCode>
<pluginDescription.name>AuthMe</pluginDescription.name>
<pluginDescription.authors>Xephi, sgdc3, DNx5, timvisee, games647, ljacqu, Gnat008, MrIvanPlays</pluginDescription.authors>
<project.skipExtendedHashTests>false</project.skipExtendedHashTests>
<!-- Dependency versions, dependencies of cannot be put in the parent pom -->
<configme.version>1.2.0</configme.version>
<bstats.version>1.7</bstats.version>
</properties>
<developers>
<developer>
<id>Xephi</id>
</developer>
<developer>
<id>sgdc3</id>
</developer>
<developer>
<id>DNx5</id>
</developer>
<developer>
<id>timvisee</id>
</developer>
<developer>
<id>games647</id>
</developer>
<developer>
<id>ljacqu</id>
</developer>
<developer>
<id>Gnat008</id>
</developer>
<developer>
<id>MrIvanPlays</id>
</developer>
</developers>
<licenses>
<license>
<name>MIT License</name>
<url>http://www.opensource.org/licenses/mit-license.php</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<connection>scm:git:git@github.com:AuthMe/AuthMeReloaded.git</connection>
<developerConnection>scm:git:git@github.com:AuthMe/AuthMeReloaded.git</developerConnection>
<url>git@github.com:AuthMe/AuthMeReloaded.git</url>
</scm>
<issueManagement>
<system>GitHub</system>
<url>https://github.com/AuthMe/AuthMeReloaded/issues</url>
</issueManagement>
<ciManagement>
<system>jenkins</system>
<url>https://ci.codemc.io/job/AuthMe/job/AuthMeReloaded/</url>
</ciManagement>
<distributionManagement>
<snapshotRepository>
<id>codemc-snapshots</id>
<url>https://repo.codemc.io/repository/maven-snapshots/</url>
</snapshotRepository>
<repository>
<id>codemc-releases</id>
<url>https://repo.codemc.io/repository/maven-releases/</url>
</repository>
</distributionManagement>
<!-- Jenkins profile -->
<profiles>
<!-- Set the buildNumber using the jenkins env. variable -->
<profile>
<id>jenkins</id>
<activation>
<property>
<name>env.BUILD_NUMBER</name>
</property>
</activation>
<properties>
<project.buildNumber>${env.BUILD_NUMBER}</project.buildNumber>
</properties>
</profile>
<!-- Skip long hash tests, reduce the test time of 20-30 seconds -->
<profile>
<id>skipLongHashTests</id>
<activation>
<property>
<name>skipLongHashTests</name>
</property>
</activation>
<properties>
<project.skipExtendedHashTests>true</project.skipExtendedHashTests>
</properties>
</profile>
<!-- Skip javadoc generation for faster local build -->
<profile>
<id>skipJavadocGeneration</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<repositories>
<repository>
<id>codemc-repo</id>
<url>https://repo.codemc.io/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>apache-snapshots</id>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<dependencies>
<!-- Unit Testing Libraries -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
<version>4.13</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>java-hamcrest</artifactId>
<scope>test</scope>
<version>2.0.0.0</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<scope>test</scope>
<version>3.5.10</version>
<exclusions>
<exclusion>
<artifactId>hamcrest-core</artifactId>
<groupId>org.hamcrest</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- Required to mock the LuckPerms API-->
<dependency>
<groupId>org.checkerframework</groupId>
<artifactId>checker-qual</artifactId>
<version>3.6.1</version>
<scope>test</scope>
</dependency>
<!-- JDBC drivers for datasource integration tests -->
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.32.3.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.200</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<defaultGoal>clean package</defaultGoal>
<resources>
<resource>
<directory>.</directory>
<filtering>false</filtering>
<includes>
<include>LICENSE</include>
</includes>
</resource>
<resource>
<directory>src/main/resources/</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources/messages/</directory>
<targetPath>./messages/</targetPath>
<filtering>false</filtering>
</resource>
</resources>
<plugins>
<!-- Enforce build environment -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.4.1</version>
<executions>
<execution>
<id>enforce-environment</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>${maven.minimumVersion}</version>
</requireMavenVersion>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
<!-- Generate a jar containing the source javadoc -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<!-- In sync with the source/target properties of the maven-compiler-plugin -->
<source>8</source>
</configuration>
<executions>
<execution>
<id>attach-javadoc</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Generate a jar containing the java sources -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Generate test coverage reports -->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.5</version>
<executions>
<execution>
<id>pre-unit-test</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>post-unit-test</id>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Unit testing -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<!-- Force the right file encoding during unit testing -->
<!-- Set language to English in order to get consistent results for localized time formatting -->
<argLine>-Dfile.encoding=${project.build.sourceEncoding} -Duser.language=en @{argLine}</argLine>
<systemPropertyVariables>
<project.skipExtendedHashTests>${project.skipExtendedHashTests}</project.skipExtendedHashTests>
</systemPropertyVariables>
<!-- Don't trim stack traces -->
<trimStackTrace>false</trimStackTrace>
</configuration>
</plugin>
<!-- Clean the target folder content -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- Include resource files -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<!-- Generate a jar containing classes and resources -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<!-- Install the jars as artifacts into the local repository -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<!-- Deploy the jars as artifacts into the remote repository -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<!-- Handle documentation generation, required by other plugins -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.9.1</version>
</plugin>
<!-- Publish coveralls test coverage reports, not included in the build cycle by default -->
<plugin>
<groupId>org.eluder.coveralls</groupId>
<artifactId>coveralls-maven-plugin</artifactId>
<version>4.3.0</version>
<configuration>
<!-- The secret token is provided with a command-line parameter -->
<failOnServiceError>false</failOnServiceError>
</configuration>
</plugin>
</plugins>
</build>
</project>

77
velocity/pom.xml Normal file
View File

@ -0,0 +1,77 @@
<?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">
<parent>
<artifactId>authme-parent</artifactId>
<groupId>eu.authme</groupId>
<version>6.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>authme-velocity</artifactId>
<name>AuthMe-Velocity</name>
<description>Velocity addon to AuthMe!</description>
<inceptionYear>2020</inceptionYear>
<properties>
<maven.deploy.skip>true</maven.deploy.skip>
<velocity.version>1.1.0-SNAPSHOT</velocity.version>
<plugin.platform>velocity</plugin.platform>
<plugin.platformCapitalized>Velocity</plugin.platformCapitalized>
<pluginDescription.main>${groupId}.${plugin.platform}.${pluginDescription.name}${plugin.platformCapitalized}</pluginDescription.main>
<project.finalNameBase>${pluginDescription.name}${plugin.platformCapitalized}-${project.version}</project.finalNameBase>
</properties>
<repositories>
<!-- Velocity -->
<repository>
<id>velocity</id>
<url>https://nexus.velocitypowered.com/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<!-- Velocity -->
<dependency>
<groupId>com.velocitypowered</groupId>
<artifactId>velocity-api</artifactId>
<version>${velocity.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<!-- Little hack to make the shade plugin output a file with the right name -->
<finalName>${project.finalNameBase}-noshade</finalName>
<plugins>
<!-- Generate a jar containing classes, resources and shaded libraries -->
<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>
<!-- Don't create the reduced pom file, as we don't deploy the shaded jar -->
<createDependencyReducedPom>false</createDependencyReducedPom>
<!-- Deploy the non shaded jar as main artifact -->
<shadedArtifactAttached>true</shadedArtifactAttached>
<!-- Use the base jar name, to help server owners download the right jar -->
<finalName>${project.finalNameBase}</finalName>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,30 @@
package eu.authme.velocity;
import com.google.inject.Inject;
import com.velocitypowered.api.event.Subscribe;
import com.velocitypowered.api.event.proxy.ProxyInitializeEvent;
import com.velocitypowered.api.event.proxy.ProxyShutdownEvent;
import com.velocitypowered.api.plugin.annotation.DataDirectory;
import com.velocitypowered.api.proxy.ProxyServer;
import java.nio.file.Path;
import org.slf4j.Logger;
public final class AuthMeVelocity {
private final Logger logger;
private final ProxyServer proxy;
private final Path dataDirectory;
@Inject
public AuthMeVelocity(Logger logger, ProxyServer proxy, @DataDirectory Path dataDirectory) {
this.logger = logger;
this.proxy = proxy;
this.dataDirectory = dataDirectory;
}
@Subscribe
public void onInitialize(ProxyInitializeEvent event) {}
@Subscribe
public void onShutdown(ProxyShutdownEvent event) {}
}

View File

@ -0,0 +1 @@
{"id":"authmevelocity","name":"${pluginDescription.name}${plugin.platformCapitalized}","version":"${project.version}","authors":["AuthMeTeam"],"dependencies":[],"main":"${pluginDescription.main}"}