Gradle plugin-publish 插件正在跳过依赖排除

Gradle plugin-publish plugin is skipping dependency excludes

我的自定义插件构建脚本中排除了一些传递依赖项。像这样:

configurations {
    compile.exclude group: 'commons-math3', module: 'commons-math3'
}

dependencies {
    'org.apache.jmeter:ApacheJMeter:2.13',
}

使用 com.gradle.plugin-publish 版本 0.9.1 发布到 plugins.gradle.org 时,排除项不会传播到生成的 POM:

<dependency>
  <groupId>org.apache.jmeter</groupId>
  <artifactId>ApacheJMeter</artifactId>
  <version>2.13</version>
  <scope>compile</scope>
</dependency>

有解决办法吗?我能以某种方式使用 plugin-publish 的 withDependencies 扩展吗?

Maven-publish 插件有(或至少曾经有)类似的问题。参见 here

更新: This issue is unresolved, and is now logged as a gradle defect.

排除依赖项中的模块,它是以下的传递依赖项:

dependencies {
    compile('org.apache.jmeter:ApacheJMeter:2.13') {
        exclude group: 'commons-math3', module: 'commons-math3'
    }
}

这就是您将在生成的 POM 中得到的内容:

<dependency>
  <groupId>org.apache.jmeter</groupId>
  <artifactId>ApacheJMeter</artifactId>
  <version>2.13</version>
  <scope>compile</scope>
  <exclusions>
    <exclusion>
      <artifactId>commons-math3</artifactId>
      <groupId>commons-math3</groupId>
    </exclusion>
  </exclusions>
</dependency>