gpt4 book ai didi

scala - Gradle-如何在特定子项目上应用插件配置?

转载 作者:行者123 更新时间:2023-12-03 03:40:01 25 4
gpt4 key购买 nike

我有一个要迁移到Gradle的Java / Scala Maven混合项目。

一些子项目仅具有Java代码,一些子项目仅具有Scala代码,而某些子项目具有两者。将Java插件应用于上述任何一种似乎都可以正常工作,但是由于缺少依赖项(Scala语言),因此尝试在没有Scala代码的项目上应用Scala插件失败。

现在,我希望将Scala插件应用于特定的子项目。不仅如此,我还需要应用以下配置,因为我的某些Java代码取决于Scala代码:

apply plugin: 'scala'
sourceSets.main.scala.srcDir "src/main/java"
sourceSets.main.java.srcDirs = []

我还需要在Java插件执行之前先执行 (因为否则它将失败)。

我不想将这些行复制到每个特定的Scala子项目,而只是在其构建文件(或类似文件)中添加一个简单的属性。我该如何实现?

最佳答案

您可以在顶级build.gradle中执行以下操作:

  subprojects {
...
if(file("src/main/scala").directory) { // or whatever condition you want to use
apply plugin: 'scala'
// This seems like a very weird thing to do ...
// Assuming, you know what you are doing
sourceSets.main.scala.srcDir "src/main/java"
sourceSets.main.java.srcDirs = []
}
...
}

关于scala - Gradle-如何在特定子项目上应用插件配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47961709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com