2017-09-05 64 views
0

如何轉換以下的常規片斷訪問源組與科特林-DSL的gradle這個

URL[] urls = sourceSets.main.runtimeClasspath.files.collect { 
    it.toURI().toURL() 
} 

到科特林-DSL?特別是屬性sourceSets似乎不可用,並且無法編譯。

如何訪問任務中的sourceSets?

回答

1

runtimeClasspath沒有sourceSetclasspathsourceSet不同。但是如果你有興趣獲得例如與科特林-DSL,這裏一個項目的main-sourceset是一個片段:

java { 
    val files: Set<File> = sourceSets["main"].java.srcDirs 
    println(files) 
} 

從任務

task("hello-src-set") { 
    val files: Set<File> = java.sourceSets["main"].java.srcDirs 
    println(files) 
} 
+0

有沒有辦法在一個任務來完成訪問sourceSet?目前sourceSets變量似乎沒有在我正在處理的任務範圍內 – Chad

+0

我更新了你從任務 – guenhter

+0

訪問源碼集的答案似乎答案是正確的,但我不需要'java.sourceSets',而是需要而是通過()。sourceSets'方法訪問它們。請修改,以便我可以接受!謝謝。 – Chad