/* * This file was generated by the Gradle 'init' task. * * This generated file contains a sample Java application project to get you started. * For more details on building Java & JVM projects, please refer to https://docs.gradle.org/8.13/userguide/building_java_projects.html in the Gradle documentation. */ plugins { // Apply the application plugin to add support for building a CLI application in Java. id 'application' id 'org.openjfx.javafxplugin' version '0.1.0' } 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' // This dependency is used by the application. implementation libs.guava } // Apply a specific Java toolchain to ease working on different environments. java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } javafx { modules = [ 'javafx.graphics', 'javafx.controls', 'javafx.fxml' ] } application { // Define the main class for the application. mainClass = 'client.ClientGui' } run { standardInput = System.in } tasks.named('test') { // Use JUnit Platform for unit tests. useJUnitPlatform() } tasks.register("admin", JavaExec){ group = "ChatAppConsole" description = "Runs the server + the admin client" mainClass.set("ChatApp") classpath = sourceSets.main.runtimeClasspath standardInput = System.in } tasks.register("server", JavaExec){ group = "ChatAppConsole" description = "Runs the headless server" mainClass.set("ChatAppServer") classpath = sourceSets.main.runtimeClasspath standardInput = System.in } tasks.register("client", JavaExec) { group = "ChatAppConsole" description = "Runs the client" mainClass.set("ChatAppClient") classpath = sourceSets.main.runtimeClasspath standardInput = System.in } tasks.register("serverGUI", JavaExec) { group = "ChatAppGUI" description = "Runs a GUI for the server" mainClass.set('server.ServerGUI') classpath = sourceSets.main.runtimeClasspath }