Skip to content

Commit

Permalink
Merge branch 'dev/patch' into dev/feature
Browse files Browse the repository at this point in the history
  • Loading branch information
APickledWalrus committed Sep 2, 2024
2 parents 29c6764 + 474d6f3 commit 0945caa
Show file tree
Hide file tree
Showing 31 changed files with 1,207 additions and 610 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Disabled as EasyMock 5.2.0 is required for Java 21 support
# However, we are currently using 5.0.1 (see https://github.com/SkriptLang/Skript/pull/6204#discussion_r1405302009)
name: JUnit (MC 1.20.6+)

on:
Expand Down
14 changes: 6 additions & 8 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ dependencies {
implementation fileTree(dir: 'lib', include: '*.jar')

testShadow group: 'junit', name: 'junit', version: '4.13.2'
testShadow group: 'org.easymock', name: 'easymock', version: '5.0.1'
testShadow group: 'org.easymock', name: 'easymock', version: '5.4.0'
}

task checkAliases {
Expand Down Expand Up @@ -70,7 +70,7 @@ task build(overwrite: true, type: ShadowJar) {
from sourceSets.main.output
}

// Excludes the tests for the build task. Should be using junit, junitJava17, skriptTest, quickTest.
// Excludes the tests for the build task. Should be using JUnitQuick, JUnitJava21, JUnitJava17, skriptTest, quickTest.
// We do not want tests to run for building. That's time consuming and annoying. Especially in development.
test {
exclude '**/*'
Expand Down Expand Up @@ -238,8 +238,8 @@ def latestEnv = 'java21/paper-1.21.0.json'
def latestJava = java21
def oldestJava = java17

def latestJUnitEnv = 'java17/paper-1.20.4.json'
def latestJUnitJava = java17
def latestJUnitEnv = latestEnv
def latestJUnitJava = latestJava

java {
toolchain.languageVersion.set(JavaLanguageVersion.of(latestJava))
Expand Down Expand Up @@ -269,13 +269,11 @@ tasks.register('skriptTest') {
}

createTestTask('JUnitQuick', 'Runs JUnit tests on one environment being the latest supported Java and Minecraft.', environments + latestJUnitEnv, latestJUnitJava, 0, Modifiers.JUNIT)
// Disabled as EasyMock 5.2.0 is required for Java 21 support
// However, we are currently using 5.0.1 (see https://github.com/SkriptLang/Skript/pull/6204#discussion_r1405302009)
//createTestTask('JUnitJava21', 'Runs JUnit tests on all Java 21 environments.', environments + 'java21', java21, 0, Modifiers.JUNIT)
createTestTask('JUnitJava21', 'Runs JUnit tests on all Java 21 environments.', environments + 'java21', java21, 0, Modifiers.JUNIT)
createTestTask('JUnitJava17', 'Runs JUnit tests on all Java 17 environments.', environments + 'java17', java17, 0, Modifiers.JUNIT)
tasks.register('JUnit') {
description = 'Runs JUnit tests on all environments.'
dependsOn JUnitJava17//, JUnitJava21
dependsOn JUnitJava17, JUnitJava21
}

// Build flavor configurations
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ org.gradle.parallel=true

groupid=ch.njol
name=skript
version=2.9.1
version=2.9.2
jarName=Skript.jar
testEnv=java21/paper-1.21.0
testEnvJavaVersion=21
77 changes: 5 additions & 72 deletions src/main/java/ch/njol/skript/Skript.java
Original file line number Diff line number Diff line change
@@ -1,21 +1,3 @@
/**
* This file is part of Skript.
*
* Skript is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Skript is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Skript. If not, see <http://www.gnu.org/licenses/>.
*
* Copyright Peter Güttinger, SkriptLang team and contributors
*/
package ch.njol.skript;

import ch.njol.skript.aliases.Aliases;
Expand Down Expand Up @@ -60,6 +42,7 @@
import ch.njol.skript.log.Verbosity;
import ch.njol.skript.registrations.Classes;
import ch.njol.skript.registrations.EventValues;
import ch.njol.skript.registrations.Feature;
import ch.njol.skript.test.runner.EffObjectives;
import ch.njol.skript.test.runner.SkriptJUnitTest;
import ch.njol.skript.test.runner.SkriptTestEvent;
Expand Down Expand Up @@ -91,7 +74,6 @@
import com.google.gson.Gson;

import org.bstats.bukkit.Metrics;
import org.bstats.charts.SimplePie;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
Expand All @@ -109,18 +91,18 @@
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.java.JavaPlugin;
import org.eclipse.jdt.annotation.Nullable;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.UnknownNullability;
import org.junit.After;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.skriptlang.skript.bukkit.SkriptMetrics;
import org.skriptlang.skript.lang.comparator.Comparator;
import org.skriptlang.skript.lang.comparator.Comparators;
import org.skriptlang.skript.lang.converter.Converter;
import org.skriptlang.skript.lang.converter.Converters;
import org.skriptlang.skript.lang.entry.EntryValidator;
import org.skriptlang.skript.lang.experiment.ExperimentRegistry;
import ch.njol.skript.registrations.Feature;
import org.skriptlang.skript.lang.script.Script;
import org.skriptlang.skript.lang.structure.Structure;
import org.skriptlang.skript.lang.structure.StructureInfo;
Expand Down Expand Up @@ -793,57 +775,8 @@ protected void afterErrors() {
}, 100);
}

// Enable metrics and register custom charts
Metrics metrics = new Metrics(Skript.this, 722); // 722 is our bStats plugin ID
metrics.addCustomChart(new SimplePie("pluginLanguage", Language::getName));
metrics.addCustomChart(new SimplePie("effectCommands", () ->
SkriptConfig.enableEffectCommands.value().toString()
));
metrics.addCustomChart(new SimplePie("uuidsWithPlayers", () ->
SkriptConfig.usePlayerUUIDsInVariableNames.value().toString()
));
metrics.addCustomChart(new SimplePie("playerVariableFix", () ->
SkriptConfig.enablePlayerVariableFix.value().toString()
));
metrics.addCustomChart(new SimplePie("logVerbosity", () ->
SkriptConfig.verbosity.value().name().toLowerCase(Locale.ENGLISH).replace('_', ' ')
));
metrics.addCustomChart(new SimplePie("pluginPriority", () ->
SkriptConfig.defaultEventPriority.value().name().toLowerCase(Locale.ENGLISH).replace('_', ' ')
));
metrics.addCustomChart(new SimplePie("logPlayerCommands", () ->
String.valueOf((SkriptConfig.logEffectCommands.value() || SkriptConfig.logPlayerCommands.value()))
));
metrics.addCustomChart(new SimplePie("maxTargetDistance", () ->
SkriptConfig.maxTargetBlockDistance.value().toString()
));
metrics.addCustomChart(new SimplePie("softApiExceptions", () ->
SkriptConfig.apiSoftExceptions.value().toString()
));
metrics.addCustomChart(new SimplePie("timingsStatus", () -> {
if (!Skript.classExists("co.aikar.timings.Timings"))
return "unsupported";
return SkriptConfig.enableTimings.value().toString();
}));
metrics.addCustomChart(new SimplePie("parseLinks", () ->
ChatMessages.linkParseMode.name().toLowerCase(Locale.ENGLISH)
));
metrics.addCustomChart(new SimplePie("colorResetCodes", () ->
SkriptConfig.colorResetCodes.value().toString()
));
metrics.addCustomChart(new SimplePie("functionsWithNulls", () ->
SkriptConfig.executeFunctionsWithMissingParams.value().toString()
));
metrics.addCustomChart(new SimplePie("buildFlavor", () -> {
if (updater != null)
return updater.getCurrentRelease().flavor;
return "unknown";
}));
metrics.addCustomChart(new SimplePie("updateCheckerEnabled", () ->
SkriptConfig.checkForNewVersion.value().toString()
));
metrics.addCustomChart(new SimplePie("releaseChannel", SkriptConfig.releaseChannel::value));
Skript.metrics = metrics;
Skript.metrics = new Metrics(Skript.getInstance(), 722); // 722 is our bStats plugin ID
SkriptMetrics.setupMetrics(Skript.metrics);

/*
* Start loading scripts
Expand Down
30 changes: 6 additions & 24 deletions src/main/java/ch/njol/skript/SkriptConfig.java
Original file line number Diff line number Diff line change
@@ -1,21 +1,3 @@
/**
* This file is part of Skript.
*
* Skript is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Skript is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Skript. If not, see <http://www.gnu.org/licenses/>.
*
* Copyright Peter Güttinger, SkriptLang team and contributors
*/
package ch.njol.skript;

import ch.njol.skript.config.Config;
Expand Down Expand Up @@ -43,7 +25,7 @@
import ch.njol.skript.variables.Variables;
import co.aikar.timings.Timings;
import org.bukkit.event.EventPriority;
import org.eclipse.jdt.annotation.Nullable;
import org.jetbrains.annotations.Nullable;

import java.io.File;
import java.io.IOException;
Expand Down Expand Up @@ -79,21 +61,21 @@ public class SkriptConfig {
}
});

