Gradle插件发布插件正在跳过依赖项排除

时间:2015-07-26 14:00:40

标签: gradle gradle-plugin

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

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

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

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

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

有解决方法吗?我可以以某种方式使用插件发布的withDependencies扩展名吗?

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

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

1 个答案:

答案 0 :(得分:0)

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

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>