具有不同源代码集的Gradle任务
我有两个任务, jar
和run
,都依赖于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" } }
- IntelliJ中的Gradle SourceSet依赖关系
- 错误:与依赖项冲突com.google.code.findbugs:jsr305'
- Gradle的依赖关系缓存可能已损坏
- 如何将kotlin-js-library更新为1.1.3,就像kotlin-gradle-plugin一样?
- 什么是kotlin-gradle-plugin和kotlin-js-library之间的正确版本匹配?
- 无法运行jar文件。 (错误:无法find或加载主类co.pissarra.Mainkt)
- Holdr in Kotlin的未解决的参考
- 如何覆盖gradle kotlin-dsl中的任务
- 在Kotlin脚本中用扩展方法问题