import proguard.gradle.ProGuardTask buildscript { repositories { mavenLocal() mavenCentral() google() } dependencies { classpath 'com.guardsquare:proguard-gradle:7.3.1' } } plugins { id 'org.jetbrains.kotlin.jvm' version '1.8.0' id 'application' } group = 'org.example' version = '1.0-SNAPSHOT' repositories { mavenCentral() } dependencies { testImplementation 'org.jetbrains.kotlin:kotlin-test' } test { useJUnitPlatform() } compileKotlin { kotlinOptions.jvmTarget = '1.8' } compileTestKotlin { kotlinOptions.jvmTarget = '1.8' } application { mainClassName = 'AppKt' } ext.baseCoordinates = "${project.name}-${project.version}" tasks.register('proguard', ProGuardTask) { configuration file('proguard.pro') injars(tasks.named('jar', Jar).flatMap { it.archiveFile }) // Automatically handle the Java version of this build. if (System.getProperty('java.version').startsWith('1.')) { // Before Java 9, the runtime classes were packaged in a single jar file. libraryjars "${System.getProperty('java.home')}/lib/rt.jar" } else { // As of Java 9, the runtime classes are packaged in modular jmod files. libraryjars "${System.getProperty('java.home')}/jmods/java.base.jmod", jarfilter: '!**.jar', filter: '!module-info.class' //libraryjars "${System.getProperty('java.home')}/jmods/....." } // This will include the Kotlin library jars libraryjars sourceSets.main.compileClasspath verbose outjars(layout.buildDirectory.file("libs/${baseCoordinates}-minified.jar")) }