gradle - 使用Gradle多项目构建Apply插件适用于主项目

标签 gradle build.gradle

在使用Gradle v5.5.1的多项目构建中,我试图将ear插件仅应用于某些子项目(如using plugins中所述)。您可以在此处看到我正在尝试将其应用于以EAR结尾的子项目:

subprojects { Project proj ->
  afterEvaluate { 
    if(proj.projectDir.name.endsWith('EAR')){
      logger.debug "{} looks like an EAR subproject", proj.name
      apply plugin: 'ear'
      defaultTasks 'ear'
    }
}

但是,它将它应用于我的master项目(输出日志):
10:53:36.366 [DEBUG] [org.gradle.api.Project] MAG820PAYMENTRECONEAR looks like an EAR subproject
10:53:36.367 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Apply plugin org.gradle.ear to root project 'master'' started

然后,当执行我的子项目时,它说未找到ear任务:
10:53:36.375 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Task 'ear' not found in project ':MAG820PAYMENTRECON:MAG820PAYMENTRECONEAR'.

我知道这行得通,因为我还有其他项目也在做类似的事情,但我不知道为什么这个项目如此行事。

我究竟做错了什么??

最佳答案

只需使用proj.apply plugin: 'ear'在子项目上调用方法

关于gradle - 使用Gradle多项目构建Apply插件适用于主项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57045203/

相关文章:

rest - 在另一个 build.gradle 项目中执行测试

android - 如何修复多个文件被发现与操作系统无关的路径 'build-data.properties'

android - 无法解析 : com. android.support :support-compat:27. 2.0

gradle - 如何在库模块项目中使用自定义 gradle 插件

gradle - 解析 gradle 脚本时如何使用 Groovy CodeVisitorSupport 访问者类?

java - 使用 gradle 的 Android Studio 错误

android - Cordova - Android - 此构建中使用了已弃用的 Gradle 功能,使其与 Gradle 8.0 不兼容

android - Gradle 任务完成后设置 Android versionCode

java - 检查插件本应使用 "compile files"时是否使用了 "provided"

Android studio - 发布 APK for flavor