@@ -21,14 +21,16 @@ import java.io.File
2121 */
2222abstract class KnitGradlePlugin : Plugin <Project > {
2323 override fun apply (target : Project ) {
24+ val extension = target.extensions.create(" KnitExtension" , KnitExtension ::class .java)
25+ extension.dependencyTreeOutputPath.convention(" build/knit/dependency-tree.json" )
2426 if (KnitAndroidConfig .tryConfigAndroid(target)) return
2527 if (target.tryConfigJvm()) return
2628 System .err.println (" cannot found any knit target available." )
2729 }
2830
2931 private fun Project.tryConfigJvm (): Boolean {
3032 val jarTasks = tasks.withType(Jar ::class .java)
31- if (jarTasks.isNullOrEmpty ()) return false
33+ if (jarTasks.isEmpty ()) return false
3234 for (originJarTask in jarTasks) {
3335 val originOutput = originJarTask.archiveFile
3436 val originOutputFile = originOutput.get().asFile
@@ -55,9 +57,15 @@ abstract class KnitGradlePlugin : Plugin<Project> {
5557
5658 @TaskAction
5759 fun taskAction () {
60+ val dumpOutputFile = project.file(
61+ project.extensions.getByType(KnitExtension ::class .java).dependencyTreeOutputPath,
62+ )
5863 val allJars = listOf (originJar.get().asFile)
5964 val outputJarFile = output.get().asFile
60- val knitTask = KnitTask (allJars, emptyList(), outputJarFile, true )
65+ val knitTask = KnitTask (
66+ allJars, emptyList(), outputJarFile, true ,
67+ dumpOutput = dumpOutputFile,
68+ )
6169 knitTask.execute()
6270 }
6371 }
0 commit comments