具有不同源代码集的Gradle任务

我有两个任务, jarrun ,都依赖于build任务。 当被调用的时候,我希望它只在特定的文件夹中构建文件。 然后当run被称为我想它建立相同的文件, jar做了加上另一个文件夹中的文件。

这是一个sudo代码示例:

 jar.build.sourcesets += 'my/path/to/files' run.build.sourcesets += jar.build.sourcesets run.build.sourcesets += 'additonal/path/to/files' 

这是我现在在我的build.gradle文件不工作:

 sourceSets { main.kotlin.srcDirs += 'src/main/kotlin' run.kotlin.srcDirs += 'src/test/kotlin' run.resources.srcDirs += "src/main/resources" run.resources.srcDirs += "src/test/resources" run.output.resourcesDir = "build/js/resources" } 

我一直在阅读关于源代码集,但我还没有找到一个解决方案。 我应该怎么做呢?

所以经过几个小时的搜索,我发现这个链接的解决方案: 如何在gradle中打印任务名称?

我可以在运行时使用taskNames数组来检查什么任务被调用。

 sourceSets { main.kotlin.srcDirs += 'src/main/kotlin' if(project.gradle.startParameter.taskNames.contains("run")) { main.kotlin.srcDirs += 'src/test/kotlin' main.resources.srcDirs += "src/main/resources" main.resources.srcDirs += "src/test/resources" main.output.resourcesDir = "build/js/resources" } }