plugins { id "java" id "com.github.johnrengelman.shadow" version "2.0.3" } sourceCompatibility = '1.8' [compileJava, compileTestJava]*.options*.encoding = 'UTF-8' if (!hasProperty('mainClass')) { ext.mainClass = 'com.annimon.voicyanski.Main' } repositories { mavenCentral() } jar { manifest.attributes( 'Main-Class': project.mainClass ) } shadowJar { exclude 'META-INF/maven/**' exclude 'META-INF/resources/materialdesignicons/*/fonts/*.eot' exclude 'META-INF/resources/materialdesignicons/*/fonts/*.svg' exclude 'META-INF/resources/materialdesignicons/*/fonts/*.woff' exclude 'META-INF/versions/**' exclude 'controlsfx*.properties' exclude 'org/controlsfx/dialog/**' exclude 'org/controlsfx/glyphfont/**' exclude 'org/controlsfx/control/spreadsheet/**' exclude 'org/controlsfx/control/table/**' exclude 'org/controlsfx/control/textfield/**' exclude 'org/controlsfx/control/worldmap-small.properties' exclude 'impl/org/controlsfx/spreadsheet/**' exclude 'impl/org/controlsfx/table/**' exclude 'impl/org/controlsfx/tools/**' exclude 'impl/org/controlsfx/worldmap/**' } task run(dependsOn: classes, type: JavaExec) { main = project.mainClass classpath = sourceSets.main.runtimeClasspath standardInput = System.in ignoreExitValue = true } dependencies { implementation 'org.controlsfx:controlsfx:8.40.14' implementation 'com.squareup.okhttp3:okhttp:3.10.0' implementation 'org.kordamp.ikonli:ikonli-javafx:2.1.1' implementation 'org.kordamp.ikonli:ikonli-materialdesign-pack:2.1.1' testImplementation 'junit:junit:4.10' }