Skip to content

Commit d0d5ff0

Browse files
authored
Merge branch 'master' into master
2 parents cdd4457 + 5728ed3 commit d0d5ff0

File tree

1,566 files changed

+13782
-19650
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,566 files changed

+13782
-19650
lines changed

.github/workflows/test-framework-java.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ on:
1818
jobName:
1919
description: 'job name'
2020
required: true
21+
buildCommands:
22+
description: 'build commands for generated code'
23+
required: true
2124

2225
jobs:
2326

@@ -137,6 +140,7 @@ jobs:
137140
with:
138141
path: generated/${{ env.JOB_NAME }}
139142
job-name: ${{ env.JOB_NAME }}
143+
build-commands: ${{ env.BUILD_COMMANDS }}
140144
- id: outcome
141145
run: |
142146
echo "::set-output name=build_outcome::${{ steps.build.outcome }}"
@@ -156,3 +160,4 @@ jobs:
156160
JOB_NAME: ${{ github.event.inputs.jobName }}
157161
OPTIONS: ${{ github.event.inputs.options }}
158162
SPEC_URL: ${{ github.event.inputs.specUrl }}
163+
BUILD_COMMANDS: ${{ github.event.inputs.buildCommands }}

README.md

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66

77
[![Build Status](https://jenkins.swagger.io/view/OSS%20-%20Java/job/oss-swagger-codegen-master-java7/badge/icon?subject=jenkins%20build%20-%20java%207)](https://jenkins.swagger.io/view/OSS%20-%20Java/job/oss-swagger-codegen-master-java7/)
88

9-
- Master (2.4.19-SNAPSHOT): [![Build Status](https://img.shields.io/travis/swagger-api/swagger-codegen/master.svg?label=Petstore%20Integration%20Test)](https://travis-ci.org/swagger-api/swagger-codegen)
9+
- Master (2.4.20-SNAPSHOT): [![Build Status](https://img.shields.io/travis/swagger-api/swagger-codegen/master.svg?label=Petstore%20Integration%20Test)](https://travis-ci.org/swagger-api/swagger-codegen)
1010
[![Java Test](https://img.shields.io/jenkins/build.svg?jobUrl=https://jenkins.swagger.io/job/oss-swagger-codegen-master)](https://jenkins.swagger.io/view/OSS%20-%20Java/job/oss-swagger-codegen-master)
1111
[![Windows Test](https://ci.appveyor.com/api/projects/status/github/swagger-api/swagger-codegen?branch=master&svg=true&passingText=Windows%20Test%20-%20OK&failingText=Windows%20Test%20-%20Fails)](https://ci.appveyor.com/project/swaggerhub-bot/swagger-codegen)
1212

13-
- 3.0.25-SNAPSHOT: [![Build Status](https://img.shields.io/travis/swagger-api/swagger-codegen/3.0.0.svg?label=Petstore%20Integration%20Test)](https://travis-ci.org/swagger-api/swagger-codegen)
13+
- 3.0.26-SNAPSHOT: [![Build Status](https://img.shields.io/travis/swagger-api/swagger-codegen/3.0.0.svg?label=Petstore%20Integration%20Test)](https://travis-ci.org/swagger-api/swagger-codegen)
1414
[![Java Test](https://img.shields.io/jenkins/build.svg?jobUrl=https://jenkins.swagger.io/job/oss-swagger-codegen-3)](https://jenkins.swagger.io/view/OSS%20-%20Java/job/oss-swagger-codegen-3)
1515
[![Windows Test](https://ci.appveyor.com/api/projects/status/github/swagger-api/swagger-codegen?branch=3.0.0&svg=true&passingText=Windows%20Test%20-%20OK&failingText=Windows%20Test%20-%20Fails)](https://ci.appveyor.com/project/swaggerhub-bot/swagger-codegen)
1616

@@ -52,7 +52,7 @@ dependency example:
5252
<dependency>
5353
<groupId>io.swagger</groupId>
5454
<artifactId>swagger-codegen-maven-plugin</artifactId>
55-
<version>2.4.18</version>
55+
<version>2.4.19</version>
5656
</dependency>
5757
```
5858

@@ -70,7 +70,7 @@ dependency example:
7070
<dependency>
7171
<groupId>io.swagger.codegen.v3</groupId>
7272
<artifactId>swagger-codegen-maven-plugin</artifactId>
73-
<version>3.0.24</version>
73+
<version>3.0.25</version>
7474
</dependency>
7575
```
7676

@@ -134,8 +134,9 @@ The OpenAPI Specification has undergone 3 revisions since initial creation in 20
134134

135135
Swagger Codegen Version | Release Date | OpenAPI Spec compatibility | Notes
136136
-------------------------- | ------------ | -------------------------- | -----
137-
3.0.25-SNAPSHOT (current 3.0.0, upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/io/swagger/codegen/v3/swagger-codegen-cli/3.0.25-SNAPSHOT/)| TBD | 1.0, 1.1, 1.2, 2.0, 3.0 | Minor release
138-
[3.0.24](https://github.com/swagger-api/swagger-codegen/releases/tag/v3.0.24) (**current stable**) | 2020-12-29 | 1.0, 1.1, 1.2, 2.0, 3.0 | [tag v3.0.23](https://github.com/swagger-api/swagger-codegen/tree/v3.0.24)
137+
3.0.26-SNAPSHOT (current 3.0.0, upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/io/swagger/codegen/v3/swagger-codegen-cli/3.0.26-SNAPSHOT/)| TBD | 1.0, 1.1, 1.2, 2.0, 3.0 | Minor release
138+
[3.0.25](https://github.com/swagger-api/swagger-codegen/releases/tag/v3.0.25) (**current stable**) | 2021-03-04 | 1.0, 1.1, 1.2, 2.0, 3.0 | [tag v3.0.25](https://github.com/swagger-api/swagger-codegen/tree/v3.0.25)
139+
[3.0.24](https://github.com/swagger-api/swagger-codegen/releases/tag/v3.0.24) | 2020-12-29 | 1.0, 1.1, 1.2, 2.0, 3.0 | [tag v3.0.24](https://github.com/swagger-api/swagger-codegen/tree/v3.0.24)
139140
[3.0.23](https://github.com/swagger-api/swagger-codegen/releases/tag/v3.0.23) | 2020-11-02 | 1.0, 1.1, 1.2, 2.0, 3.0 | [tag v3.0.23](https://github.com/swagger-api/swagger-codegen/tree/v3.0.23)
140141
[3.0.22](https://github.com/swagger-api/swagger-codegen/releases/tag/v3.0.22) | 2020-10-05 | 1.0, 1.1, 1.2, 2.0, 3.0 | [tag v3.0.22](https://github.com/swagger-api/swagger-codegen/tree/v3.0.22)
141142
[3.0.21](https://github.com/swagger-api/swagger-codegen/releases/tag/v3.0.21) | 2020-07-28 | 1.0, 1.1, 1.2, 2.0, 3.0 | [tag v3.0.21](https://github.com/swagger-api/swagger-codegen/tree/v3.0.21)
@@ -159,8 +160,9 @@ Swagger Codegen Version | Release Date | OpenAPI Spec compatibility | Notes
159160
[3.0.2](https://github.com/swagger-api/swagger-codegen/releases/tag/v3.0.2)| 2018-10-19 | 1.0, 1.1, 1.2, 2.0, 3.0 | Minor release
160161
[3.0.1](https://github.com/swagger-api/swagger-codegen/releases/tag/v3.0.1)| 2018-10-05 | 1.0, 1.1, 1.2, 2.0, 3.0 | Major release with breaking changes
161162
[3.0.0](https://github.com/swagger-api/swagger-codegen/releases/tag/v3.0.0)| 2018-09-06 | 1.0, 1.1, 1.2, 2.0, 3.0 | Major release with breaking changes
162-
2.4.19-SNAPSHOT (current master, upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/io/swagger/swagger-codegen-cli/2.4.18-SNAPSHOT/)| TBD | 1.0, 1.1, 1.2, 2.0 | Minor release
163-
[2.4.18](https://github.com/swagger-api/swagger-codegen/releases/tag/v2.4.18) (**current stable**) | 2020-12-29 | 1.0, 1.1, 1.2, 2.0 | [tag v2.4.18](https://github.com/swagger-api/swagger-codegen/tree/v2.4.18)
163+
2.4.20-SNAPSHOT (current master, upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/io/swagger/swagger-codegen-cli/2.4.20-SNAPSHOT/)| TBD | 1.0, 1.1, 1.2, 2.0 | Minor release
164+
[2.4.19](https://github.com/swagger-api/swagger-codegen/releases/tag/v2.4.19) (**current stable**) | 2021-03-04 | 1.0, 1.1, 1.2, 2.0 | [tag v2.4.19](https://github.com/swagger-api/swagger-codegen/tree/v2.4.19)
165+
[2.4.18](https://github.com/swagger-api/swagger-codegen/releases/tag/v2.4.18) | 2020-12-29 | 1.0, 1.1, 1.2, 2.0 | [tag v2.4.18](https://github.com/swagger-api/swagger-codegen/tree/v2.4.18)
164166
[2.4.17](https://github.com/swagger-api/swagger-codegen/releases/tag/v2.4.17) | 2020-11-02 | 1.0, 1.1, 1.2, 2.0 | [tag v2.4.17](https://github.com/swagger-api/swagger-codegen/tree/v2.4.17)
165167
[2.4.16](https://github.com/swagger-api/swagger-codegen/releases/tag/v2.4.16) | 2020-10-05 | 1.0, 1.1, 1.2, 2.0 | [tag v2.4.16](https://github.com/swagger-api/swagger-codegen/tree/v2.4.16)
166168
[2.4.15](https://github.com/swagger-api/swagger-codegen/releases/tag/v2.4.15) | 2020-07-28 | 1.0, 1.1, 1.2, 2.0 | [tag v2.4.15](https://github.com/swagger-api/swagger-codegen/tree/v2.4.15)
@@ -192,17 +194,17 @@ If you're looking for the latest stable version, you can grab it directly from M
192194

193195
```sh
194196
# Download current stable 2.x.x branch (Swagger and OpenAPI version 2)
195-
wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.18/swagger-codegen-cli-2.4.18.jar -O swagger-codegen-cli.jar
197+
wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.19/swagger-codegen-cli-2.4.19.jar -O swagger-codegen-cli.jar
196198

197199
java -jar swagger-codegen-cli.jar help
198200

199201
# Download current stable 3.x.x branch (OpenAPI version 3)
200-
wget https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.24/swagger-codegen-cli-3.0.24.jar -O swagger-codegen-cli.jar
202+
wget https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.25/swagger-codegen-cli-3.0.25.jar -O swagger-codegen-cli.jar
201203

202204
java -jar swagger-codegen-cli.jar --help
203205
```
204206

205-
For Windows users, you will need to install [wget](http://gnuwin32.sourceforge.net/packages/wget.htm) or you can use Invoke-WebRequest in PowerShell (3.0+), e.g. `Invoke-WebRequest -OutFile swagger-codegen-cli.jar https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.18/swagger-codegen-cli-2.4.18.jar`
207+
For Windows users, you will need to install [wget](http://gnuwin32.sourceforge.net/packages/wget.htm) or you can use Invoke-WebRequest in PowerShell (3.0+), e.g. `Invoke-WebRequest -OutFile swagger-codegen-cli.jar https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.19/swagger-codegen-cli-2.4.19.jar`
206208

207209
On a mac, it's even easier with `brew`:
208210
```sh
@@ -350,7 +352,7 @@ java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate \
350352
```
351353
(if you're on Windows, replace the last command with `java -jar modules\swagger-codegen-cli\target\swagger-codegen-cli.jar generate -i https://petstore.swagger.io/v2/swagger.json -l php -o c:\temp\php_api_client`)
352354

353-
You can also download the JAR (latest release) directly from [maven.org](https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.18/swagger-codegen-cli-2.4.18.jar)
355+
You can also download the JAR (latest release) directly from [maven.org](https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.19/swagger-codegen-cli-2.4.19.jar)
354356

355357
To get a list of **general** options available, please run `java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar help generate` (for version 3.x check [3.0.0 branch](https://github.com/swagger-api/swagger-codegen/tree/3.0.0))
356358

bin/java-petstore-all.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
./bin/java-petstore-retrofit2rx2.sh
1313
./bin/java8-petstore-jersey2.sh
1414
./bin/java-petstore-retrofit2-play24.sh
15-
./bin/java-petstore-jersey2-java6.sh
1615
./bin/java-petstore-resttemplate.sh
1716
./bin/java-petstore-resttemplate-withxml.sh
1817
./bin/java-petstore-resteasy.sh

bin/java-petstore-jersey2-java6.sh

Lines changed: 0 additions & 34 deletions
This file was deleted.

modules/swagger-codegen-cli/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<parent>
44
<groupId>io.swagger</groupId>
55
<artifactId>swagger-codegen-project</artifactId>
6-
<version>2.4.19-SNAPSHOT</version>
6+
<version>2.4.20-SNAPSHOT</version>
77
<relativePath>../..</relativePath>
88
</parent>
99
<modelVersion>4.0.0</modelVersion>

modules/swagger-codegen-maven-plugin/examples/java-client.xml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
</build>
4444
<dependencies>
4545
<!-- dependencies are needed for the client being generated -->
46-
46+
4747
<dependency>
4848
<groupId>io.swagger</groupId>
4949
<artifactId>swagger-annotations</artifactId>
@@ -52,7 +52,7 @@
5252

5353
<!-- You can find the dependencies for the library configuation you chose by looking in JavaClientCodegen.
5454
Then find the corresponding dependency on Maven Central, and set the versions in the property section below -->
55-
55+
5656
<!-- HTTP client: jersey-client -->
5757
<dependency>
5858
<groupId>org.glassfish.jersey.core</groupId>
@@ -96,7 +96,7 @@
9696
<artifactId>jackson-jaxrs-json-provider</artifactId>
9797
<version>${jackson-version}</version>
9898
</dependency>
99-
99+
100100
<!-- Joda time: if you use it -->
101101
<dependency>
102102
<groupId>com.fasterxml.jackson.datatype</groupId>
@@ -107,20 +107,20 @@
107107
<groupId>joda-time</groupId>
108108
<artifactId>joda-time</artifactId>
109109
<version>${jodatime-version}</version>
110-
</dependency>
110+
</dependency>
111111

112112
<!-- Base64 encoding that works in both JVM and Android -->
113113
<dependency>
114114
<groupId>com.brsanthu</groupId>
115115
<artifactId>migbase64</artifactId>
116116
<version>2.2</version>
117-
</dependency>
117+
</dependency>
118118
</dependencies>
119-
119+
120120
<properties>
121121
<swagger-annotations-version>1.5.21</swagger-annotations-version>
122122
<jersey-version>2.29.1</jersey-version>
123-
<jackson-version>2.10.1</jackson-version>
123+
<jackson-version>2.11.4</jackson-version>
124124
<jodatime-version>2.7</jodatime-version>
125125
<maven-plugin-version>1.0.0</maven-plugin-version>
126126
<junit-version>4.13.1</junit-version>

modules/swagger-codegen-maven-plugin/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>io.swagger</groupId>
66
<artifactId>swagger-codegen-project</artifactId>
7-
<version>2.4.19-SNAPSHOT</version>
7+
<version>2.4.20-SNAPSHOT</version>
88
<relativePath>../..</relativePath>
99
</parent>
1010
<artifactId>swagger-codegen-maven-plugin</artifactId>

modules/swagger-codegen/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<parent>
44
<groupId>io.swagger</groupId>
55
<artifactId>swagger-codegen-project</artifactId>
6-
<version>2.4.19-SNAPSHOT</version>
6+
<version>2.4.20-SNAPSHOT</version>
77
<relativePath>../..</relativePath>
88
</parent>
99
<modelVersion>4.0.0</modelVersion>

modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java

Lines changed: 34 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import java.util.regex.Pattern;
1212

1313
import io.swagger.models.properties.UntypedProperty;
14-
import io.swagger.util.Yaml;
1514
import org.apache.commons.lang3.ObjectUtils;
1615
import org.apache.commons.lang3.StringEscapeUtils;
1716
import org.apache.commons.lang3.StringUtils;
@@ -401,6 +400,15 @@ public Map<String, Object> postProcessSupportingFileData(Map<String, Object> obj
401400

402401
// override to post-process any model properties
403402
@SuppressWarnings("unused")
403+
public void postProcessModelProperties(CodegenModel model){
404+
if (model.vars == null || model.vars.isEmpty()) {
405+
return;
406+
}
407+
for(CodegenProperty codegenProperty : model.vars) {
408+
postProcessModelProperty(model, codegenProperty);
409+
}
410+
}
411+
404412
public void postProcessModelProperty(CodegenModel model, CodegenProperty property){
405413
}
406414

@@ -1546,11 +1554,7 @@ public CodegenModel fromModel(String name, Model model, Map<String, Model> allDe
15461554
addVars(m, impl.getProperties(), impl.getRequired(), allDefinitions);
15471555
}
15481556

1549-
if (m.vars != null) {
1550-
for(CodegenProperty prop : m.vars) {
1551-
postProcessModelProperty(m, prop);
1552-
}
1553-
}
1557+
postProcessModelProperties(m);
15541558
return m;
15551559
}
15561560

@@ -2784,26 +2788,7 @@ public CodegenParameter fromParameter(Parameter param, Set<String> imports) {
27842788
} else {
27852789
Model sub = bp.getSchema();
27862790
if (sub instanceof RefModel) {
2787-
String name = ((RefModel) sub).getSimpleRef();
2788-
try {
2789-
name = URLDecoder.decode(name, StandardCharsets.UTF_8.name());
2790-
} catch (UnsupportedEncodingException e) {
2791-
LOGGER.error("Could not decoded string: " + name, e);
2792-
}
2793-
name = getAlias(name);
2794-
if (typeMapping.containsKey(name)) {
2795-
name = typeMapping.get(name);
2796-
p.baseType = name;
2797-
} else {
2798-
name = toModelName(name);
2799-
p.baseType = name;
2800-
if (defaultIncludes.contains(name)) {
2801-
imports.add(name);
2802-
}
2803-
imports.add(name);
2804-
name = getTypeDeclaration(name);
2805-
}
2806-
p.dataType = name;
2791+
readRefModelParameter((RefModel) model, p, imports);
28072792
} else {
28082793
if (sub instanceof ComposedModel) {
28092794
p.dataType = "object";
@@ -2913,6 +2898,29 @@ public boolean isDataTypeFile(String dataType) {
29132898
}
29142899
}
29152900

2901+
protected void readRefModelParameter(RefModel refModel, CodegenParameter codegenParameter, Set<String> imports) {
2902+
String name = refModel.getSimpleRef();
2903+
try {
2904+
name = URLDecoder.decode(name, StandardCharsets.UTF_8.name());
2905+
} catch (UnsupportedEncodingException e) {
2906+
LOGGER.error("Could not decoded string: " + name, e);
2907+
}
2908+
name = getAlias(name);
2909+
if (typeMapping.containsKey(name)) {
2910+
name = typeMapping.get(name);
2911+
codegenParameter.baseType = name;
2912+
} else {
2913+
name = toModelName(name);
2914+
codegenParameter.baseType = name;
2915+
if (defaultIncludes.contains(name)) {
2916+
imports.add(name);
2917+
}
2918+
imports.add(name);
2919+
name = getTypeDeclaration(name);
2920+
}
2921+
codegenParameter.dataType = name;
2922+
}
2923+
29162924
/**
29172925
* Convert map of Swagger SecuritySchemeDefinition objects to a list of Codegen Security objects
29182926
*

modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractGoCodegen.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -458,8 +458,13 @@ public Map<String, String> createMapping(String key, String value) {
458458

459459
@Override
460460
public String toEnumValue(String value, String datatype) {
461-
if ("int".equals(datatype) || "double".equals(datatype) || "float".equals(datatype)) {
461+
if ("int".equals(datatype) || "int32".equals(datatype) || "int64".equals(datatype)
462+
|| "uint".equals(datatype) || "uint32".equals(datatype) || "uint64".equals(datatype)
463+
|| "float".equals(datatype) || "float32".equals(datatype) || "float64".equals(datatype)
464+
|| "boolean".equals(datatype) || "double".equals(datatype)) {
462465
return value;
466+
} else if ("string".equals(datatype)) {
467+
return String.format("\"%s\"", value);
463468
} else {
464469
return escapeText(value);
465470
}
@@ -477,11 +482,16 @@ public String toEnumVarName(String name, String datatype) {
477482
}
478483

479484
// number
480-
if ("int".equals(datatype) || "double".equals(datatype) || "float".equals(datatype)) {
485+
if ("int".equals(datatype) || "int32".equals(datatype) || "int64".equals(datatype)
486+
|| "uint".equals(datatype) || "uint32".equals(datatype) || "uint64".equals(datatype)
487+
|| "float".equals(datatype) || "float32".equals(datatype) || "float64".equals(datatype)) {
481488
String varName = name;
482489
varName = varName.replaceAll("-", "MINUS_");
483490
varName = varName.replaceAll("\\+", "PLUS_");
484491
varName = varName.replaceAll("\\.", "_DOT_");
492+
if (varName.matches("\\d.*")) {
493+
return "_" + varName;
494+
}
485495
return varName;
486496
}
487497

0 commit comments

Comments
 (0)