static final Option<Boolean> checkForNewVersion = new Option<>("check for new version", false)
public static final Option<Boolean> checkForNewVersion = new Option<>("check for new version", false)
.setter(t -> {
SkriptUpdater updater = Skript.getInstance().getUpdater();
if (updater != null)
updater.setEnabled(t);
});
static final Option<Timespan> updateCheckInterval = new Option<>("update check interval", new Timespan(12 * 60 * 60 * 1000))
public static final Option<Timespan> updateCheckInterval = new Option<>("update check interval", new Timespan(12 * 60 * 60 * 1000))
.setter(t -> {
SkriptUpdater updater = Skript.getInstance().getUpdater();
if (updater != null)
updater.setCheckFrequency(t.getTicks());
});
static final Option<Integer> updaterDownloadTries = new Option<>("updater download tries", 7)
.optional(true);
static final Option<String> releaseChannel = new Option<>("release channel", "none")
public static final Option<String> releaseChannel = new Option<>("release channel", "none")
.setter(t -> {
ReleaseChannel channel;
switch (t) {
Expand Down Expand Up @@ -140,7 +122,7 @@ public class SkriptConfig {

@SuppressWarnings("null")
private static final DateFormat shortDateFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
private static final Option<DateFormat> dateFormat = new Option<>("date format", shortDateFormat, s -> {
public static final Option<DateFormat> dateFormat = new Option<>("date format", shortDateFormat, s -> {
try {
if (s.equalsIgnoreCase("default"))
return null;
Expand All @@ -158,7 +140,7 @@ public static String formatDate(final long timestamp) {
}
}

static final Option<Verbosity> verbosity = new Option<>("verbosity", Verbosity.NORMAL, new EnumParser<>(Verbosity.class, "verbosity"))
public static final Option<Verbosity> verbosity = new Option<>("verbosity", Verbosity.NORMAL, new EnumParser<>(Verbosity.class, "verbosity"))
.setter(SkriptLogger::setVerbosity);

public static final Option<EventPriority> defaultEventPriority = new Option<>("plugin priority", EventPriority.NORMAL, s -> {
Expand Down
108 changes: 0 additions & 108 deletions src/main/java/ch/njol/skript/bukkitutil/AdventureSoundReceiver.java

This file was deleted.

Loading

0 comments on commit 0945caa

Please sign in to comment.