复制依赖项,不包括某些配置

ghi*_*hik 3 gradle

假设一个像这样的项目布局:

allprojects {
    apply plugin: "java"

    configurations {
        provided
        compile.extendsFrom(provided)
    }
}

project("a") {
    dependencies {
        compile("foo:bar:1.0")
        ...
        provided("bar:baz:3.14")
        ...
    }
}

project("b") {
    dependencies {
        compile("abc:def:1.0")
        ...
        provided("xyz:foo:3.14")
        ...
    }
}

dependencies {
    compile(project(":a"))
    compile(project(":b"))
}
Run Code Online (Sandbox Code Playgroud)

现在,我需要一个任务,将根项目的所有依赖项(传递)复制到某个目录,但不包括provided配置.我怎样才能做到这一点?

Ste*_*vik 8

要仅将编译依赖项(不在提供的依赖项集中)复制到目录,这应该工作:

task copyDependencies(type:Copy) {
    from (configurations.compile - configurations.provided)
    into 'build/dependencies'
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.