/* * 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 take a look at the 'Building Java & JVM projects' chapter in the Gradle * User Manual available at https://docs.gradle.org/8.0.2/userguide/building_java_projects.html */ plugins { // Apply the application plugin to add support for building a CLI application in Java. id "application" } repositories { // Use Maven Central for resolving dependencies. mavenCentral() } def os = "linux" def lwjgl_version = "3.3.6" def lwjgl_natives = "natives-$os" def imgui_version = "1.87.0" dependencies { // Use JUnit Jupiter for testing. testImplementation "org.junit.jupiter:junit-jupiter:5.9.1" implementation "org.lwjgl:lwjgl:$lwjgl_version" implementation "org.lwjgl:lwjgl-opengl:$lwjgl_version" implementation "org.lwjgl:lwjgl-glfw:$lwjgl_version" implementation "org.lwjgl:lwjgl-assimp:$lwjgl_version" implementation "org.joml:joml:1.10.8" implementation "org.lwjgl:lwjgl::$lwjgl_natives" implementation "org.lwjgl:lwjgl-opengl::$lwjgl_natives" implementation "org.lwjgl:lwjgl-glfw::$lwjgl_natives" implementation "org.lwjgl:lwjgl-assimp::$lwjgl_natives" implementation "io.github.spair:imgui-java-binding:$imgui_version" implementation "io.github.spair:imgui-java-natives-$os:$imgui_version" implementation "io.github.spair:imgui-java-app:$imgui_version" } application { // Define the main class for the application. mainClass = "chess.App" applicationName = "3DChess" } // Add libraries into the final jar jar { archiveBaseName = rootProject.getName() + "-" + os duplicatesStrategy = DuplicatesStrategy.EXCLUDE manifest { attributes "Main-Class": application.mainClass } from { configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } } } run { standardInput = System.in } tasks.named('test') { // Use JUnit Platform for unit tests. useJUnitPlatform() }