Build Vert.x Gradle多模块构建

Build Vert.x Gradle多模块构建,build,gradle,installation,multi-module,vert.x,Build,Gradle,Installation,Multi Module,Vert.x,Vert.x和Gradle对我来说都是全新的。我熟悉基本知识和Hello World演示。我正在寻找建立多模块构建的指导原则 项目要求: 依赖项在顶层管理(不是在每个模块中) 所有模块位于同一层(无子模块) 模块属性在一个地方进行管理(例如,为整个项目定义一次版本和组ID/所有者) 有一个starter模块负责从其他模块加载所有垂直线(因此模块之间存在依赖关系) 生成单个(可执行)fat jar作为构建结果 构建应该生成将项目导入IDE所需的文件(例如Eclipse) 可以使用不同的语言进行开

Vert.x和Gradle对我来说都是全新的。我熟悉基本知识和Hello World演示。我正在寻找建立多模块构建的指导原则

项目要求:

  • 依赖项在顶层管理(不是在每个模块中)
  • 所有模块位于同一层(无子模块)
  • 模块属性在一个地方进行管理(例如,为整个项目定义一次版本和组ID/所有者)
  • 有一个starter模块负责从其他模块加载所有垂直线(因此模块之间存在依赖关系)
  • 生成单个(可执行)fat jar作为构建结果
  • 构建应该生成将项目导入IDE所需的文件(例如Eclipse)
  • 可以使用不同的语言进行开发(Java、Scala、JS等)

我用和做了一些测试。它们都不适合我的要求。

我有一个类似的项目,我选择了。它只是将几个有用的pugin分组

我使用这种结构:

root-folder
 ├── app
 ├── build.gradle
 ├── settings.gradle
 ├── service 1
 ├── service 2
  • 服务1/2是我的不同模块
  • 应用程序是一个组装一切的模块。它使用了上面的插件,因此包含了主垂直线。这取决于服务的1/2。分发jar的配置也在这里
  • settings.gradle和build.gradle用于集中版本和声明不同的模块

我们最终编写了自己的解决方案,该解决方案生成顶级build.gradle和其他文件,以满足您描述的需求。没有开门。其他提示是artifactory插件不喜欢被多次包含:)