如何获取Gradle项目的所有配置列表?

时间:2016-12-15 21:28:34

标签: gradle

我正在尝试获取dependencyInsightdependencies gradle任务的--configuration标记的所有有效值的列表。我将如何使用Gradle 3.2.1进行此操作?

6 个答案:

答案 0 :(得分:27)

你试过了吗?

configurations.each { println it.name }

答案 1 :(得分:10)

尝试

gradle --console plain dependencies | fgrep ' - '

依赖关系任务列出了所有配置(及其依赖关系),而fgrep只会向您显示配置名称(以及每个配置的简要说明)。这不是很好,但是不需要您将内容放入构建脚本中。

答案 2 :(得分:5)

使用Gradle 5,使用--info选项非常简单。例如:

./gradlew projects --info

现在查看Configure project部分,其中列出了所有配置。

答案 3 :(得分:1)

只需运行不带--configuration标志的这些命令,输出的第一行将是可用配置的列表

答案 4 :(得分:0)

将此添加到根项目:

allprojects {
    repositories {
        // ....
    }

    task printConfigurations {
        doLast {task ->
            println "Project Name: $project.name configurations:"
            configurations.each {
                println "    $it.name"
            }
        }
    }
}

然后,例如:

$ ./gradlew -q :SubProjA:printConfigurations
Project Name: SubProjA configurations:
    -api
    -runtime
    annotationProcessor
    api
    apiDependenciesMetadata
    apiElements
    archives
    compile
    compileClasspath
    compileOnly
    compileOnlyDependenciesMetadata
    default
    implementation
    implementationDependenciesMetadata
    kotlinCompilerClasspath
    kotlinCompilerPluginClasspath
    kotlinKlibCommonizerClasspath
    kotlinNativeCompilerPluginClasspath
    kotlinScriptDef
    kotlinScriptDefExtensions
    runtime
    runtimeClasspath
    runtimeElements
    runtimeOnly
    runtimeOnlyDependenciesMetadata
    sourceArtifacts
    testAnnotationProcessor
    testApi
    testApiDependenciesMetadata
    testCompile
    testCompileClasspath
    testCompileOnly
    testCompileOnlyDependenciesMetadata
    testImplementation
    testImplementationDependenciesMetadata
    testKotlinScriptDef
    testKotlinScriptDefExtensions
    testRuntime
    testRuntimeClasspath
    testRuntimeOnly
    testRuntimeOnlyDependenciesMetadata

答案 5 :(得分:0)

Java 插件的所有配置如下:

https://docs.gradle.org/current/userguide/java_plugin.html#sec:java_plugin_and_dependency_management

<块引用>

compile(Deprecated) 编译时依赖。被取代 实施。

implementation extends compile 仅实现依赖。

compileOnly 仅编译时依赖,运行时不使用。

compileClasspath 扩展 compile, compileOnly, implementation Compile 类路径,在编译源时使用。由任务 compileJava 使用。

<块引用>

annotationProcessor 编译时使用的注解处理器。

runtime(Deprecated) 扩展编译运行时依赖项。取代 仅运行时。

runtimeOnly 仅运行时依赖项。

runtimeClasspath 扩展 runtimeOnly、runtime、实现 Runtime 类路径包含实现的元素,以及运行时 只有元素。

testCompile(Deprecated) extends compile 额外的依赖 编译测试。被 testImplementation 取代。

testImplementation 扩展了 testCompile, implementation 实现 仅用于测试的依赖项。

testCompileOnly 仅用于编译测试的附加依赖项,而不是 在运行时使用。

testCompileClasspath 扩展了 testCompile、testCompileOnly、 testImplementation 测试编译类路径,编译测试时使用 来源。由任务 compileTestJava 使用。

testRuntime(Deprecated) 扩展运行时,testCompile 附加 仅用于运行测试的依赖项。被 testRuntimeOnly 取代。

testRuntimeOnly 扩展 runtimeOnly 仅运行时依赖项 运行测试。

testRuntimeClasspath 扩展了 testRuntimeOnly、testRuntime、 testImplementation 运行时类路径,用于运行测试。任务使用 测试。

归档此项目产生的工件(例如罐子)。任务使用 上传档案。

default extends runtimeClasspath 使用的默认配置 项目依赖于此项目。包含文物和 此项目在运行时所需的依赖项。