@@ -15,13 +15,7 @@ import org.eclipse.aether.spi.connector.transport.TransporterFactory
1515import org.eclipse.aether.transport.http.HttpTransporterFactory
1616import org.eclipse.aether.util.version.GenericVersionScheme
1717import org.eclipse.aether.version.Version
18- import org.gradle.api.Action
19- import org.gradle.api.DefaultTask
20- import org.gradle.api.GradleException
21- import org.gradle.api.NamedDomainObjectProvider
22- import org.gradle.api.Plugin
23- import org.gradle.api.Project
24- import org.gradle.api.Task
18+ import org.gradle.api.*
2519import org.gradle.api.artifacts.Configuration
2620import org.gradle.api.file.ConfigurableFileCollection
2721import org.gradle.api.file.FileCollection
@@ -30,7 +24,6 @@ import org.gradle.api.model.ObjectFactory
3024import org.gradle.api.provider.Property
3125import org.gradle.api.tasks.SourceSet
3226import org.gradle.api.tasks.TaskProvider
33- import org.gradle.api.tasks.compile.AbstractCompile
3427import org.gradle.jvm.toolchain.JavaLanguageVersion
3528import org.gradle.jvm.toolchain.JavaToolchainService
3629import org.gradle.workers.WorkAction
@@ -40,7 +33,6 @@ import org.gradle.workers.WorkerExecutor
4033import java.lang.reflect.Method
4134import java.util.function.BiFunction
4235import java.util.regex.Pattern
43-
4436/**
4537 * muzzle task plugin which runs muzzle validation against a range of dependencies.
4638 */
@@ -111,9 +103,15 @@ class MuzzlePlugin implements Plugin<Project> {
111103
112104 // compileMuzzle compiles all projects required to run muzzle validation.
113105 // Not adding group and description to keep this task from showing in `gradle tasks`.
106+
107+
108+ def mainSourceSetOutputs = project. providers. provider {
109+ project. sourceSets. matching { sourceSetName. startsWith(SourceSet . MAIN_SOURCE_SET_NAME ) }. collect {
110+ it. output
111+ }
112+ }
114113 TaskProvider<Task > compileMuzzle = project. tasks. register(' compileMuzzle' ) {
115- // TODO fix eagerness, check jetty an co projects
116- it. dependsOn project. tasks. matching { it instanceof AbstractCompile && it. name. startsWith(' ' ) }
114+ it. inputs. files(mainSourceSetOutputs)
117115 it. dependsOn bootstrapProject. tasks. named(" compileJava" )
118116 it. dependsOn bootstrapProject. tasks. named(" compileMain_java11Java" )
119117 it. dependsOn toolingProject. tasks. named(" compileJava" )
0 commit comments