2017-03-07 34 views
2

我有以下的搖籃任務:無法在Gradle中獲取未知屬性的任務?

task makeZipDependencies << { 
     allDeps = (configurations.runtime + configurations.archives.allArtifacts.files).findAll { 
      !(it.name =~ /clover/) 
     }                    .unique() 
     if ("myApp".equals(project.name)) { 
      rootProject.childProjectsRecursive.each { 

       try { 
        databaseSqlFileDeps.put(it.name, it.configurations["mySQLFiles"].files) 
       } catch (UnknownConfigurationException e) { 

       } 
      } 
     } 

這是以前沒有引起一個錯誤,當我跑我的項目使用Java 7和1.7的gradle。

不過,我已經轉移到Java的8和gradle這個3.4.1,現在我得到這個錯誤:

Execution failed for task "makeZipDependencies", could not get unknown property:childProjectsRecursive for root Project myApp of type org.gradle.api.project" 

我需要什麼樣的變化,使我的任務,以解決這一問題?

回答

3

Gradle的API在版本1.x(您表示1.7)和3x(截至今天的最新版本是3.4.1)之間發生了很大變化。

我想你需要的是查詢subprojects屬性的值https://docs.gradle.org/3.4.1/dsl/org.gradle.api.Project.html#org.gradle.api.Project:subprojects

rootProject.subprojects.each { ... } 

遺憾的是沒有單一的文件,你可以找到所有版本1.x和3.x中的變化我的建議是儘可能更新構建版本,以儘量減少遷移影響。在主要版本之間切換時,始終注意行爲/二進制不兼容性。

相關問題