Skip to content

Commit

Permalink
[#343] Simplify getting SourceSetContainer
Browse files Browse the repository at this point in the history
It is an extension itself and is compatible also with Gradle 6.4.
  • Loading branch information
szpak committed Jul 6, 2023
1 parent f7407dc commit 00d7f3f
Showing 1 changed file with 1 addition and 14 deletions.
15 changes: 1 addition & 14 deletions src/main/groovy/info/solidsoft/gradle/pitest/PitestPlugin.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@ import org.gradle.api.file.FileCollection
import org.gradle.api.logging.Logger
import org.gradle.api.logging.Logging
import org.gradle.api.plugins.JavaPlugin
import org.gradle.api.plugins.JavaPluginConvention
import org.gradle.api.plugins.JavaPluginExtension
import org.gradle.api.provider.Provider
import org.gradle.api.reporting.ReportingExtension
import org.gradle.api.tasks.Internal
Expand Down Expand Up @@ -108,25 +106,14 @@ class PitestPlugin implements Plugin<Project> {
extension = project.extensions.create("pitest", PitestPluginExtension, project)
setupReportDirInExtensionWithProblematicTypeForGradle5()
extension.pitestVersion.set(DEFAULT_PITEST_VERSION)
SourceSetContainer javaSourceSets = getSourceSetContainer()
SourceSetContainer javaSourceSets = project.extensions.getByType(SourceSetContainer)
extension.testSourceSets.set([javaSourceSets.getByName(SourceSet.TEST_SOURCE_SET_NAME)])
extension.mainSourceSets.set([javaSourceSets.getByName(SourceSet.MAIN_SOURCE_SET_NAME)])
extension.fileExtensionsToFilter.set(DEFAULT_FILE_EXTENSIONS_TO_FILTER_FROM_CLASSPATH)
extension.useClasspathFile.set(false)
extension.verbosity.set("NO_SPINNER")
}

@CompileDynamic //Remove once only Gradle 7.1+ are supported
private SourceSetContainer getSourceSetContainer() {
GradleVersion minimalVersionWithSourceSetsInJavaPluginExtension = GradleVersion.version("7.1")

if (GradleVersion.current() < minimalVersionWithSourceSetsInJavaPluginExtension) {
return project.convention.getPlugin(JavaPluginConvention).sourceSets
} else {
return project.extensions.getByType(JavaPluginExtension).sourceSets
}
}

private void failWithMeaningfulErrorMessageOnUnsupportedConfigurationInRootProjectBuildScript() {
if (project.rootProject.buildscript.configurations.findByName(PITEST_CONFIGURATION_NAME) != null) {
throw new GradleException("The '${PITEST_CONFIGURATION_NAME}' buildscript configuration found in the root project. " +
Expand Down

0 comments on commit 00d7f3f

Please sign in to comment.