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
14 changes: 12 additions & 2 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,22 @@ plugins {

group = "igs-landstuhl"

version = "v2.0.0-SNAPSHOT-1"
version = "v2.0.0-SNAPSHOT-2"

application {
mainClass.set("de.igslandstuhl.database.Application")
}

repositories {
mavenCentral()
maven {
name = "Plugin Loader Repository"
url = uri("https://maven.pkg.github.com/Learn-Monitor/plugin-loader/")
credentials {
username = System.getenv("GITHUB_ACTOR")
password = System.getenv("GITHUB_TOKEN")
}
}
}

dependencies {
Expand All @@ -23,12 +31,14 @@ dependencies {
implementation("commons-codec:commons-codec:1.19.0")
implementation("com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer:20260101.1")
implementation("org.jline:jline:3.30.6") // for better console input handling
implementation("org.yaml:snakeyaml:2.2") // plugin imports

// Logging
implementation("org.slf4j:slf4j-api:2.0.13")
implementation("ch.qos.logback:logback-classic:1.5.6")

// built-in plugins
implementation("de.igs-landstuhl:plugin-loader:v1.0.5")

testImplementation("org.junit.jupiter:junit-jupiter:5.13.4") // using JUnit 5 (latest)
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
}
Expand Down
6 changes: 6 additions & 0 deletions src/main/java/de/igslandstuhl/database/Application.java
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,17 @@ public Topic[] readFile(String file) throws SerializationException, SQLException
return topics.toArray(topicsArr);
}

private static void registerBuiltinPlugins() {
LOGGER.info("Registering built-in plugins...");
Registry.builtinPluginRegistry().register("plugin-loader", de.igslandstuhl.database.plugins.PluginLoader.class);
}

public static void main(String[] args) throws Exception {
LOGGER.info("Starting up student-database...");

instance = new Application(args);

registerBuiltinPlugins();
PluginLoader.getInstance().preloadPlugins();

if (!getInstance().suppressCmd()) {
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/de/igslandstuhl/database/Registry.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import de.igslandstuhl.database.client.dynamic.DynamicFieldType;
import de.igslandstuhl.database.client.navigation.NavigationElement;
import de.igslandstuhl.database.client.navigation.NavigationType;
import de.igslandstuhl.database.plugins.BuiltinPlugin;
import de.igslandstuhl.database.plugins.Plugin;
import de.igslandstuhl.database.server.commands.Command;
import de.igslandstuhl.database.server.commands.CommandDescription;
Expand All @@ -28,6 +29,7 @@ public class Registry<K, V> implements Closeable {
private static final Registry<String,HttpHandler<GetRequest>> GET_HANDLER_REGISTRY = new Registry<>();
private static final Registry<String,SQLRequestHandler> SQL_REQUEST_HANDLER_REGISTRY = new Registry<>();
private static final Registry<String,Plugin> PLUGIN_REGISTRY = new Registry<>();
private static final Registry<String,Class<? extends BuiltinPlugin>> BUILTIN_PLUGIN_REGISTRY = new Registry<>();
private static final Registry<String,WebPath> WEB_PATH_REGISTRY = new Registry<>();

private static final EnumRegistry<NavigationType,NavigationElement> NAVIGATION_REGISTRY = new EnumRegistry<>(NavigationType.class);
Expand All @@ -49,6 +51,9 @@ public static Registry<String, SQLRequestHandler> sqlRequestHandlerRegistry() {
public static Registry<String, Plugin> pluginRegistry() {
return PLUGIN_REGISTRY;
}
public static Registry<String, Class<? extends BuiltinPlugin>> builtinPluginRegistry() {
return BUILTIN_PLUGIN_REGISTRY;
}
public static Registry<String, CommandDescription> commandDescriptionRegistry() {
return COMMAND_DESCRIPTION_REGISTRY;
}
Expand Down
126 changes: 0 additions & 126 deletions src/main/java/de/igslandstuhl/database/plugins/Plugin.java

This file was deleted.

This file was deleted.

Loading
Loading