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

lia*_*ett 20 java ant ivy gradle maven

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

projectRoot/src
projectRoot/classes
projectRoot/conf
projectRoot/webservices
Run Code Online (Sandbox Code Playgroud)

这在效果很好,但我希望迁移到.

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

小智 32

使用Gradle可以很容易地适应任何目录结构.请参阅Gradle用户指南的使用源集部分.


Dim*_* II 12

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

sourceSets {
    main {
        java {
            srcDir 'sources/main/java'
        }
        outputDir = file("$workDir/client/program")
        // For older version (now deprecated):
        //output.classesDir = "$workDir/client/program"
    }
    test {
        java {
            srcDir 'sources/test/java'
        }
        outputDir = file("$workDir/client/tests")
        // For older versions (now deprecated):
        //output.classesDir = "$workDir/client/tests"
        //output.resourcesDir = "$workDir/client/tests"
    }
    resources {
        srcDirs 'sources/test/res'
    }
}
Run Code Online (Sandbox Code Playgroud)