/* * 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 }