【问题标题】:Better way to organize gradle pluginManagement block更好的方式来组织 gradle pluginManagement 块
【发布时间】:2020-07-25 16:04:20
【问题描述】:

下面是一个例子,为了给应用程序添加一个custom-plugin,我们需要在解析策略中指定它的依赖关系,并使用useModule,将它添加到类路径中

-------build.gradle----------
plugins {
  id 'custom-plugin'
}
-------settings.gradle----------
 pluginManagement {
    resolutionStrategy {
      eachPlugin {
        if (requested.id.namespace == 'custom-plugin') {
            useModule('org.gradle.sample:custom-plugins:1.0.0')
        }
      }
    }
    repositories {
       maven { url 'maven-repo'  }
    }
}

有没有更简单/更好的方法来添加依赖(useModule 部分)?

我不想每次都添加 if 条件并检查命名空间 requested.id.namespace 是否有我添加的任何新自定义插件。

有没有办法避免这种情况,就像在应用程序中添加插件的旧方式一样,其中 buildscript 块我们只需使用类路径添加该依赖项。

buildscript {
repositories {
    maven { url "https://privaterepo.myemployer.com" }
}

dependencies {
    classpath "org.gradle.sample:custom-plugins:1.0.0"
}

【问题讨论】:

    标签: java gradle plugins gradle-plugin gradle-custom-plugin


    【解决方案1】:

    这取决于存储库是否知道请求的requested.id.id,并添加了默认的.gradle.plugin 后缀。您的问题导致了另一个answer - 我在那里提供的示例可能显示了何时需要使用resolutionStrategy,何时不需要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-20
      • 1970-01-01
      • 1970-01-01
      • 2011-12-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多