From c128e026ecfab62f70c1f010d3105bfa860bcfd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Przemys=C5=82aw=20Pluta?= Date: Sat, 30 Jan 2021 09:32:27 +0100 Subject: [PATCH] Add required dependencies --- app/build.gradle | 62 ++++++++++++++++++++++++++++++++++++++++--- app/gradle.properties | 5 ++++ 2 files changed, 64 insertions(+), 3 deletions(-) create mode 100755 app/gradle.properties diff --git a/app/build.gradle b/app/build.gradle index 2eb915f4..29c9e67c 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -7,21 +7,77 @@ */ plugins { - // Apply the application plugin to add support for building a CLI application in Java. + id 'org.springframework.boot' version "$springBootVersion" + id 'io.spring.dependency-management' version "$springDependencyManagementVersion" id 'application' + id 'java' +} + +import org.gradle.internal.os.OperatingSystem + +switch (OperatingSystem.current()) { + case OperatingSystem.LINUX: + def osArch = System.getProperty("os.arch") + project.ext.lwjglNatives = osArch.startsWith("arm") || osArch.startsWith("aarch64") + ? "natives-linux-${osArch.contains("64") || osArch.startsWith("armv8") ? "arm64" : "arm32"}" + : "natives-linux" + break + case OperatingSystem.MAC_OS: + project.ext.lwjglNatives = "natives-macos" + break + case OperatingSystem.WINDOWS: + project.ext.lwjglNatives = System.getProperty("os.arch").contains("64") ? "natives-windows" : "natives-windows-x86" + break +} + +configurations { + compileOnly { + extendsFrom annotationProcessor + } } repositories { - // Use JCenter for resolving dependencies. + mavenCentral() jcenter() } dependencies { + implementation platform("org.lwjgl:lwjgl-bom:$lwjglVersion") + + // LWJGL + implementation "org.lwjgl:lwjgl" + implementation "org.lwjgl:lwjgl-assimp" + implementation "org.lwjgl:lwjgl-bgfx" + implementation "org.lwjgl:lwjgl-glfw" + implementation "org.lwjgl:lwjgl-nanovg" + implementation "org.lwjgl:lwjgl-nuklear" + implementation "org.lwjgl:lwjgl-openal" + implementation "org.lwjgl:lwjgl-opengl" + implementation "org.lwjgl:lwjgl-par" + implementation "org.lwjgl:lwjgl-stb" + runtimeOnly "org.lwjgl:lwjgl::$lwjglNatives" + runtimeOnly "org.lwjgl:lwjgl-assimp::$lwjglNatives" + runtimeOnly "org.lwjgl:lwjgl-bgfx::$lwjglNatives" + runtimeOnly "org.lwjgl:lwjgl-glfw::$lwjglNatives" + runtimeOnly "org.lwjgl:lwjgl-nanovg::$lwjglNatives" + runtimeOnly "org.lwjgl:lwjgl-nuklear::$lwjglNatives" + runtimeOnly "org.lwjgl:lwjgl-openal::$lwjglNatives" + runtimeOnly "org.lwjgl:lwjgl-opengl::$lwjglNatives" + runtimeOnly "org.lwjgl:lwjgl-par::$lwjglNatives" + runtimeOnly "org.lwjgl:lwjgl-stb::$lwjglNatives" + + // Spring + implementation 'org.springframework.boot:spring-boot-starter' + compileOnly 'org.projectlombok:lombok' + annotationProcessor 'org.projectlombok:lombok' + testImplementation 'org.springframework.boot:spring-boot-starter-test' + // Use JUnit test framework. testImplementation 'junit:junit:4.13' // This dependency is used by the application. - implementation 'com.google.guava:guava:29.0-jre' + implementation "com.google.guava:guava:${guavaVersion}" + implementation "org.joml:joml:${jomlVersion}" } application { diff --git a/app/gradle.properties b/app/gradle.properties new file mode 100755 index 00000000..4b087e94 --- /dev/null +++ b/app/gradle.properties @@ -0,0 +1,5 @@ +lwjglVersion=3.2.3 +springBootVersion=2.4.2 +springDependencyManagementVersion=1.0.11.RELEASE +jomlVersion=1.10.0 +guavaVersion=29.0-jre