plugins { id 'application' id 'jacoco' id 'checkstyle' } application { mainClass = 'ui.Main' } repositories { mavenCentral() } sourceSets { main { java { srcDirs 'src/main/' } resources { srcDirs 'src/resources/' } } test { java { srcDirs 'src/test/' } } } dependencies { implementation files('lib/spec/flatlaf-3.2.5.jar') implementation files('lib/spec/flatlaf-intellij-themes-3.2.5.jar') implementation files('lib/spec/json-20231013.jar') implementation files('lib/spec/zxing-3.5.2.jar') testImplementation files('lib/apiguardian-api-1.1.2.jar') testImplementation files('lib/junit-jupiter-5.8.1.jar') testImplementation files('lib/junit-jupiter-api-5.8.1.jar') testImplementation files('lib/junit-jupiter-engine-5.8.1.jar') testImplementation files('lib/junit-jupiter-params-5.8.1.jar') testImplementation files('lib/junit-platform-commons-1.8.1.jar') testImplementation files('lib/junit-platform-engine-1.8.1.jar') testImplementation files('lib/opentest4j-1.2.0.jar') } test { dependsOn checkstyleMain useJUnitPlatform() finalizedBy jacocoTestReport } jacoco { toolVersion = "0.8.8" } jacocoTestReport { dependsOn test reports { xml.required = false csv.required = false html.outputLocation = layout.buildDirectory.dir('jacocoHtml') } afterEvaluate { classDirectories = files(classDirectories.files.collect { fileTree(dir: it, exclude: ['ui/**']) }) } } tasks.withType(Checkstyle) { reports { xml.required = false html.required = true configFile file('checkstyle.xml') } }