From 07d6755ddb376dab7876e4ec7a8964d965c016d4 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Tue, 1 Oct 2019 19:31:43 +0200 Subject: [PATCH] JPMS: compile main sources with module-info.java to make sure that compiler reports errors if classes are used from other modules that are not specified in module dependencies (#1) --- flatlaf-core/build.gradle.kts | 23 ++++++++----------- .../module-info}/module-info.java | 0 2 files changed, 9 insertions(+), 14 deletions(-) rename flatlaf-core/src/{main9/java => main/module-info}/module-info.java (100%) diff --git a/flatlaf-core/build.gradle.kts b/flatlaf-core/build.gradle.kts index dac439af..53e23944 100644 --- a/flatlaf-core/build.gradle.kts +++ b/flatlaf-core/build.gradle.kts @@ -28,18 +28,17 @@ repositories { if( JavaVersion.current() >= JavaVersion.VERSION_1_9 ) { sourceSets { - create( "main9" ) { + create( "module-info" ) { java { - setSrcDirs( listOf( "src/main9/java" ) ) + // include "src/main/java" here to get compile errors if classes are + // used from other modules that are not specified in module dependencies + setSrcDirs( listOf( "src/main/module-info", "src/main/java" ) ) } } } } dependencies { - if( JavaVersion.current() >= JavaVersion.VERSION_1_9 ) - "main9Implementation"( files( sourceSets["main"].output.classesDirs ).builtBy( "compileJava" ) ) - testImplementation( "com.miglayout:miglayout-swing:5.2" ) testImplementation( "com.jgoodies:jgoodies-forms:1.9.0" ) } @@ -51,14 +50,9 @@ java { tasks { if( JavaVersion.current() >= JavaVersion.VERSION_1_9 ) { - named( "compileMain9Java" ) { - doFirst { - options.compilerArgs = listOf( - "-source", "9", "-target", "9", - "--patch-module", "com.formdev.flatlaf=" + classpath.asPath - ) - classpath = files() - } + named( "compileModuleInfoJava" ) { + sourceCompatibility = "9" + targetCompatibility = "9" } } @@ -71,7 +65,8 @@ tasks { ) into( "META-INF/versions/9" ) { - from( sourceSets["main9"].output ) + from( sourceSets["module-info"].output ) + include( "module-info.class" ) } } } diff --git a/flatlaf-core/src/main9/java/module-info.java b/flatlaf-core/src/main/module-info/module-info.java similarity index 100% rename from flatlaf-core/src/main9/java/module-info.java rename to flatlaf-core/src/main/module-info/module-info.java