In my JVM project, I want to use the gradle-js-plugin
, but I want to minify each js file individually rather than concatenate them all into a single output. I’ve created a series of custom tasks as follows:
def allJsFiles = fileTree('web/public') {
include '**/*.js'
exclude '**/*.min.js'
}
task jsAll
allJsFiles.each {File jsFile ->
def taskName = jsFile.toString().replace(projectDir.toString(),'').replaceAll('\\.', '')
task("jsFiles-${taskName}", type: minifyJs, description: "test") {
def srcFileName = jsFile.toString().replace(projectDir.toString(),'')
def srcFile = file(srcFileName)
def destFile = file("${buildDir}/${srcFileName}")
source = srcFile
dest = destFile
}
jsAll.dependsOn("jsFiles-${taskName}")
}
Running the jsAll task gives this result:
> com.eriwen.gradle.js.tasks.MinifyJsTask_Decorated cannot be cast to java.lang.Class
Help - What am I doing wrong?