|
请使用 spring-cloud-contract 5.0.2 获取最新稳定版本! |
如何构建 Spring Cloud Contract
在 Windows 上克隆仓库
在 Windows 上克隆此项目时,git 仓库中的某些文件可能超过 Windows 最大文件路径限制(255 个字符),这可能导致仓库被错误地(可能部分地)检出。
为了解决此问题,您可以将 core.longPaths 属性设置为 true,或克隆 Spring Cloud Contract 仓库。
将 core.longPaths 属性设置为 true,您有三种选择:
-
为该机器的所有用户更改(这需要管理员权限):
git config --system core.longPaths true
git clone https://github.com/spring-cloud/spring-cloud-contract.git
-
为当前用户进行更改(无需管理权限):
git config --global core.longPaths true
git clone https://github.com/spring-cloud/spring-cloud-contract.git
-
仅针对此仓库进行更改(管理权限取决于仓库被克隆的位置):
git clone -c core.longPaths=true https://github.com/spring-cloud/spring-cloud-contract.git
| 您需要为您的 IDE 安装所有必要的 Groovy 插件,以便正确解析源代码。例如,在 IntelliJ IDEA 中,同时安装 Eclipse Groovy 编译器插件和 GMavenPlus IntelliJ 插件,可实现项目的正确导入。 |
| Spring Cloud Contract 构建 Docker 镜像。请确保已安装 Docker。 |
| 如果您希望以离线模式运行构建,必须安装 Maven 3.5.2 或更高版本。 |
项目结构
以下列表显示了 Spring Cloud Contract 的文件夹结构:
├── config
├── docker
├── samples
├── scripts
├── specs
├── spring-cloud-contract-dependencies
├── spring-cloud-contract-shade
├── spring-cloud-contract-starters
├── spring-cloud-contract-stub-runner
├── spring-cloud-contract-stub-runner-boot
├── spring-cloud-contract-tools
├── spring-cloud-contract-verifier
├── spring-cloud-contract-wiremock
└── tests
以下列表描述了项目结构中每个顶层文件夹:
-
config: 文件夹包含用于自动发布过程的 Spring Cloud Release Tools 设置 -
docker: 文件夹包含 Docker 镜像 -
scripts: 包含构建和测试Spring Cloud Contract的脚本,使用 Maven、Gradle -
specs: 内部包含合同 DSL 的规范。 -
spring-cloud-contract-dependencies: 包含Spring Cloud Contract BOM -
spring-cloud-contract-shade: 由插件使用的着色依赖项 -
spring-cloud-contract-starters: 包含 Spring Cloud Contract Starters -
spring-cloud-contract-spec: 包含规范模块(包含契约概念) -
spring-cloud-contract-stub-runner: 包含 Stub Runner 相关的模块 -
spring-cloud-contract-stub-runner-boot: 带有存根运行程序启动程序的应用程序 -
spring-cloud-contract-tools: 用于Spring Cloud Contract Verifier的 Gradle 和 Maven 插件 -
spring-cloud-contract-verifier: 核心功能的Spring Cloud Contract Verifier功能 -
spring-cloud-contract-wiremock: 全部 WireMock 相关功能 -
tests: 集成测试不同的消息传递技术
(未找到匹配项)
要与Maven插件一起构建核心功能,请运行以下命令:
./mvnw clean install -P integration
调用该函数将构建核心、Maven 插件和 Gradle 插件。
仅构建Gradle插件,可以运行以下命令:
cd spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin
./gradlew clean build
帮助脚本
我们为您提供了一些有助于构建项目的有用的脚本。
要按并行方式生成项目(默认使用四个内核,但可以更改),请运行以下命令:
./scripts/parallelBuild.sh
要使用8个8核,请运行以下命令:
CORES=8 ./scripts/parallelBuild.sh
要不运行任何集成测试构建项目(默认情况下,这使用一个内核),请运行以下命令:
./scripts/noIntegration.sh
要使用八核处理器,请运行以下命令:
CORES=8 ./scripts/noIntegration.sh
要生成文档(针对根项目和 Maven 插件),请运行以下命令:
./scripts/generateDocs.sh