gradle中的项目名称必须是目录?

时间:2014-06-02 19:20:14

标签: gradle

是否必须在gradle中创建一个与project相同的目录?我的代码是这样的:

|-- build.gradle
`-- suites
    `-- lrgabc.gradle

1 directory, 2 files

suite / lrgabc.gradle的内容

$ cat suites/lrgabc.gradle 
project(':lrgabc') {
    task block1 << {
        println "Hello from lrgabc.block1"
    }
}

build.gradle的内容

apply from: 'suites/lrgabc.gradle'

当我跑步时,gradle -q:lrgabc:block1我得到了

* Where:
Script '/home/skgupta/gradle-examples/multiproject/suites/lrgabc.gradle' line: 1

* What went wrong:
A problem occurred evaluating script.
> Project with path ':lrgabc' could not be found in root project 'multiproject'.

是否必须拥有&#39; lrgabc&#39;作为&#39; multiproject&#39;下的目录?

我尝试的是在一个项目下,使用gradle创建多个测试套件。每个测试套件都是一个gradle文件,其中gradle中的每个任务代表一个测试[这些是非Java测试,如perl,python..etc]

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

多项目Gradle构建中的每个子项目都需要有一个单独的项目目录。但是,目录名称不必与项目名称相对应(可在settings.gradle中配置)。

答案 1 :(得分:1)

  1. 您真的想看一下多项目构建的文档 - http://www.gradle.org/docs/current/userguide/multi_project_builds.html Gradle发行版中还有一些示例可以帮助您。

  2. 您无需创建新项目即可创建更多测试任务。您可以在一个项目中进行这些测试。以这种方式定义多个测试套件(如单元和功能测试)是很常见的。 http://blog.safaribooksonline.com/2013/08/22/gradle-test-organization/显示了可能的实施方式。