@@ -4,10 +4,10 @@ import org.gradle.api.GradleException
44import org.gradle.api.JavaVersion
55import org.gradle.api.Plugin
66import org.gradle.api.Project
7- import org.gradle.api.file.FileSystemOperations
87import org.gradle.api.plugins.JavaPluginExtension
98import org.gradle.api.tasks.JavaExec
10- import org.gradle.api.tasks.SourceSet
9+ import org.gradle.api.tasks.SourceSet.MAIN_SOURCE_SET_NAME
10+ import org.gradle.api.tasks.SourceSet.TEST_SOURCE_SET_NAME
1111import org.gradle.api.tasks.SourceSetContainer
1212import org.gradle.api.tasks.compile.AbstractCompile
1313import org.gradle.api.tasks.testing.Test
@@ -43,7 +43,7 @@ abstract class CallSiteInstrumentationPlugin : Plugin<Project>{
4343 // create a new source set for the csi files
4444 val targetFolder = newBuildFolder(project, extension.targetFolder.get().asFile.toString())
4545 val sourceSets = getSourceSets(project)
46- val mainSourceSet = sourceSets.named(SourceSet . MAIN_SOURCE_SET_NAME ).get()
46+ val mainSourceSet = sourceSets.named(MAIN_SOURCE_SET_NAME ).get()
4747 val csiSourceSet = sourceSets.create(" csi" ) {
4848 compileClasspath + = mainSourceSet.output // mainly needed for the plugin tests
4949 annotationProcessorPath + = mainSourceSet.annotationProcessorPath
@@ -60,7 +60,7 @@ abstract class CallSiteInstrumentationPlugin : Plugin<Project>{
6060 }
6161
6262 // add csi classes to test classpath
63- sourceSets.named(SourceSet . TEST_SOURCE_SET_NAME ) {
63+ sourceSets.named(TEST_SOURCE_SET_NAME ) {
6464 compileClasspath + = csiSourceSet.output.classesDirs
6565 runtimeClasspath + = csiSourceSet.output.classesDirs
6666 }
@@ -152,7 +152,10 @@ abstract class CallSiteInstrumentationPlugin : Plugin<Project>{
152152
153153 // Write the call site instrumenter arguments into a temporary file
154154 doFirst {
155- val programClassPath = getProgramClasspath(project).map { it.toString() }
155+ val programClassPath = extension.configurations.get().flatMap {
156+ it.files
157+ }.map { it.toString() }
158+
156159 val arguments = listOf (
157160 extension.srcFolder.get().asFile.toString(),
158161 inputProvider.get().asFile.toString(),
@@ -172,7 +175,7 @@ abstract class CallSiteInstrumentationPlugin : Plugin<Project>{
172175
173176 // make all sourcesets' class tasks depend on call site generator
174177 val sourceSets = getSourceSets(project)
175- sourceSets.named(SourceSet . MAIN_SOURCE_SET_NAME ) {
178+ sourceSets.named(MAIN_SOURCE_SET_NAME ) {
176179 project.tasks.named(classesTaskName) {
177180 dependsOn(callSiteGeneratorTask)
178181 }
@@ -185,19 +188,4 @@ abstract class CallSiteInstrumentationPlugin : Plugin<Project>{
185188 }
186189 }
187190 }
188-
189- private fun getProgramClasspath (project : Project ): List <File > {
190- val classpath = ArrayList <File >()
191- // 1. Compilation outputs - exclude latestDep and forked test variants
192- project.tasks.withType<AbstractCompile >()
193- .filter { task -> ! task.name.contains(" LatestDep" , ignoreCase = true ) && ! task.name.contains(" Forked" , ignoreCase = true ) }
194- .map { it.destinationDirectory.asFile.get() }
195- .forEach(classpath::add)
196- // 2. Compile time dependencies - exclude latestDep and forked test variants
197- project.tasks.withType<AbstractCompile >()
198- .filter { task -> ! task.name.contains(" LatestDep" , ignoreCase = true ) && ! task.name.contains(" Forked" , ignoreCase = true ) }
199- .flatMap { it.classpath }
200- .forEach(classpath::add)
201- return classpath
202- }
203191}
0 commit comments