0
我正在嘗試在Gradle中實現縮小任務。以下是我的代碼: -Gradle中的縮小任務
plugins {
id "com.eriwen.gradle.js" version "2.14.1"
}
import com.eriwen.gradle.js.tasks.MinifyJsTask
task minify() {
def index = 1
def dynNames = []
javascript.source {
custom {
js {
srcDir "$pExplodedFolderPath"
include "**/*.js"
exclude "**/*.min.js"
}
}
}
javascript.source.custom.js.files.eachWithIndex {fileSrc, idx ->
def dynName = "minifyTask_${index++}"
task "${dynName}"(type:MinifyJsTask) {
source = file(fileSrc.absolutePath)
dest = "/Users/user.name/Documents/" + fileSrc.getParentFile().getName() + "/" + fileSrc.name + ".min.js"
closure {
warningLevel = 'DEBUG'
compilationLevel = 'SIMPLE_OPTIMIZATIONS'
}
}
dynNames << dynName
}
dependsOn dynNames
}
當我運行它,它打印「無源」的所有文件。任何人都可以在這裏幫助我做錯嗎?
但是,如果我'println',我可以看到所有文件。這不是說它應該工作嗎? 如果不是,你能通過我的代碼給我一個小例子嗎?哪一部分放在doLast中? – user3279692
正如我所說的,你的代碼**是**運行,但在錯誤的時間**。在Gradle中,您有初始化階段,配置階段和執行階段。你的代碼是在配置階段運行,不管任務是否應該運行與否,並在執行階段,有沒有爲你做任務,因此將被跳過,'NO-SOURCE'。 – Vampire
吸血鬼:如果你可以根據我的代碼給出一個例子,那真的很有幫助。我知道搖籃的三個階段,但只要我看到的例子,我沒有看到需要doLast。例如: https://raw.githubusercontent.com/Canadensys/canadensys-common/master/gradle/canadensys_web_build.gradle 多一點幫助請求。 謝謝 – user3279692