gradle.build中的那些构造到底意味着什么呢?

时间:2015-09-02 11:08:48

标签: groovy gradle

我创建了一个基本的gradle构建。我的构建脚本包含如下构造:

subprojects {
  group = 'tld.example'
  version = '0.1'
}

我解读了这个:构建脚本委托对Project对象的所有调用,而subprojects只是在该对象上定义的方法,它接受Closure

够容易。但这是什么意思?

model {
  components {
    foo(NativeLibrarySpec) {
      sources {
        cpp {
          source {
            srcDir "src"
            include "**/*.cpp"
          }
          exportedHeaders {
            srcDirs "${rootDir}/include"
          }
        }
      }
    }
  }
}

足够公平,它比前一个片段长一点,所以即:

  • 我在跟踪上下文时遇到了一些麻烦,同时从模型一直向下移动到例如源
  • 我很确定没有任何foo方法/属性被定义,所以我实际上通过说foo(NativeLibrarySpec)来调用/做什么?狂野的猜测是,groovy有一些PHP-like magic functions,它会处理这个吗?

1 个答案:

答案 0 :(得分:0)

foo定义了一个具有该名称的库。

您可以查找here