GP-3130: Eclipse now recognizes test source folders

This commit is contained in:
Ryan Kurtz 2023-02-23 10:08:17 -05:00
parent ddc6814c9e
commit 9e4ea632c7
2 changed files with 22 additions and 14 deletions

View file

@ -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; import org.gradle.util.GradleVersion;
println "Gradle: " + GradleVersion.current().version
final GradleVersion minimum_version = GradleVersion.version("${rootProject.GRADLE_MINIMUM_VERSION}") final GradleVersion minimum_version = GradleVersion.version("${rootProject.GRADLE_MINIMUM_VERSION}")
if (GradleVersion.current() < minimum_version) { if (GradleVersion.current() < minimum_version) {
throw new GradleException("Requires at least $minimum_version, but was run with $gradle.gradleVersion") throw new GradleException("Requires at least $minimum_version, but was run with $gradle.gradleVersion")

View file

@ -185,18 +185,25 @@ ext.addExports = { List<String> exports ->
} }
} }
// Fixup generated Eclipse projects // Customize generated Eclipse projects
apply plugin: 'eclipse' apply plugin: 'eclipse'
eclipse.classpath.file.whenMerged { classpath -> eclipse {
// Prevent Gradle 5.6 from setting the 'test' attribute on our test source folders and jars. classpath {
// 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. // Expose test classes to dependent projects
// Also prevent Gradle 7.0 from adding jars to the modulepath instead of the classpath. 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 { classpath.entries.findAll {
it.kind == 'src' || it.kind == 'lib' it.kind == 'src' && it.path.startsWith('src/screen/')
}.each { }.each {
it.entryAttributes['test'] = 'false' it.entryAttributes['test'] = 'true'
it.entryAttributes['module'] = 'false' }
}
}
} }
} }