0

コマンド「gradle tasks」などを実行すると、次のエラーが発生しました。

Caused by: java.io.FileNotFoundException: /Users/maxit/workspace/Backbone/modules/contact-form/public/build/contact-src.js (No such file or directory)

ここに私のgradleビルドファイルがあります:

configurations {
        sshAntTask
 }

dependencies {
        sshAntTask 'org.apache.ant:ant-jsch:1.7.1', 'jsch:jsch:0.1.29'
 }

// Pull the plugin from Maven Central
buildscript {

    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.eriwen:gradle-js-plugin:1.5.0'
    }
}

// Invoke the plugin
apply plugin: 'js'
apply plugin:'base'

def appName = "some"
def version = "0.0.1"
def jsSrcDir = 'public/js'

javascript.source {
    dev {
        js {
            srcDir jsSrcDir
            include "*.js"
            exclude "*.min.js"
        }
    }
    prod {
        js {
            srcDir jsSrcDir
            include "*.min.js"
        }
    }
}

task combineSrc(type: com.eriwen.gradle.js.tasks.CombineJsTask) {
    source = ["${projectDir}/public/templates/templates.js","${projectDir}/public/js/models/contact_model.js", "${projectDir}/public/js/views/contact_form_view.js", "${projectDir}/public/js/app.js" ]
    dest = file("${projectDir}/public/build/${appName}-src.js")
}

task appendJQuery(dependsOn: 'combineSrc') {
   String backboneSrc = file(new File("${projectDir}/public/build/${appName}-src.js")).text
   new File("${projectDir}/public/build/${appName}-jqueryWraped.js").withWriter{ out ->
       out << "(function(\$){" + file("${projectDir}/public/build/${appName}-src.js").text + "})(jQuery); \n"
    }
}

そのgradleは、存在しないファイルを無視しないようです。タスク「combineSrc」は実行されていませんが、まだファイルを作成していません....そして、最初にタスク「cobineSrc」を実行してファイルを作成することができません。そのような行き止まり。私は何を間違っており、これをどのように機能させるのですか? ありがとうございました

4

1 に答える 1

1

あなたが失敗している理由は、appendJQuery タスクの構成中に現在行っているすべてのことを実行段階で行う必要があるためです。

appendJQuery タスクをリファクタリングして行うだけです。

task appendJQuery(dependsOn: 'combineSrc') {
    doLast{
        String backboneSrc = file(new File("${projectDir}/public/build/${appName}-src.js")).text
        new File("${projectDir}/public/build/${appName}-jqueryWraped.js").withWriter{ out ->
            out << "(function(\$){" + file("${projectDir}/public/build/${appName}-src.js").text + "})(jQuery); \n"
        }
    }
}

それが役立つことを願っています!

レネ

于 2013-06-15T06:30:38.797 に答える