diff --git a/settings.gradle.kts b/settings.gradle.kts index de0b81d..7ccb161 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -12,3 +12,4 @@ plugins { rootProject.name = "Marinara" include("lib") +include("wrapper:javacord") diff --git a/wrapper/javacord/build.gradle.kts b/wrapper/javacord/build.gradle.kts new file mode 100644 index 0000000..07d1b57 --- /dev/null +++ b/wrapper/javacord/build.gradle.kts @@ -0,0 +1,37 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * This generated file contains a sample Java library project to get you started. + * For more details on building Java & JVM projects, please refer to https://docs.gradle.org/8.8/userguide/building_java_projects.html in the Gradle documentation. + */ + +plugins { + // Apply the java-library plugin for API and implementation separation. + `java-library` +} + +repositories { + // Use Maven Central for resolving dependencies. + mavenCentral() +} + +dependencies { + // Use JUnit Jupiter for testing. + testImplementation(libs.junit.jupiter) + + testRuntimeOnly("org.junit.platform:junit-platform-launcher") + implementation(libs.log4j) + implementation(project(":lib")) +} + +// Apply a specific Java toolchain to ease working on different environments. +java { + toolchain { + languageVersion = JavaLanguageVersion.of(21) + } +} + +tasks.named("test") { + // Use JUnit Platform for unit tests. + useJUnitPlatform() +} diff --git a/wrapper/javacord/src/main/java/net/tomatentum/marinare/wrapper/javacord/JavacordWrapper.java b/wrapper/javacord/src/main/java/net/tomatentum/marinare/wrapper/javacord/JavacordWrapper.java new file mode 100644 index 0000000..c890e6e --- /dev/null +++ b/wrapper/javacord/src/main/java/net/tomatentum/marinare/wrapper/javacord/JavacordWrapper.java @@ -0,0 +1,35 @@ +package net.tomatentum.marinare.wrapper.javacord; + +import net.tomatentum.marinara.interaction.InteractionType; +import net.tomatentum.marinara.interaction.commands.ApplicationCommandDefinition; +import net.tomatentum.marinara.interaction.commands.ExecutableCommandDefinition; +import net.tomatentum.marinara.interaction.commands.option.OptionType; +import net.tomatentum.marinara.wrapper.LibraryWrapper; + +public class JavacordWrapper extends LibraryWrapper { + + @Override + public void registerApplicationCommand(ApplicationCommandDefinition def) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'registerApplicationCommand'"); + } + + @Override + public InteractionType getInteractionType(Class clazz) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'getInteractionType'"); + } + + @Override + public Object convertCommandOption(Object context, OptionType type, String optionName) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'convertCommandOption'"); + } + + @Override + public ExecutableCommandDefinition getCommandDefinition(Object context) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'getCommandDefinition'"); + } + +}