2023-05-07 16:52:51 -06:00
|
|
|
/*
|
|
|
|
* This file was generated by the Gradle 'init' task.
|
|
|
|
*
|
|
|
|
* This generated file contains a sample Kotlin 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
|
|
|
|
*/
|
|
|
|
|
2023-05-15 20:05:43 -06:00
|
|
|
buildscript {
|
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
|
|
|
}
|
|
|
|
dependencies {
|
|
|
|
classpath 'io.github.fvarrui:javapackager:1.7.2'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-05-07 16:52:51 -06:00
|
|
|
plugins {
|
|
|
|
// Apply the org.jetbrains.kotlin.jvm Plugin to add support for Kotlin.
|
2023-05-09 16:31:47 -06:00
|
|
|
id 'org.jetbrains.kotlin.jvm' version '1.8.0'
|
2023-05-07 16:52:51 -06:00
|
|
|
|
|
|
|
// Apply the application plugin to add support for building a CLI application in Java.
|
|
|
|
id 'application'
|
|
|
|
|
|
|
|
id 'org.openjfx.javafxplugin' version '0.0.13'
|
|
|
|
id 'distribution'
|
|
|
|
}
|
|
|
|
|
2023-05-15 20:05:43 -06:00
|
|
|
apply plugin: 'io.github.fvarrui.javapackager.plugin'
|
|
|
|
|
2023-05-07 16:52:51 -06:00
|
|
|
repositories {
|
|
|
|
// Use Maven Central for resolving dependencies.
|
|
|
|
mavenCentral()
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
// Use the Kotlin JUnit 5 integration.
|
|
|
|
testImplementation 'org.jetbrains.kotlin:kotlin-test-junit5'
|
|
|
|
|
|
|
|
// Use the JUnit 5 integration.
|
|
|
|
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.9.1'
|
|
|
|
|
|
|
|
// This dependency is used by the application.
|
|
|
|
implementation 'com.google.guava:guava:31.1-jre'
|
|
|
|
|
|
|
|
// Coroutines core
|
2023-05-09 16:31:47 -06:00
|
|
|
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.0"
|
|
|
|
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-javafx:1.7.0"
|
2023-05-10 00:06:00 -06:00
|
|
|
|
|
|
|
// Archiver
|
|
|
|
implementation "org.rauschig:jarchivelib:1.2.0"
|
2023-05-07 16:52:51 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
application {
|
|
|
|
// Define the main class for the application.
|
2023-05-14 13:44:35 -06:00
|
|
|
mainClass = 'xyz.brysonsteck.servercraft.MainKt'
|
2023-05-15 20:05:43 -06:00
|
|
|
applicationName = "ServerCraft"
|
2023-05-07 16:52:51 -06:00
|
|
|
}
|
|
|
|
|
2023-05-14 14:53:02 -06:00
|
|
|
distTar {
|
|
|
|
compression = Compression.GZIP
|
|
|
|
}
|
|
|
|
|
2023-05-07 16:52:51 -06:00
|
|
|
jar {
|
2023-05-14 14:53:02 -06:00
|
|
|
archiveFileName = 'ServerCraft.jar'
|
2023-05-15 20:05:43 -06:00
|
|
|
|
2023-05-07 16:52:51 -06:00
|
|
|
manifest {
|
|
|
|
attributes 'Main-Class': application.mainClass
|
|
|
|
}
|
2023-05-15 20:05:43 -06:00
|
|
|
|
2023-05-07 16:52:51 -06:00
|
|
|
duplicatesStrategy = DuplicatesStrategy.INCLUDE
|
|
|
|
from {
|
|
|
|
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-05-15 20:05:43 -06:00
|
|
|
task pack(type: io.github.fvarrui.javapackager.gradle.PackageTask, dependsOn: build) {
|
|
|
|
mainClass = 'xyz.brysonsteck.servercraft.MainKt'
|
|
|
|
bundleJre = true
|
|
|
|
generateInstaller = true
|
|
|
|
administratorRequired = false
|
2023-05-15 20:47:40 -06:00
|
|
|
additionalResources = [ file('src/main/resources/xyz/brysonsteck/ServerCraft/') ]
|
2023-05-15 20:05:43 -06:00
|
|
|
|
|
|
|
linuxConfig {
|
2023-05-15 20:47:40 -06:00
|
|
|
pngFile = file('src/main/resources/icon.png')
|
2023-05-15 20:05:43 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
macConfig {
|
2023-05-15 20:47:40 -06:00
|
|
|
icnsFile = file('src/main/resources/icon.icns')
|
|
|
|
volumeIcon = file('src/main/resources/icon.icns')
|
|
|
|
backgroundImage = file('src/main/resources/dmg.png')
|
|
|
|
codesignApp = false
|
2023-05-15 20:05:43 -06:00
|
|
|
developerId = 'Bryson Steck'
|
|
|
|
appId = 'xyz.brysonsteck.ServerCraft'
|
|
|
|
}
|
|
|
|
|
|
|
|
winConfig {
|
2023-05-15 20:47:40 -06:00
|
|
|
icoFile = file('src/main/resources/icon.ico')
|
2023-05-15 20:05:43 -06:00
|
|
|
setupMode = 'askTheUser'
|
|
|
|
disableDirPage = false
|
|
|
|
disableFinishedPage = false
|
|
|
|
disableWelcomePage = false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-05-07 16:52:51 -06:00
|
|
|
tasks.named('test') {
|
|
|
|
// Use JUnit Platform for unit tests.
|
|
|
|
useJUnitPlatform()
|
|
|
|
}
|
|
|
|
|
|
|
|
javafx {
|
|
|
|
version = "20"
|
|
|
|
modules = ['javafx.controls', 'javafx.fxml', 'javafx.graphics']
|
2023-05-09 16:31:47 -06:00
|
|
|
}
|