如何构建 Spring Cloud Contract

在 Windows 上克隆存储库

在 Windows 上克隆此项目时,git 存储库中的某些文件可能会超过 Windows 最大文件路径限制(255 个字符),这可能会 导致存储库签出错误(可能部分)。spring-doc.cadn.net.cn

要解决此问题,您可以将core.longPaths属性设置为true或克隆 Spring Cloud Contract 存储库。spring-doc.cadn.net.cn

要将core.longPaths属性设置为true,您有三个选项:spring-doc.cadn.net.cn

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
您需要拥有所有必要的 Groovy 插件 为您的 IDE 安装以正确解析源代码。例如,在 Intellij IDEA,同时具有 Eclipse Groovy 编译器插件和 GMavenPlus Intellij 插件会生成正确导入的项目。
Spring Cloud Contract 构建 Docker 镜像。记得 已安装 Docker。
如果要在脱机模式下运行构建,则必须安装 Maven 3.5.2+。

项目结构

下面的清单显示了 Spring Cloud Contract 文件夹结构:spring-doc.cadn.net.cn

├── 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

以下列表描述了项目结构中的每个顶级文件夹:spring-doc.cadn.net.cn

命令

要与 Maven 插件一起构建核心功能,您可以运行以下命令 命令:spring-doc.cadn.net.cn

./mvnw clean install -P integration

调用该函数会构建核心、Maven 插件和 Gradle 插件。spring-doc.cadn.net.cn

要仅构建 Gradle 插件,您可以运行以下命令:spring-doc.cadn.net.cn

cd spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin
./gradlew clean build

有用的脚本

我们提供了几个有用的脚本来构建项目。spring-doc.cadn.net.cn

要并行构建项目(默认情况下,它使用四个内核,但您可以更改它), 运行以下命令:spring-doc.cadn.net.cn

./scripts/parallelBuild.sh

要使用 8 个 8 核,请运行以下命令:spring-doc.cadn.net.cn

CORES=8 ./scripts/parallelBuild.sh

要在没有任何集成测试的情况下构建项目(默认情况下,它使用一个内核),请运行 以下命令:spring-doc.cadn.net.cn

./scripts/noIntegration.sh

要使用 8 个内核,请运行以下命令:spring-doc.cadn.net.cn

CORES=8 ./scripts/noIntegration.sh

要生成文档(针对根项目和 maven 插件),请运行 以下命令:spring-doc.cadn.net.cn

./scripts/generateDocs.sh