Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #27 from kakulisen/optimize-samples-readme
SCB-1463 optimize samples readme
- Loading branch information
Showing
11 changed files
with
253 additions
and
34 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# samples | [English](./README.md) | ||
|
||
以下是ServiceComb Toolkit的一些使用案例 | ||
1. 基于SpringMvc实现的遗留应用自动转换为基于ServiceComb的微服务工程。请参考以下示例 | ||
[generate-from-code-sample](./generate-from-code-sample/README-ZH.md) | ||
2. 基于OpenAPI契约文件自动生成基于ServiceComb的微服务工程。请参考以下示例 | ||
[generate-from-contract-sample](./generate-from-contract-sample/README-ZH.md) | ||
3. 校验当前项目的API实现代码与契约文件描述是否一致。请参考以下示例 | ||
[verify-with-code-sample](./verify-with-code-sample/README-ZH.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,9 @@ | ||
# samples | ||
# samples | [中文](./README-ZH.md) | ||
|
||
It's the samples of ServiceComb Toolkit | ||
1. [generate-from-code-sample](https://github.com/kakulisen/servicecomb-toolkit/tree/master/samples/generate-from-code-sample) | ||
2. [generate-from-contract-sample](https://github.com/kakulisen/servicecomb-toolkit/tree/master/samples/generate-from-contract-sample) | ||
3. [verify-with-code-sample](https://github.com/kakulisen/servicecomb-toolkit/tree/master/samples/verify-with-code-sample) | ||
1. Legacy applications based on SpringMvc are automatically converted to ServiceComb-based microservice engineering. Please refer to the following sample | ||
[generate-from-code-sample](./generate-from-code-sample) | ||
2. Automatic generation of ServiceComb-based microservice engineering based on OpenAPI contract file. Please refer to the following sample | ||
[generate-from-contract-sample](./generate-from-contract-sample) | ||
3. Verify that the current project's API implementation code is consistent with the contract file description. Please refer to the following sample | ||
[verify-with-code-sample](./verify-with-code-sample) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
### Generate From Code Sample | ||
本案例模拟一个多模块项目,包括以下两个服务: | ||
* HelloService | ||
* GoodbyeService | ||
|
||
HelloService和GoodbyeService各提供一个接口,本案例将分别将其转换成对应的基于ServiceComb java-chassis的微服务项目 | ||
|
||
### 运行环境 | ||
1. [JDK 1.8](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) | ||
2. [Maven 3.x](https://maven.apache.org/install.html) | ||
|
||
### 步骤1: 配置插件 | ||
在示例项目根目录的pom.xml文件中,新增toolkit-maven-plugin插件的配置,如下 | ||
```xml | ||
<plugin> | ||
<groupId>org.apache.servicecomb.toolkit</groupId> | ||
<artifactId>toolkit-maven-plugin</artifactId> | ||
<version>0.1.0-SNAPSHOT</version> | ||
<configuration> | ||
<!-- 输入源。设置为 code,表示解析当前代码;设置为 contract,表示解析指定目录的契约文件。不设置则默认为 code --> | ||
<sourceType>code</sourceType> | ||
<!-- 生成契约文件、文档的根目录,不设置则默认为运行命令所在目录下的 target 目录,生成的微服务工程在 project 目录,契约文件在 contract 目录,文档在 document 目录 --> | ||
<outputDirectory>./target</outputDirectory> | ||
<!-- 生成的微服务代码工程配置 --> | ||
<service> | ||
<!-- 微服务的类型,可生成 provider/consumer/all,默认值为 all --> | ||
<serviceType>all</serviceType> | ||
<groupId>org.apache.servicecom.toolkit</groupId> | ||
<artifactId>generate-from-code-sample</artifactId> | ||
</service> | ||
</configuration> | ||
</plugin> | ||
``` | ||
|
||
### 步骤2:执行插件 | ||
在命令行中执行如下的maven命令: | ||
``` | ||
mvn toolkit:generate | ||
``` | ||
|
||
### 步骤3:输出结果 | ||
转换的结果在generate-from-code-sample的target目录下,分别输出契约,文档和基于ServiceComb java-chassis的微服务项目 | ||
``` | ||
target/ | ||
├── contract | ||
│ ├── GoodbyeService | ||
│ │ └── GoodbyeController.yaml | ||
│ └── HelloService | ||
│ └── HelloController.yaml | ||
├── document | ||
│ ├── GoodbyeService | ||
│ │ └── GoodbyeController.html | ||
│ └── HelloService | ||
│ └── HelloController.html | ||
└── project | ||
├── GoodbyeService-consumer | ||
│ ├── pom.xml | ||
│ └── src | ||
├── GoodbyeService-model | ||
│ └── pom.xml | ||
├── GoodbyeService-provider | ||
│ ├── pom.xml | ||
│ └── src | ||
├── HelloService-consumer | ||
│ ├── pom.xml | ||
│ └── src | ||
├── HelloService-model | ||
│ └── pom.xml | ||
├── HelloService-provider | ||
│ ├── pom.xml | ||
│ └── src | ||
└── pom.xml | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
### Generate From Contract Sample | ||
本案例模拟一个空项目,在该项目根目录的contract目录放置了契约 | ||
本案例将根据contract目录的契约生成对应的基于ServiceComb java-chassis的微服务项目 | ||
|
||
### 运行环境 | ||
1. [JDK 1.8](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) | ||
2. [Maven 3.x](https://maven.apache.org/install.html) | ||
|
||
### 步骤1: 配置插件 | ||
在示例项目根目录的pom.xml文件中,新增toolkit-maven-plugin插件的配置,如下 | ||
```xml | ||
<plugin> | ||
<groupId>org.apache.servicecomb.toolkit</groupId> | ||
<artifactId>toolkit-maven-plugin</artifactId> | ||
<version>0.1.0-SNAPSHOT</version> | ||
<configuration> | ||
<!-- 输入源。设置为 code,表示解析当前代码;设置为 contract,表示解析指定目录的契约文件。不设置则默认为 code --> | ||
<sourceType>contract</sourceType> | ||
<!-- 被解析的契约文件路径,在 sourceType 设置为 contract 时有效,且必须设置 --> | ||
<contractLocation>./contract</contractLocation> | ||
<!-- 生成契约文件、文档的根目录,不设置则默认为运行命令所在目录下的 target 目录,生成的微服务工程在 project 目录,契约文件在 contract 目录,文档在 document 目录 --> | ||
<outputDirectory>./target</outputDirectory> | ||
<!-- 生成的微服务代码工程配置 --> | ||
<service> | ||
<!-- 微服务的类型,可生成 provider/consumer/all,默认值为 all --> | ||
<serviceType>provider</serviceType> | ||
</service> | ||
</configuration> | ||
</plugin> | ||
|
||
``` | ||
|
||
### 步骤2:执行插件 | ||
在命令行中执行如下的maven命令: | ||
``` | ||
mvn toolkit:generate | ||
``` | ||
|
||
### 步骤3:输出结果 | ||
生成的内容在generate-from-code-sample的target目录下,分别输出文档和基于ServiceComb java-chassis的微服务项目 | ||
``` | ||
target/ | ||
├── document | ||
│ ├── GoodByeService | ||
│ │ └── GoodbyeController.html | ||
│ └── HelloService | ||
│ └── HelloController.html | ||
└── project | ||
├── GoodByeService-model | ||
│ └── pom.xml | ||
├── GoodByeService-provider | ||
│ ├── pom.xml | ||
│ └── src | ||
├── HelloService-model | ||
│ └── pom.xml | ||
├── HelloService-provider | ||
│ ├── pom.xml | ||
│ └── src | ||
└── pom.xml | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
### Verify With Code Sample | ||
本案例包括以下服务和一个存放标准契约的contract目录 | ||
* GreetingService | ||
本案例将使用标准契约校验当前项目的契约并输出校验结果到控制台 | ||
|
||
### 运行环境 | ||
1. [JDK 1.8](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) | ||
2. [Maven 3.x](https://maven.apache.org/install.html) | ||
|
||
### 步骤1: 配置插件 | ||
在示例项目根目录的pom.xml文件中,新增toolkit-maven-plugin插件的配置,如下 | ||
```xml | ||
<plugin> | ||
<groupId>org.apache.servicecomb.toolkit</groupId> | ||
<artifactId>toolkit-maven-plugin</artifactId> | ||
<version>0.1.0-SNAPSHOT</version> | ||
<configuration> | ||
<!-- 输入源。设置为 code,表示解析当前代码;设置为 contract,表示解析指定目录的契约文件。不设置则默认为 code --> | ||
<sourceType>code</sourceType> | ||
<!-- 样本契约文件目录,必须设置 --> | ||
<destinationContractPath>./contract</destinationContractPath> | ||
</configuration> | ||
</plugin> | ||
``` | ||
|
||
### 步骤2:执行插件 | ||
在命令行中执行如下的maven命令: | ||
``` | ||
mvn toolkit:verify | ||
``` | ||
|
||
### 步骤3:输出结果 | ||
校验的结果直接在控制台上输出 | ||
``` | ||
[INFO] Contract is not matched, difference is as follows | ||
[INFO] ./contract/GreetingController.yaml vs /opt/sunlisen/workspace/servicecomb-toolkit/samples/verify-with-code-sample/target/tmp-contract/2244468406394280775/GreetingController.yaml | ||
@@ -1,20 +1,3 @@ | ||
1 -## --------------------------------------------------------------------------- | ||
2 -## Licensed to the Apache Software Foundation (ASF) under one or more | ||
3 -## contributor license agreements. See the NOTICE file distributed with | ||
4 -## this work for additional information regarding copyright ownership. | ||
5 -## The ASF licenses this file to You under the Apache License, Version 2.0 | ||
6 -## (the "License"); you may not use this file except in compliance with | ||
7 -## the License. You may obtain a copy of the License at | ||
8 -## | ||
9 -## http://www.apache.org/licenses/LICENSE-2.0 | ||
10 -## | ||
11 -## Unless required by applicable law or agreed to in writing, software | ||
12 -## distributed under the License is distributed on an "AS IS" BASIS, | ||
13 -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
14 -## See the License for the specific language governing permissions and | ||
15 -## limitations under the License. | ||
16 -## --------------------------------------------------------------------------- | ||
17 - | ||
18 --- 1 --- | ||
19 swagger: "2.0" 2 swagger: "2.0" | ||
20 info: 3 info: | ||
this is end of compare | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters