运行build.gradle的GroovyConsole

时间:2013-10-03 18:27:14

标签: gradle android-gradle groovy-console

GradleWare的书 - Building and Testing with Gradle - 在1.1节中说明了以下内容: “每个Gradle构建文件都是可执行的Groovy脚本。”

但是,当我在GroovyConsole中运行build.gradle文件时,它给了我这个错误:

  

groovy.lang.MissingMethodException:没有方法签名:   build.apply()适用于参数类型:   (java.util.LinkedHashMap)值:[[plugin:android-library]]可能   解决方案:any(),any(groovy.lang.Closure),every(),   every(groovy.lang.Closure),split(groovy.lang.Closure)at   build.run(的build.gradle:1)

它指的是第1行:

apply plugin: 'android-library'

在构建脚本中:

apply plugin: 'android-library'

dependencies {
  compile 'com.android.support:support-v4:18.0.+'
}

android {
  compileSdkVersion 14
  buildToolsVersion '17.0.0'

  sourceSets {
    main {
      manifest.srcFile 'AndroidManifest.xml'
      java.srcDirs = ['src']
      res.srcDirs = ['res']
    }
  }
}

那么请你澄清一下这本书的陈述是正确还是错误?

谢谢你, Igor Ganapolsky

3 个答案:

答案 0 :(得分:1)

声明不应按字面意思理解。无法使用普通的Groovy运行Gradle脚本,就像网页上的Javascript代码段无法在浏览器外部的纯JavaScript引擎中运行一样。

答案 1 :(得分:1)

可以将任务添加到gradle构建文件以启动Groovy控制台,但如下所述:

http://piraguaconsulting.blogspot.com.br/2012/02/gradle-groovy-console.html

相关的代码段是:

task(console, dependsOn: 'classes', type: JavaExec) {
   main = 'groovy.ui.Console'
   classpath = sourceSets.main.runtimeClasspath
}

答案 2 :(得分:1)

严格说来,gradle生成文件不是俗套的。 它是一种脚本语言,又名编写。因此,您需要gradle分发来运行任何gradle文件,请参阅:https://gradle.org/install/