diff --git a/build.gradle b/build.gradle index dce3a5149d..c4cf06b221 100644 --- a/build.gradle +++ b/build.gradle @@ -21,9 +21,10 @@ apply from: "gradle/support/loadApplicationProperties.gradle" /*************************************************************************************** - * Make sure the correct version of gradle is being used - ***************************************************************************************/ +* Print current Gradle version and make sure the correct version of gradle is being used +***************************************************************************************/ import org.gradle.util.GradleVersion; +println "Gradle: " + GradleVersion.current().version final GradleVersion minimum_version = GradleVersion.version("${rootProject.GRADLE_MINIMUM_VERSION}") if (GradleVersion.current() < minimum_version) { throw new GradleException("Requires at least $minimum_version, but was run with $gradle.gradleVersion") diff --git a/gradle/javaProject.gradle b/gradle/javaProject.gradle index 295c232614..09ae0e50b7 100644 --- a/gradle/javaProject.gradle +++ b/gradle/javaProject.gradle @@ -185,18 +185,25 @@ ext.addExports = { List exports -> } } -// Fixup generated Eclipse projects +// Customize generated Eclipse projects apply plugin: 'eclipse' -eclipse.classpath.file.whenMerged { classpath -> - // Prevent Gradle 5.6 from setting the 'test' attribute on our test source folders and jars. - // If we don't do this, things that we have outside of test directories that depend on test - // libraries (like junit) will not compile in Eclipse. - // Also prevent Gradle 7.0 from adding jars to the modulepath instead of the classpath. - classpath.entries.findAll { - it.kind == 'src' || it.kind == 'lib' - }.each { - it.entryAttributes['test'] = 'false' - it.entryAttributes['module'] = 'false' +eclipse { + classpath { + + // Expose test classes to dependent projects + containsTestFixtures = true + + // Customizing which Eclipse source directories should be marked as test. + // Only screenShots must be added...test and integrationTest are automatically picked up. + // NOTE: When we upgrade to Gradle 7.5+, we can just set the "testSourceSets" property + file { + whenMerged { classpath -> + classpath.entries.findAll { + it.kind == 'src' && it.path.startsWith('src/screen/') + }.each { + it.entryAttributes['test'] = 'true' + } + } + } } } -