Gradle可以处理不符合默认约定的构建目录结构吗?

时间:2010-03-31 08:33:28

标签: java maven ant ivy gradle

我正在开发一个基于 + 的项目,该项目具有以下目录结构:

projectRoot/src
projectRoot/classes
projectRoot/conf
projectRoot/webservices

这在中非常有效,但我希望迁移到

有没有办法在Gradle中定义非maven目录结构,还是应该关注mavenize

3 个答案:

答案 0 :(得分:32)

Gradle很容易适应任何目录结构。请参阅Gradle用户指南的Working with source sets部分。

答案 1 :(得分:10)

非标准项目目录结构(自定义布局)的示例:

sourceSets {
    main {
        java {
            srcDir 'sources/main/java'
        }
        output.classesDir = "$workDir/client/program"
    }
    test {
        java {
            srcDir 'sources/test/java'
        }
        output.classesDir = "$workDir/client/tests"
        output.resourcesDir = "$workDir/client/tests"
    }
}

答案 2 :(得分:2)

尝试:

sourceSets {
    main {
        java {
            srcDirs = ['src/java']
        }
        resources {
            srcDirs = ['src/resources']
        }
    }
}

sourceSets {
    main.java.srcDirs += 'src/java'
    main.resources.srcDirs += 'src/resources'
}