Gradle中的缩小任务

时间:2017-10-06 14:06:00

标签: javascript gradle minify

我正在尝试在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

    }

当我运行它时,它会打印&#34; NO-SOURCE&#34;对于所有文件。任何人都可以帮助我在这里做错了吗?

1 个答案:

答案 0 :(得分:1)

您忘了将任务操作包装到doLast {}。您编写代码的方式是在配置阶段执行代码,无论任务是否应该运行,都会执行代码。