plugins { id 'java' id 'application' } group = 'eu.smoser' version = '1.0' java { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } repositories { mavenCentral() flatDir { dirs 'lib' } } dependencies { implementation files('lib/flatlaf-3.4.1.jar') implementation files('lib/itext-2.1.7.jar') implementation files('lib/jgraph-5.13.0.0.jar') implementation files('lib/jgrapht-core-0.9.2.jar') implementation files('lib/jgrapht-ext-0.9.2.jar') implementation files('lib/jgraphx-2.0.0.1.jar') implementation files('lib/pdfbox-app-2.0.33.jar') } sourceSets { main { java { srcDirs = ['src'] } resources { srcDirs = ['src', 'resources'] } } } application { mainClass = 'eu.smoser.dungeongenerator.main.DungeonGeneratorUI' } jar { manifest { attributes( 'Main-Class': 'eu.smoser.dungeongenerator.main.DungeonGeneratorUI', 'Class-Path': configurations.runtimeClasspath.files.collect { 'lib/' + it.name }.join(' ') ) } from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } duplicatesStrategy = DuplicatesStrategy.EXCLUDE archiveBaseName = 'DungeonGenerator' } tasks.register('buildJar') { dependsOn jar doLast { println "JAR created: build/libs/DungeonGenerator-${version}.jar" } } tasks.withType(JavaCompile).configureEach { options.encoding = 'UTF-8' }