Skip to content

Commit 36991a4

Browse files
authored
Improve ensure-up-to-date script (#1362)
* improve ensure-up-to-date script * trigger build failure * use exit 1 instead * fix build failure * update samples
1 parent ecff8b5 commit 36991a4

38 files changed

+158
-151
lines changed

bin/mysql-schema-petstore.sh

100644100755
File mode changed.

bin/springboot-virtualan-petstore-server.sh

100644100755
File mode changed.

bin/utils/ensure-up-to-date

Lines changed: 37 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -10,34 +10,43 @@ echo "Please press CTRL+C to stop or the script will continue in 5 seconds."
1010
sleep 5
1111

1212
# LIST OF SCRIPTS:
13-
./bin/openapi3/ruby-client-petstore.sh > /dev/null 2>&1
14-
./bin/java-petstore-all.sh > /dev/null 2>&1
15-
./bin/java-jaxrs-petstore-server-all.sh > /dev/null 2>&1
16-
./bin/openapi3/jaxrs-jersey-petstore.sh > /dev/null 2>&1
17-
./bin/spring-all-pestore.sh > /dev/null 2>&1
18-
./bin/kotlin-client-petstore.sh > /dev/null 2>&1
19-
./bin/kotlin-client-string.sh > /dev/null 2>&1
20-
./bin/kotlin-client-threetenbp.sh > /dev/null 2>&1
21-
./bin/kotlin-server-petstore.sh > /dev/null 2>&1
22-
./bin/mysql-schema-petstore.sh > /dev/null 2>&1
23-
./bin/php-petstore.sh > /dev/null 2>&1
24-
./bin/php-silex-petstore-server.sh > /dev/null 2>&1
25-
./bin/php-symfony-petstore.sh > /dev/null 2>&1
26-
./bin/php-lumen-petstore-server.sh > /dev/null 2>&1
27-
./bin/php-slim-server-petstore.sh > /dev/null 2>&1
28-
./bin/php-ze-ph-petstore-server.sh > /dev/null 2>&1
29-
./bin/openapi3/php-petstore.sh > /dev/null 2>&1
30-
./bin/typescript-angular-petstore-all.sh > /dev/null 2>&1
31-
./bin/typescript-fetch-petstore-all.sh > /dev/null 2>&1
32-
./bin/typescript-node-petstore-all.sh > /dev/null 2>&1
33-
./bin/typescript-inversify-petstore.sh > /dev/null 2>&1
34-
./bin/rust-server-petstore.sh > /dev/null 2>&1
35-
./bin/haskell-http-client-petstore.sh > /dev/null 2>&1
36-
./bin/csharp-petstore.sh > /dev/null 2>&1
37-
./bin/meta-codegen.sh > /dev/null 2>&1
38-
./bin/utils/export_docs_generators.sh > /dev/null 2>&1
39-
./bin/go-petstore.sh > /dev/null 2>&1
40-
./bin/go-gin-petstore-server.sh > /dev/null 2>&1
13+
declare -a scripts=("./bin/openapi3/ruby-client-petstore.sh"
14+
"./bin/java-petstore-all.sh"
15+
"./bin/java-jaxrs-petstore-server-all.sh"
16+
"./bin/openapi3/jaxrs-jersey-petstore.sh"
17+
"./bin/spring-all-pestore.sh"
18+
"./bin/kotlin-client-petstore.sh"
19+
"./bin/kotlin-client-string.sh"
20+
"./bin/kotlin-client-threetenbp.sh"
21+
"./bin/kotlin-server-petstore.sh"
22+
"./bin/mysql-schema-petstore.sh"
23+
"./bin/php-petstore.sh"
24+
"./bin/php-silex-petstore-server.sh"
25+
"./bin/php-symfony-petstore.sh"
26+
"./bin/php-lumen-petstore-server.sh"
27+
"./bin/php-slim-server-petstore.sh"
28+
"./bin/php-ze-ph-petstore-server.sh"
29+
"./bin/openapi3/php-petstore.sh"
30+
"./bin/typescript-angular-petstore-all.sh"
31+
"./bin/typescript-fetch-petstore-all.sh"
32+
"./bin/typescript-node-petstore-all.sh"
33+
"./bin/typescript-inversify-petstore.sh"
34+
"./bin/rust-server-petstore.sh"
35+
"./bin/haskell-http-client-petstore.sh"
36+
"./bin/csharp-petstore.sh"
37+
"./bin/meta-codegen.sh"
38+
"./bin/utils/export_docs_generators.sh"
39+
"./bin/go-petstore.sh"
40+
"./bin/go-gin-petstore-server.sh")
41+
42+
for script in "${scripts[@]}"; do
43+
if eval $script > /dev/null 2>&1; then
44+
echo "Executed $script successfully!"
45+
else
46+
echo "ERROR: Failed to run $script"
47+
exit 1
48+
fi
49+
done
4150

4251
# Check:
4352
if [ -n "$(git status --porcelain)" ]; then
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.3.0-SNAPSHOT
1+
3.3.3-SNAPSHOT

samples/schema/petstore/mysql/mysql_schema.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ CREATE TABLE IF NOT EXISTS `Cat` (
106106

107107
CREATE TABLE IF NOT EXISTS `Category` (
108108
`id` BIGINT DEFAULT NULL,
109-
`name` TEXT DEFAULT NULL
109+
`name` TEXT NOT NULL
110110
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
111111

112112
--
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.3.0-SNAPSHOT
1+
3.3.3-SNAPSHOT

samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/AnotherFakeApi.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (3.3.0-SNAPSHOT).
2+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (3.3.3-SNAPSHOT).
33
* https://openapi-generator.tech
44
* Do not edit the class manually.
55
*/

samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/ApiUtil.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@
88
public class ApiUtil {
99
public static void setExampleResponse(NativeWebRequest req, String contentType, String example) {
1010
try {
11-
req.getNativeResponse(HttpServletResponse.class).addHeader("Content-Type", contentType);
12-
req.getNativeResponse(HttpServletResponse.class).getOutputStream().print(example);
11+
HttpServletResponse res = req.getNativeResponse(HttpServletResponse.class);
12+
res.setCharacterEncoding("UTF-8");
13+
res.addHeader("Content-Type", contentType);
14+
res.getWriter().print(example);
1315
} catch (IOException e) {
1416
throw new RuntimeException(e);
1517
}

samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeApi.java

Lines changed: 17 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (3.3.0-SNAPSHOT).
2+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (3.3.3-SNAPSHOT).
33
* https://openapi-generator.tech
44
* Do not edit the class manually.
55
*/
@@ -55,14 +55,6 @@ default Optional<NativeWebRequest> getRequest() {
5555
produces = { "*/*" },
5656
method = RequestMethod.POST)
5757
default ResponseEntity<Boolean> fakeOuterBooleanSerialize(@ApiParam(value = "Input boolean as post body" ) @Valid @RequestBody Boolean body) {
58-
getRequest().ifPresent(request -> {
59-
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
60-
if (mediaType.isCompatibleWith(MediaType.valueOf("*/*"))) {
61-
ApiUtil.setExampleResponse(request, "*/*", "null");
62-
break;
63-
}
64-
}
65-
});
6658
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
6759

6860
}
@@ -97,14 +89,6 @@ default ResponseEntity<OuterComposite> fakeOuterCompositeSerialize(@ApiParam(val
9789
produces = { "*/*" },
9890
method = RequestMethod.POST)
9991
default ResponseEntity<BigDecimal> fakeOuterNumberSerialize(@ApiParam(value = "Input number as post body" ) @Valid @RequestBody BigDecimal body) {
100-
getRequest().ifPresent(request -> {
101-
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
102-
if (mediaType.isCompatibleWith(MediaType.valueOf("*/*"))) {
103-
ApiUtil.setExampleResponse(request, "*/*", "null");
104-
break;
105-
}
106-
}
107-
});
10892
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
10993

11094
}
@@ -118,14 +102,6 @@ default ResponseEntity<BigDecimal> fakeOuterNumberSerialize(@ApiParam(value = "I
118102
produces = { "*/*" },
119103
method = RequestMethod.POST)
120104
default ResponseEntity<String> fakeOuterStringSerialize(@ApiParam(value = "Input string as post body" ) @Valid @RequestBody String body) {
121-
getRequest().ifPresent(request -> {
122-
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
123-
if (mediaType.isCompatibleWith(MediaType.valueOf("*/*"))) {
124-
ApiUtil.setExampleResponse(request, "*/*", "null");
125-
break;
126-
}
127-
}
128-
});
129105
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
130106

131107
}
@@ -189,7 +165,7 @@ default ResponseEntity<Client> testClientModel(@ApiParam(value = "client model"
189165
@RequestMapping(value = "/fake",
190166
consumes = { "application/x-www-form-urlencoded" },
191167
method = RequestMethod.POST)
192-
default ResponseEntity<Void> testEndpointParameters(@ApiParam(value = "None", required=true, defaultValue="null") @RequestParam(value="number", required=true) BigDecimal number,@ApiParam(value = "None", required=true, defaultValue="null") @RequestParam(value="double", required=true) Double _double,@ApiParam(value = "None", required=true, defaultValue="null") @RequestParam(value="pattern_without_delimiter", required=true) String patternWithoutDelimiter,@ApiParam(value = "None", required=true, defaultValue="null") @RequestParam(value="byte", required=true) byte[] _byte,@ApiParam(value = "None", defaultValue="null") @RequestParam(value="integer", required=false) Integer integer,@ApiParam(value = "None", defaultValue="null") @RequestParam(value="int32", required=false) Integer int32,@ApiParam(value = "None", defaultValue="null") @RequestParam(value="int64", required=false) Long int64,@ApiParam(value = "None", defaultValue="null") @RequestParam(value="float", required=false) Float _float,@ApiParam(value = "None", defaultValue="null") @RequestParam(value="string", required=false) String string,@ApiParam(value = "file detail") @Valid @RequestPart("file") MultipartFile binary,@ApiParam(value = "None", defaultValue="null") @RequestParam(value="date", required=false) LocalDate date,@ApiParam(value = "None", defaultValue="null") @RequestParam(value="dateTime", required=false) OffsetDateTime dateTime,@ApiParam(value = "None", defaultValue="null") @RequestParam(value="password", required=false) String password,@ApiParam(value = "None", defaultValue="null") @RequestParam(value="callback", required=false) String paramCallback) {
168+
default ResponseEntity<Void> testEndpointParameters(@ApiParam(value = "None", required=true) @RequestParam(value="number", required=true) BigDecimal number,@ApiParam(value = "None", required=true) @RequestParam(value="double", required=true) Double _double,@ApiParam(value = "None", required=true) @RequestParam(value="pattern_without_delimiter", required=true) String patternWithoutDelimiter,@ApiParam(value = "None", required=true) @RequestParam(value="byte", required=true) byte[] _byte,@ApiParam(value = "None") @RequestParam(value="integer", required=false) Integer integer,@ApiParam(value = "None") @RequestParam(value="int32", required=false) Integer int32,@ApiParam(value = "None") @RequestParam(value="int64", required=false) Long int64,@ApiParam(value = "None") @RequestParam(value="float", required=false) Float _float,@ApiParam(value = "None") @RequestParam(value="string", required=false) String string,@ApiParam(value = "file detail") @Valid @RequestPart("file") MultipartFile binary,@ApiParam(value = "None") @RequestParam(value="date", required=false) LocalDate date,@ApiParam(value = "None") @RequestParam(value="dateTime", required=false) OffsetDateTime dateTime,@ApiParam(value = "None") @RequestParam(value="password", required=false) String password,@ApiParam(value = "None") @RequestParam(value="callback", required=false) String paramCallback) {
193169
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
194170

195171
}
@@ -203,7 +179,19 @@ default ResponseEntity<Void> testEndpointParameters(@ApiParam(value = "None", re
203179
@RequestMapping(value = "/fake",
204180
consumes = { "application/x-www-form-urlencoded" },
205181
method = RequestMethod.GET)
206-
default ResponseEntity<Void> testEnumParameters(@ApiParam(value = "Header parameter enum test (string array)" , allowableValues=">, $") @RequestHeader(value="enum_header_string_array", required=false) List<String> enumHeaderStringArray,@ApiParam(value = "Header parameter enum test (string)" , allowableValues="_abc, -efg, (xyz)", defaultValue="-efg") @RequestHeader(value="enum_header_string", required=false) String enumHeaderString,@ApiParam(value = "Query parameter enum test (string array)", allowableValues = ">, $") @Valid @RequestParam(value = "enum_query_string_array", required = false) List<String> enumQueryStringArray,@ApiParam(value = "Query parameter enum test (string)", allowableValues = "_abc, -efg, (xyz)", defaultValue = "-efg") @Valid @RequestParam(value = "enum_query_string", required = false, defaultValue="-efg") String enumQueryString,@ApiParam(value = "Query parameter enum test (double)", allowableValues = "1, -2") @Valid @RequestParam(value = "enum_query_integer", required = false) Integer enumQueryInteger,@ApiParam(value = "Query parameter enum test (double)", allowableValues = "1.1, -1.2") @Valid @RequestParam(value = "enum_query_double", required = false) Double enumQueryDouble,@ApiParam(value = "Form parameter enum test (string array)", allowableValues=">, $", defaultValue="$") @RequestParam(value="enum_form_string_array", required=false) List<String> enumFormStringArray,@ApiParam(value = "Form parameter enum test (string)", allowableValues="_abc, -efg, (xyz)", defaultValue="-efg") @RequestParam(value="enum_form_string", required=false) String enumFormString) {
182+
default ResponseEntity<Void> testEnumParameters(@ApiParam(value = "Header parameter enum test (string array)" , allowableValues=">, $", defaultValue="new ArrayList<>()") @RequestHeader(value="enum_header_string_array", required=false) List<String> enumHeaderStringArray,@ApiParam(value = "Header parameter enum test (string)" , allowableValues="_abc, -efg, (xyz)", defaultValue="-efg") @RequestHeader(value="enum_header_string", required=false) String enumHeaderString,@ApiParam(value = "Query parameter enum test (string array)", allowableValues = ">, $", defaultValue = "new ArrayList<>()") @Valid @RequestParam(value = "enum_query_string_array", required = false, defaultValue="new ArrayList<>()") List<String> enumQueryStringArray,@ApiParam(value = "Query parameter enum test (string)", allowableValues = "_abc, -efg, (xyz)", defaultValue = "-efg") @Valid @RequestParam(value = "enum_query_string", required = false, defaultValue="-efg") String enumQueryString,@ApiParam(value = "Query parameter enum test (double)", allowableValues = "1, -2") @Valid @RequestParam(value = "enum_query_integer", required = false) Integer enumQueryInteger,@ApiParam(value = "Query parameter enum test (double)", allowableValues = "1.1, -1.2") @Valid @RequestParam(value = "enum_query_double", required = false) Double enumQueryDouble,@ApiParam(value = "Form parameter enum test (string array)", allowableValues=">, $", defaultValue="$") @RequestParam(value="enum_form_string_array", required=false) List<String> enumFormStringArray,@ApiParam(value = "Form parameter enum test (string)", allowableValues="_abc, -efg, (xyz)", defaultValue="-efg") @RequestParam(value="enum_form_string", required=false) String enumFormString) {
183+
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
184+
185+
}
186+
187+
188+
@ApiVirtual
189+
@ApiOperation(value = "Fake endpoint to test group parameters (optional)", nickname = "testGroupParameters", notes = "Fake endpoint to test group parameters (optional)", tags={ "fake", })
190+
@ApiResponses(value = {
191+
@ApiResponse(code = 400, message = "Someting wrong") })
192+
@RequestMapping(value = "/fake",
193+
method = RequestMethod.DELETE)
194+
default ResponseEntity<Void> testGroupParameters(@ApiParam(value = "String in group parameters") @Valid @RequestParam(value = "string_group", required = false) Integer stringGroup,@ApiParam(value = "Boolean in group parameters" ) @RequestHeader(value="boolean_group", required=false) Boolean booleanGroup,@ApiParam(value = "Integer in group parameters") @Valid @RequestParam(value = "int64_group", required = false) Long int64Group) {
207195
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
208196

209197
}
@@ -229,7 +217,7 @@ default ResponseEntity<Void> testInlineAdditionalProperties(@ApiParam(value = "r
229217
@RequestMapping(value = "/fake/jsonFormData",
230218
consumes = { "application/x-www-form-urlencoded" },
231219
method = RequestMethod.GET)
232-
default ResponseEntity<Void> testJsonFormData(@ApiParam(value = "field1", required=true, defaultValue="null") @RequestParam(value="param", required=true) String param,@ApiParam(value = "field2", required=true, defaultValue="null") @RequestParam(value="param2", required=true) String param2) {
220+
default ResponseEntity<Void> testJsonFormData(@ApiParam(value = "field1", required=true) @RequestParam(value="param", required=true) String param,@ApiParam(value = "field2", required=true) @RequestParam(value="param2", required=true) String param2) {
233221
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
234222

235223
}
@@ -248,7 +236,7 @@ default ResponseEntity<Void> testJsonFormData(@ApiParam(value = "field1", requir
248236
produces = { "application/json" },
249237
consumes = { "multipart/form-data" },
250238
method = RequestMethod.POST)
251-
default ResponseEntity<ModelApiResponse> uploadFileWithRequiredFile(@ApiParam(value = "ID of pet to update",required=true) @PathVariable("petId") Long petId,@ApiParam(value = "file detail") @Valid @RequestPart("file") MultipartFile requiredFile,@ApiParam(value = "Additional data to pass to server", defaultValue="null") @RequestParam(value="additionalMetadata", required=false) String additionalMetadata) {
239+
default ResponseEntity<ModelApiResponse> uploadFileWithRequiredFile(@ApiParam(value = "ID of pet to update",required=true) @PathVariable("petId") Long petId,@ApiParam(value = "file detail") @Valid @RequestPart("file") MultipartFile requiredFile,@ApiParam(value = "Additional data to pass to server") @RequestParam(value="additionalMetadata", required=false) String additionalMetadata) {
252240
getRequest().ifPresent(request -> {
253241
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
254242
if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) {

samples/server/petstore/springboot-virtualan/src/main/java/org/openapitools/virtualan/api/FakeClassnameTestApi.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (3.3.0-SNAPSHOT).
2+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (3.3.3-SNAPSHOT).
33
* https://openapi-generator.tech
44
* Do not edit the class manually.
55
*/

0 commit comments

Comments
 (0)