【问题标题】:mark dependencies provided with the gradle java mavenDeployer标记随 gradle java mavenDeployer 提供的依赖项
【发布时间】:2013-08-08 21:26:27
【问题描述】:

在库 jar 部署中,我需要将依赖项标记为已提供 - 否则我会得到

has an indirect dependency on Android API level BAR, but minSdkVersion for variant 'XYZ' is API level FOO

war插件似乎有办法,但我发现java插件没有办法

代码/构建脚本在这里:https://github.com/ligi/AndroidHelper

有人知道方法吗?

【问题讨论】:

    标签: java deployment gradle maven-deploy-plugin


    【解决方案1】:

    这很简单,你需要创建一个新的配置

        configurations {
          compileOnly
        }
    

    而不是将这个配置的依赖添加到源集中(否则编译失败)

        sourceSets {
          main {
            compileClasspath += configurations.compileOnly
          }
          test {
            compileClasspath += configurations.compileOnly
          }
        }
    

    最后一件事是告诉您的 IDE,它们是额外的,例如对于 Idea,您必须使用它

        idea {
          module {
            scopes.PROVIDED.plus += configurations.compileOnly
          }
        }
    

    现在您可以照常使用dependencies 部分中的compileOnly 配置

    【讨论】:

    • 谢谢!这似乎可行 - 只是最后一部分有问题 - 只是最后一部分和 AndroidStudio 有问题 - 似乎只适用于 IntelliJ
    • 好的。我希望这也适用于 AndroidStudio,因为它基于 IntelliJ Idea
    • 可能是从 v12->v13 的变化
    猜你喜欢
    • 2012-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-26
    • 1970-01-01
    • 2023-03-11
    • 2016-08-20
    • 2013-12-23
    相关资源
    最近更新 更多