diff options
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/build.gradle | 94 | ||||
-rw-r--r-- | desktop/src/main/java/org/snoopdesigns/endless/desktop/DesktopLauncher.java | 26 | ||||
-rw-r--r-- | desktop/src/org/snoopdesigns/endless/DesktopLauncher.java | 23 |
3 files changed, 85 insertions, 58 deletions
diff --git a/desktop/build.gradle b/desktop/build.gradle index cd2a88a..9fc469d 100644 --- a/desktop/build.gradle +++ b/desktop/build.gradle @@ -1,49 +1,73 @@ -sourceCompatibility = 17 -sourceSets.main.java.srcDirs = [ "src/" ] -sourceSets.main.resources.srcDirs = ["../assets"] - -project.ext.mainClassName = "org.snoopdesigns.endless.DesktopLauncher" -project.ext.assetsDir = new File("../assets") - -import org.gradle.internal.os.OperatingSystem - -tasks.register('run', JavaExec) { - dependsOn classes - mainClass = project.mainClassName - classpath = sourceSets.main.runtimeClasspath - standardInput = System.in - workingDir = project.assetsDir - ignoreExitValue = true - - if (OperatingSystem.current() == OperatingSystem.MAC_OS) { - // Required to run on macOS - jvmArgs += "-XstartOnFirstThread" +buildscript { + repositories { + gradlePluginPortal() } + dependencies { + } +} + +plugins { + id "application" +} + +sourceSets.main.resources.srcDirs += [rootProject.file('assets').path] +mainClassName = 'org.snoopdesigns.endless.desktop.DesktopLauncher' +application.setMainClass(mainClassName) +eclipse.project.name = appName + '-desktop' +java.sourceCompatibility = 21 +java.targetCompatibility = 21 +if (JavaVersion.current().isJava9Compatible()) { + compileJava.options.release.set(21) +} + +dependencies { + implementation "com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion" + implementation "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop" + implementation project(':core') } -tasks.register('debug', JavaExec) { - dependsOn classes - mainClass = project.mainClassName - classpath = sourceSets.main.runtimeClasspath - standardInput = System.in - workingDir = project.assetsDir - ignoreExitValue = true - debug = true +def os = System.properties['os.name'].toLowerCase() + +run { + workingDir = rootProject.file('assets').path + setIgnoreExitValue(true) } -tasks.register('dist', Jar) { +jar { + archiveFileName.set("${appName}-${projectVersion}.jar") duplicatesStrategy(DuplicatesStrategy.EXCLUDE) + dependsOn configurations.runtimeClasspath + from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } + exclude('META-INF/INDEX.LIST', 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA') + dependencies { + exclude('META-INF/INDEX.LIST', 'META-INF/maven/**') + } manifest { attributes 'Main-Class': project.mainClassName } - dependsOn configurations.runtimeClasspath - from { - configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } + doLast { + file(archiveFile).setExecutable(true, false) } - with jar } +// Equivalent to the jar task; here for compatibility with gdx-setup. +tasks.register('dist') { + dependsOn 'jar' +} -dist.dependsOn classes +distributions { + main { + contents { + into('libs') { + project.configurations.runtimeClasspath.files.findAll { file -> + file.getName() != project.tasks.jar.outputs.files.singleFile.name + }.each { file -> + exclude file.name + } + } + } + } +} -eclipse.project.name = appName + "-desktop" +startScripts.dependsOn(':desktop:jar') +startScripts.classpath = project.tasks.jar.outputs.files
\ No newline at end of file diff --git a/desktop/src/main/java/org/snoopdesigns/endless/desktop/DesktopLauncher.java b/desktop/src/main/java/org/snoopdesigns/endless/desktop/DesktopLauncher.java new file mode 100644 index 0000000..6aaa364 --- /dev/null +++ b/desktop/src/main/java/org/snoopdesigns/endless/desktop/DesktopLauncher.java @@ -0,0 +1,26 @@ +package org.snoopdesigns.endless.desktop; + +import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application; +import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration; +import org.snoopdesigns.endless.EndlessGame; + +public class DesktopLauncher { + + public static void main(String[] args) { + createApplication(); + } + + private static Lwjgl3Application createApplication() { + return new Lwjgl3Application(new EndlessGame(), + getDefaultConfiguration()); + } + + private static Lwjgl3ApplicationConfiguration getDefaultConfiguration() { + Lwjgl3ApplicationConfiguration configuration = new Lwjgl3ApplicationConfiguration(); + configuration.setTitle("endless-game"); + configuration.useVsync(true); + configuration.setForegroundFPS(Lwjgl3ApplicationConfiguration.getDisplayMode().refreshRate + 1); + configuration.setWindowedMode(640, 480); + return configuration; + } +}
\ No newline at end of file diff --git a/desktop/src/org/snoopdesigns/endless/DesktopLauncher.java b/desktop/src/org/snoopdesigns/endless/DesktopLauncher.java deleted file mode 100644 index 3ece708..0000000 --- a/desktop/src/org/snoopdesigns/endless/DesktopLauncher.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.snoopdesigns.endless; - -import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application; -import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration; -import org.snoopdesigns.endless.config.Config; - -public final class DesktopLauncher { - - private final static String TITLE = "Endless"; - - private DesktopLauncher() { - } - - public static void main(String[] arg) { - Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration(); - config.setForegroundFPS(60); - config.setTitle(TITLE); - config.useVsync(true); - config.setWindowedMode(Config.getScreenWidth(), Config.getScreenHeight()); - //config.setFullscreenMode(Lwjgl3ApplicationConfiguration.getDisplayMode()); - new Lwjgl3Application(new EndlessGame(), config); - } -} |