将所有子文件夹定义为源文件夹

时间:2014-12-17 15:07:03

标签: android gradle android-studio

这是我的build.gradle

    sourceSets {
    main {

        java.srcDirs = ['src/base', 'src/modules/module1', 'src/modules/module2', 'src/modules/module3']

        res.srcDirs = ['src/base/common-res', 'src/modules/com/features/module1/resources', 'src/modules/com/features/module2/resources', 'src/modules/com/features/module3/resources']
    }
}

更新

基本上我希望将所有子文件夹放在" modules"文件夹是源文件夹,里面的所有资源文件夹都是res文件夹。

通过这种方式,但没有定义每个新文件夹:

enter image description here

我想代替module1,module2等一个通配符或任何表示所有子文件夹都是源dirs的。

怎么做?

1 个答案:

答案 0 :(得分:0)

您可以使用GDK列出文件夹的目录, 所以你可以尝试类似的东西:

file("src/modules").eachDir { module ->
    file("src/modules/$module").eachDir {
        if (it == "resources" ) {
            java.srcDirs.add  "src/modules/$module/it"
        } else {
            res.srcDirs.add  "src/modules/$module/it"
        }
    }       
}

这将迭代" src / modules"中的所有目录。然后将每个模块的每个子目录添加为源,除非它被称为资源。未经测试的代码,但应该让你开始。