使用gretty插件更改配置?

时间:2017-03-07 17:02:59

标签: gradle gretty

我暂时没有对Gradle做过任何事情,所以我似乎忘记了配置解析的工作原理。

我正在尝试使用gretty插件(而不是核心,不推荐使用的jetty),但我似乎无法创建自定义配置。

我把它简化为一个非常简短的简单脚本(使用Gradle 3.4):

buildscript {
    repositories {
        maven {
            url 'https://plugins.gradle.org/m2/'
        }
    }
    dependencies {
        classpath 'org.akhikhl.gretty:gretty:1.4.0'
    }
}

plugins {
    id 'org.akhikhl.gretty' version '1.4.0'
}

configurations {
    fooTest
}

configurations.fooTest.each {
    println it.toString()
}

似乎不喜欢我在fooTest配置上进行迭代。

假设我需要知道该配置的依赖关系(我从上面的代码中剥离了该部分)

我在这里做错了什么?

上面的脚本给了我这个:

org.gradle.api.InvalidUserDataException: Cannot change strategy of configuration ':fooTest' after it has been resolved.

1 个答案:

答案 0 :(得分:0)

这里的关键点是我需要一个未解析的配置来循环。不可否认,这些信息在最初的描述中被忽略了,因为我不知道它是关键信息。我们需要遍历依赖项中的文件,并将它们复制/解压缩到某些位置。

但是,我们无法通过已解析的配置执行此操作。也就是说,我们可以将配置复制到一个未解析的配置中,然后循环遍历:

configurations.fooTest.copy().each {
    println it.toString()
}

这将成功打印出依赖项中涉及的文件(或根据我的需要解压缩它们)。