2017-03-07 61 views
0

我有一段時間沒有用Gradle做過任何事情,所以看起來我忘記了配置解析的工作原理。使用gretty插件更改配置?

我想使用gretty插件(而不是核心,棄用jetty),但我似乎無法創建自定義配置。

我煮下來到(使用搖籃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. 
+0

你希望通過執行'println it.toString() '看到什麼? –

+0

我在依賴配置中使用'fooTest'(我忽略了,因爲我得到的錯誤無論如何)。我不一定要打印依賴項,但我確實想要解壓縮一些zip依賴項,這就是爲什麼我需要遍歷它們。我只是想盡量縮小這個問題的範圍。 – Depressio

回答

0

的關鍵點是在這裏,我需要一個懸而未決的配置遍歷。無可否認,這些信息在初始描述中被忽略,因爲我不知道這些信息是關鍵信息。我們需要遍歷依賴項中的文件並將它們複製/解壓縮到某些位置。

但是,我們無法通過已解決的配置來實現。這就是說,我們可以在配置複製到一個未解決的一個,並遍歷,與其:

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

這將成功地打印出參與依賴的文件(或解壓縮他們,因爲我的情況需要)。