Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
version: 2
updates:
- package-ecosystem: maven
directory: /
schedule:
interval: weekly
day: monday
time: "06:00"
timezone: Europe/Amsterdam
allow:
- dependency-name: "nl.hauntedmc.platform:haunted-library-parent"
open-pull-requests-limit: 5
- package-ecosystem: github-actions
directory: /
schedule:
Expand Down
1 change: 0 additions & 1 deletion featureframework-api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
Expand Down
10 changes: 4 additions & 6 deletions featureframework-cluster-dataprovider/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,35 +18,33 @@
<dependency>
<groupId>nl.hauntedmc.dataprovider</groupId>
<artifactId>dataprovider-api</artifactId>
<version>${dataprovider.version}</version>
<version>${haunted.dataprovider.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>nl.hauntedmc.dataprovider</groupId>
<artifactId>dataprovider-core</artifactId>
<version>${dataprovider.version}</version>
<version>${haunted.dataprovider.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mysql</artifactId>
<artifactId>testcontainers-mysql</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>junit-jupiter</artifactId>
<artifactId>testcontainers-junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
import org.junit.jupiter.api.Test;
import org.spongepowered.configurate.CommentedConfigurationNode;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.containers.MySQLContainer;
import org.testcontainers.mysql.MySQLContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;
Expand All @@ -39,7 +39,7 @@ class DataProviderReplicaBackendIT {
new ReplicaGroupIdentity("integration", "proxyfeatures", "proxy", "proxy-01");

@Container
private static final MySQLContainer<?> MYSQL = new MySQLContainer<>(DockerImageName.parse("mysql:8.4"))
private static final MySQLContainer MYSQL = new MySQLContainer(DockerImageName.parse("mysql:8.4"))
.withDatabaseName("featureframework")
.withUsername("featureframework")
.withPassword("featureframework-secret");
Expand Down
1 change: 0 additions & 1 deletion featureframework-cluster/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
Expand Down
6 changes: 3 additions & 3 deletions featureframework-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@
<dependency><groupId>net.kyori</groupId><artifactId>adventure-text-serializer-gson</artifactId><scope>provided</scope></dependency>
<dependency><groupId>net.kyori</groupId><artifactId>adventure-text-serializer-legacy</artifactId><scope>provided</scope></dependency>
<dependency><groupId>net.kyori</groupId><artifactId>adventure-text-serializer-plain</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${slf4j.version}</version><scope>provided</scope></dependency>
<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>${junit.version}</version><scope>test</scope></dependency>
<dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId><version>${mockito.version}</version><scope>test</scope></dependency>
<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><scope>test</scope></dependency>
<dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId><scope>test</scope></dependency>
<dependency><groupId>${project.groupId}</groupId><artifactId>featureframework-testkit</artifactId><version>${project.version}</version><scope>test</scope></dependency>
</dependencies>
<build><plugins><plugin><artifactId>maven-jar-plugin</artifactId><configuration><archive><manifestEntries>
Expand Down
6 changes: 3 additions & 3 deletions featureframework-dataprovider/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
<description>Feature-scoped DataProvider resources shared by every platform.</description>
<dependencies>
<dependency><groupId>${project.groupId}</groupId><artifactId>featureframework-core</artifactId><version>${project.version}</version></dependency>
<dependency><groupId>nl.hauntedmc.dataprovider</groupId><artifactId>dataprovider-api</artifactId><version>${dataprovider.version}</version><scope>provided</scope></dependency>
<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>${junit.version}</version><scope>test</scope></dependency>
<dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId><version>${mockito.version}</version><scope>test</scope></dependency>
<dependency><groupId>nl.hauntedmc.dataprovider</groupId><artifactId>dataprovider-api</artifactId><version>${haunted.dataprovider.version}</version><scope>provided</scope></dependency>
<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><scope>test</scope></dependency>
<dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId><scope>test</scope></dependency>
</dependencies>
<build><plugins><plugin><artifactId>maven-jar-plugin</artifactId><configuration><archive><manifestEntries>
<Automatic-Module-Name>nl.hauntedmc.featureframework.dataprovider</Automatic-Module-Name>
Expand Down
8 changes: 4 additions & 4 deletions featureframework-dataregistry/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@
<description>Platform-neutral DataRegistry identity and player-reference support.</description>
<dependencies>
<dependency><groupId>${project.groupId}</groupId><artifactId>featureframework-core</artifactId><version>${project.version}</version></dependency>
<dependency><groupId>nl.hauntedmc.dataregistry</groupId><artifactId>dataregistry-api</artifactId><version>${dataregistry.version}</version><scope>provided</scope></dependency>
<dependency><groupId>jakarta.persistence</groupId><artifactId>jakarta.persistence-api</artifactId><version>${jakarta.persistence.version}</version><scope>provided</scope></dependency>
<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>${junit.version}</version><scope>test</scope></dependency>
<dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId><version>${mockito.version}</version><scope>test</scope></dependency>
<dependency><groupId>nl.hauntedmc.dataregistry</groupId><artifactId>dataregistry-api</artifactId><version>${haunted.dataregistry.version}</version><scope>provided</scope></dependency>
<dependency><groupId>jakarta.persistence</groupId><artifactId>jakarta.persistence-api</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><scope>test</scope></dependency>
<dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId><scope>test</scope></dependency>
</dependencies>
<build><plugins><plugin><artifactId>maven-jar-plugin</artifactId><configuration><archive><manifestEntries>
<Automatic-Module-Name>nl.hauntedmc.featureframework.dataregistry</Automatic-Module-Name>
Expand Down
2 changes: 1 addition & 1 deletion featureframework-mockito-testkit/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@
<maven.javadoc.skip>true</maven.javadoc.skip>
</properties>
<dependencies>
<dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId><version>${mockito.version}</version></dependency>
<dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId></dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,15 @@
* This avoids class retransformation for common interface/class mocks under coverage agents
* while keeping support for tests that rely on static mocking.
*
* Mockito's {@link MockMaker} SPI still exposes raw handler/settings parameters, so implementations
* must mirror those raw signatures to override the interface methods.
* Mockito's {@link MockMaker} SPI uses typed handlers for mock creation.
*/
@SuppressWarnings("rawtypes")
public final class CoverageFriendlyMockMaker implements MockMaker {

private final MockMaker subclass = new ByteBuddyMockMaker();
private final MockMaker inline = new InlineByteBuddyMockMaker();

@Override
public <T> T createMock(MockCreationSettings<T> settings, MockHandler handler) {
public <T> T createMock(MockCreationSettings<T> settings, MockHandler<T> handler) {
Class<T> type = settings.getTypeToMock();
if (isSubclassMockable(type)) {
return subclass.createMock(settings, handler);
Expand All @@ -35,7 +33,7 @@ public <T> T createMock(MockCreationSettings<T> settings, MockHandler handler) {
}

@Override
public <T> Optional<T> createSpy(MockCreationSettings<T> settings, MockHandler handler, T instance) {
public <T> Optional<T> createSpy(MockCreationSettings<T> settings, MockHandler<T> handler, T instance) {
Class<T> type = settings.getTypeToMock();
if (isSubclassMockable(type)) {
return subclass.createSpy(settings, handler, instance);
Expand All @@ -44,14 +42,14 @@ public <T> Optional<T> createSpy(MockCreationSettings<T> settings, MockHandler h
}

@Override
public MockHandler getHandler(Object mock) {
MockHandler handler = subclass.getHandler(mock);
public MockHandler<?> getHandler(Object mock) {
MockHandler<?> handler = subclass.getHandler(mock);
return handler != null ? handler : inline.getHandler(mock);
}

@Override
public void resetMock(Object mock, MockHandler newHandler, MockCreationSettings settings) {
MockHandler existing = subclass.getHandler(mock);
public void resetMock(Object mock, MockHandler<?> newHandler, MockCreationSettings<?> settings) {
MockHandler<?> existing = subclass.getHandler(mock);
if (existing != null) {
subclass.resetMock(mock, newHandler, settings);
return;
Expand All @@ -72,7 +70,7 @@ public TypeMockability isTypeMockable(Class<?> type) {
public <T> StaticMockControl<T> createStaticMock(
Class<T> type,
MockCreationSettings<T> settings,
MockHandler handler
MockHandler<T> handler
) {
return inline.createStaticMock(type, settings, handler);
}
Expand Down
14 changes: 7 additions & 7 deletions featureframework-paper-integrations/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@
<dependency><groupId>${project.groupId}</groupId><artifactId>featureframework-paper</artifactId><version>${project.version}</version></dependency>
<dependency><groupId>${project.groupId}</groupId><artifactId>featureframework-dataprovider</artifactId><version>${project.version}</version></dependency>
<dependency><groupId>${project.groupId}</groupId><artifactId>featureframework-dataregistry</artifactId><version>${project.version}</version></dependency>
<dependency><groupId>nl.hauntedmc.dataprovider</groupId><artifactId>dataprovider-api</artifactId><version>${dataprovider.version}</version><scope>provided</scope></dependency>
<dependency><groupId>nl.hauntedmc.dataregistry</groupId><artifactId>dataregistry-api</artifactId><version>${dataregistry.version}</version><scope>provided</scope></dependency>
<dependency><groupId>io.papermc.paper</groupId><artifactId>paper-api</artifactId><version>${paper.version}</version><scope>provided</scope></dependency>
<dependency><groupId>me.clip</groupId><artifactId>placeholderapi</artifactId><version>${placeholderapi.version}</version><scope>provided</scope></dependency>
<dependency><groupId>com.viaversion</groupId><artifactId>viaversion-api</artifactId><version>${viaversion.version}</version><scope>provided</scope></dependency>
<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>${junit.version}</version><scope>test</scope></dependency>
<dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId><version>${mockito.version}</version><scope>test</scope></dependency>
<dependency><groupId>nl.hauntedmc.dataprovider</groupId><artifactId>dataprovider-api</artifactId><version>${haunted.dataprovider.version}</version><scope>provided</scope></dependency>
<dependency><groupId>nl.hauntedmc.dataregistry</groupId><artifactId>dataregistry-api</artifactId><version>${haunted.dataregistry.version}</version><scope>provided</scope></dependency>
<dependency><groupId>io.papermc.paper</groupId><artifactId>paper-api</artifactId><version>${haunted.paper.version}</version><scope>provided</scope></dependency>
<dependency><groupId>me.clip</groupId><artifactId>placeholderapi</artifactId><version>${haunted.placeholderapi.version}</version><scope>provided</scope></dependency>
<dependency><groupId>com.viaversion</groupId><artifactId>viaversion-api</artifactId><version>${haunted.viaversion.version}</version><scope>provided</scope></dependency>
<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><scope>test</scope></dependency>
<dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId><scope>test</scope></dependency>
</dependencies>
<build><plugins><plugin><artifactId>maven-jar-plugin</artifactId><configuration><archive><manifestEntries>
<Automatic-Module-Name>nl.hauntedmc.featureframework.paper.integrations</Automatic-Module-Name>
Expand Down
6 changes: 3 additions & 3 deletions featureframework-paper-toolkit/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
<description>Optional Paper UI and platform utility toolkit.</description>
<dependencies>
<dependency><groupId>${project.groupId}</groupId><artifactId>featureframework-paper</artifactId><version>${project.version}</version></dependency>
<dependency><groupId>io.papermc.paper</groupId><artifactId>paper-api</artifactId><version>${paper.version}</version><scope>provided</scope></dependency>
<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>${junit.version}</version><scope>test</scope></dependency>
<dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId><version>${mockito.version}</version><scope>test</scope></dependency>
<dependency><groupId>io.papermc.paper</groupId><artifactId>paper-api</artifactId><version>${haunted.paper.version}</version><scope>provided</scope></dependency>
<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><scope>test</scope></dependency>
<dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId><scope>test</scope></dependency>
</dependencies>
<build><plugins><plugin><artifactId>maven-jar-plugin</artifactId><configuration><archive><manifestEntries>
<Automatic-Module-Name>nl.hauntedmc.featureframework.paper.toolkit</Automatic-Module-Name>
Expand Down
8 changes: 4 additions & 4 deletions featureframework-paper/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
<dependencies>
<dependency><groupId>${project.groupId}</groupId><artifactId>featureframework-core</artifactId><version>${project.version}</version></dependency>
<dependency><groupId>${project.groupId}</groupId><artifactId>featureframework-cluster</artifactId><version>${project.version}</version></dependency>
<dependency><groupId>io.papermc.paper</groupId><artifactId>paper-api</artifactId><version>${paper.version}</version><scope>provided</scope></dependency>
<dependency><groupId>com.mojang</groupId><artifactId>brigadier</artifactId><version>${brigadier.version}</version><scope>provided</scope></dependency>
<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>${junit.version}</version><scope>test</scope></dependency>
<dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId><version>${mockito.version}</version><scope>test</scope></dependency>
<dependency><groupId>io.papermc.paper</groupId><artifactId>paper-api</artifactId><version>${haunted.paper.version}</version><scope>provided</scope></dependency>
<dependency><groupId>com.mojang</groupId><artifactId>brigadier</artifactId><version>${haunted.brigadier.version}</version><scope>provided</scope></dependency>
<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><scope>test</scope></dependency>
<dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId><scope>test</scope></dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<dependency>
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
<version>${paper.version}</version>
<version>${haunted.paper.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ trap cleanup EXIT

fail() { echo "FeatureFramework acceptance failure: $*" >&2; exit 1; }
require() { command -v "$1" >/dev/null 2>&1 || fail "Missing required command: $1"; }
property() { sed -n "s|.*<$1>\(.*\)</$1>.*|\1|p" "$root_directory/pom.xml" | head -n 1; }
property() { (cd "$root_directory" && mvn -q help:evaluate -Dexpression="$1" -DforceStdout); }
wait_for_log() {
local file=$1 expected=$2 platform=$3 deadline=$((SECONDS + 180))
while (( SECONDS < deadline )); do
Expand Down Expand Up @@ -69,8 +69,8 @@ run_paper() {
local plugin="$acceptance_directory/paper-plugin/target/featureframework-acceptance-paper.jar"
[[ -f "$plugin" ]] || fail "Missing dummy Paper plugin: $plugin"
mkdir -p "$directory/plugins"
download_runtime paper "$(property paper.runtime.version)" "$(property paper.runtime.build)" \
"$(property paper.runtime.sha256)" "$directory/paper.jar"
download_runtime paper "$(property haunted.paper.runtime.version)" "$(property haunted.paper.runtime.build)" \
"$(property haunted.paper.runtime.sha256)" "$directory/paper.jar"
cp "$plugin" "$directory/plugins/FeatureFrameworkAcceptancePaper.jar"
printf '%s\n' 'eula=true' >"$directory/eula.txt"
printf '%s\n' 'online-mode=false' 'spawn-protection=0' >"$directory/server.properties"
Expand All @@ -93,8 +93,8 @@ run_velocity() {
local plugin="$acceptance_directory/velocity-plugin/target/featureframework-acceptance-velocity.jar"
[[ -f "$plugin" ]] || fail "Missing dummy Velocity plugin: $plugin"
mkdir -p "$directory/plugins"
download_runtime velocity "$(property velocity.version)" "$(property velocity.runtime.build)" \
"$(property velocity.runtime.sha256)" "$directory/velocity.jar"
download_runtime velocity "$(property haunted.velocity.version)" "$(property haunted.velocity.runtime.build)" \
"$(property haunted.velocity.runtime.sha256)" "$directory/velocity.jar"
cp "$plugin" "$directory/plugins/FeatureFrameworkAcceptanceVelocity.jar"
mkfifo "$directory/console.in"
(cd "$directory" && exec java -Xms256M -Xmx768M -jar velocity.jar \
Expand Down
Loading
Loading