2016-09-14 54 views
0

我試圖從一個目錄與Gradle同步特定的文件。但是我收到了一個我似乎無法解決的奇怪錯誤。如果在同步過程中有更好的(工作)方式來過濾文件,那也是受歡迎的。包括未找到copySpec /同步任務Gradle

實施1

def updateAbstractsContentSpec = copySpec { 
    from('../../base') { 
     includes "../../base/shared/**/*_abstract.*" 
    } 
} 

task updateAbstracts(type: Sync) { 
    group 'build' 
    with updateAbstractsContentSpec 
} 

錯誤1

Error:(24, 0) Could not find method includes() for arguments [../../base/shared/**/*_abstract.*] on object of type org.gradle.api.internal.file.copy.CopySpecWrapper_Decorated. 

實施2(優選)

task updateAbstracts(type: Sync) { 
    group 'build' 
    from '../../base' 
    includes '../../base/shared/**/*_abstract.*' 
} 

錯誤2

Error:(23, 0) Could not find method includes() for arguments [../../base/shared/**/*_abstract.*] on task ':apps:TestApp1:updateAbstracts' of type org.gradle.api.tasks.Sync. 

我認爲它清楚我嘗試做。我希望有人能幫助我。

回答

1

Gradle 3.0 CopySpec documentation,CopySpec不包含includes方法。

您應該使用包括代替:

task updateAbstracts(type: Sync) { 
    group 'build' 
    from '../../base' 
    include '../../base/shared/**/*_abstract.*' 
} 
+0

那是正確的,我發現我的錯誤以及。 –