Gradle混合语言中的标准目录结构



在我的项目中,我正在构建Java桌面应用程序,但有一堆c++头文件和xml绑定用于生成其他Java源文件。我想遵循惯例,将它们正确地放置在我的目录源树中。

└── src
    ├── main
    │    └── java
    │         └── JavaClass.java
    └── test

我做了一些分析,似乎src/mainsrc/test是类似Java的插件查找源代码(Java、Groovy、Scala、Closure)的地方。

我看到Gradle插件中的cpp/c文件存储在主目录/测试目录之外。

你推荐什么?在main中创建一个子目录或将我的附加内容移到外部。

第二个问题,我应该将生成的Java源代码和普通源代码混合使用吗?到目前为止,我将它们保存在单独的目录中,然后将所有Java源代码编译到一个jar中。

我建议选择普通的Gradle/Maven目录结构(src/{type}/{language}),并为生成的源添加一个额外的"type"。所以我会把这个项目安排成:

└── src
    ├── generatedMain
    │    └── java
    ├── main
    │    ├── java
    │    ├── scala
    │    ├── resources
    │    └── <language>
    └── test
         ├── java
         ├── scala
         ├── resources
         └── <language>

最新更新