Skip to content

Commit 2a679f7

Browse files
author
Fredric Dorothy
committed
2 parents dbecb9e + d5cf2b6 commit 2a679f7

File tree

996 files changed

+77683
-29609
lines changed

Some content is hidden

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

996 files changed

+77683
-29609
lines changed

.dockerignore

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
*.iml
2+
out/
3+
*.ipr
4+
*.iws
5+
classpath.txt
6+
version.properties
7+
.project
8+
.classpath
9+
lib/*
10+
build/*
11+
generated-files/*
12+
generated-sources/*
13+
generated-code/*
14+
*.swp
15+
*.swo
16+
17+
/target
18+
/generated-files
19+
/nbactions.xml
20+
*.pyc
21+
__pycache__
22+
samples/server-generator/scalatra/output
23+
samples/server-generator/node/output/node_modules
24+
samples/server-generator/scalatra/target
25+
samples/server-generator/scalatra/output/.history
26+
samples/client/petstore/qt5cpp/PetStore/moc_*
27+
samples/client/petstore/qt5cpp/PetStore/*.o
28+
samples/client/petstore/objc/PetstoreClient.xcworkspace/xcuserdata
29+
samples/client/petstore/qt5cpp/build-*
30+
samples/client/petstore/qt5cpp/PetStore/PetStore
31+
samples/client/petstore/qt5cpp/PetStore/Makefile
32+
samples/client/petstore/java/hello.txt
33+
samples/client/petstore/android-java/hello.txt
34+
samples/client/petstore/objc/Build
35+
samples/client/petstore/objc/Pods
36+
samples/server/petstore/nodejs/node_modules
37+
target
38+
.idea
39+
.lib
40+
atlassian-ide-plugin.xml
41+
.DS_Store
42+
43+
samples/client/petstore/php/SwaggerClient-php/composer.lock
44+
samples/client/petstore/php/SwaggerClient-php/vendor/
45+
46+
samples/client/petstore/silex/SwaggerServer/composer.lock
47+
samples/client/petstore/silex/SwaggerServer/venodr/

.gitignore

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ version.properties
99
lib/*
1010
build/*
1111
generated-files/*
12+
generated-sources/*
1213
generated-code/*
1314
*.swp
1415
*.swo
@@ -30,14 +31,27 @@ samples/client/petstore/qt5cpp/PetStore/PetStore
3031
samples/client/petstore/qt5cpp/PetStore/Makefile
3132
samples/client/petstore/java/hello.txt
3233
samples/client/petstore/android-java/hello.txt
33-
samples/client/petstore/objc/Build
34-
samples/client/petstore/objc/Pods
34+
samples/client/petstore/objc/SwaggerClientTests/Build
35+
samples/client/petstore/objc/SwaggerClientTests/Pods
36+
samples/client/petstore/objc/SwaggerClientTests/SwaggerClient.xcworkspace
37+
samples/client/petstore/objc/SwaggerClientTests/Podfile.lock
3538
samples/server/petstore/nodejs/node_modules
3639
target
3740
.idea
3841
.lib
3942
atlassian-ide-plugin.xml
4043
.DS_Store
44+
packages/
45+
.pub
46+
.packages
4147

4248
samples/client/petstore/php/SwaggerClient-php/composer.lock
4349
samples/client/petstore/php/SwaggerClient-php/vendor/
50+
51+
samples/client/petstore/silex/SwaggerServer/composer.lock
52+
samples/client/petstore/silex/SwaggerServer/venodr/
53+
54+
samples/client/petstore/python/.projectile
55+
samples/client/petstore/python/.venv/
56+
57+
*/.settings

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
sudo: false
22
language: java
3-
script: mvn verify
3+
script: mvn verify -Psamples
44
jdk:
55
- oraclejdk7

Dockerfile

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
FROM maven:3.3-jdk-7
2+
3+
WORKDIR /src
4+
VOLUME /src
5+
VOLUME /root/.m2/repository
6+
7+
ADD . /opt/swagger-codegen
8+
9+
RUN cd /opt/swagger-codegen && mvn package
10+
11+
ENTRYPOINT ["java", "-jar", "/opt/swagger-codegen/modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"]
12+
13+
CMD ["help"]

README.md

Lines changed: 48 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,34 @@ This is the swagger codegen project, which allows generation of client libraries
77

88
Check out [Swagger-Spec](https://github.com/swagger-api/swagger-spec) for additional information about the Swagger project, including additional libraries with support for other languages and more.
99

10+
## Build and run using docker
11+
12+
```
13+
git clone https://github.com/swagger-api/swagger-codegen
14+
15+
cd swagger-codegen
16+
17+
./run-in-docker.sh mvn package
18+
```
19+
20+
Build a nodejs server stub:
21+
22+
```
23+
./run-in-docker.sh generate \
24+
-i http://petstore.swagger.io/v2/swagger.json \
25+
-l nodejs \
26+
-o samples/server/petstore/nodejs
27+
```
1028

1129
## Compatibility
1230
The Swagger Specification has undergone 3 revisions since initial creation in 2010. The swagger-codegen project has the following compatibilies with the swagger specification:
1331

14-
Swagger Codegen Version | Release Date | Swagger Spec compatibility | Notes
15-
----------------------- | ------------ | -------------------------- | -----
16-
2.1.2 | 2015-06-09 | 1.0, 1.1, 1.2, 2.0 | [master](https://github.com/swagger-api/swagger-codegen)
17-
2.0.17 | 2014-08-22 | 1.1, 1.2 | [tag v2.0.17](https://github.com/swagger-api/swagger-codegen/tree/v2.0.17)
18-
1.0.4 | 2012-04-12 | 1.0, 1.1 | [tag v1.0.4](https://github.com/swagger-api/swagger-codegen/tree/swagger-codegen_2.9.1-1.1)
32+
Swagger Codegen Version | Release Date | Swagger Spec compatibility | Notes
33+
-------------------------- | ------------ | -------------------------- | -----
34+
2.1.4-SNAPSHOT | | 1.0, 1.1, 1.2, 2.0 | [master](https://github.com/swagger-api/swagger-codegen)
35+
2.1.3 (**current stable**) | 2015-08-24 | 1.0, 1.1, 1.2, 2.0 | [tag v2.1.3](https://github.com/swagger-api/swagger-codegen/tree/v2.1.3)
36+
2.0.17 | 2014-08-22 | 1.1, 1.2 | [tag v2.0.17](https://github.com/swagger-api/swagger-codegen/tree/v2.0.17)
37+
1.0.4 | 2012-04-12 | 1.0, 1.1 | [tag v1.0.4](https://github.com/swagger-api/swagger-codegen/tree/swagger-codegen_2.9.1-1.1)
1938

2039

2140
### Prerequisites
@@ -73,6 +92,7 @@ SYNOPSIS
7392
[(-o <output directory> | --output <output directory>)]
7493
[(-t <template directory> | --template-dir <template directory>)]
7594
[(-v | --verbose)]
95+
[(-s | --skip-overwrite)]
7696
7797
OPTIONS
7898
-a <authorization>, --auth <authorization>
@@ -105,7 +125,11 @@ OPTIONS
105125
106126
-v, --verbose
107127
verbose mode
108-
```
128+
129+
-s , --skip-overwrite
130+
specifies if the existing files should be overwritten during
131+
the generation
132+
```
109133

110134
You can then compile and run the client, as well as unit tests against it:
111135

@@ -133,7 +157,7 @@ You can look at `modules/swagger-codegen/src/main/resources/${your-language}` fo
133157
If you're starting a project with a new language and don't see what you need, swagger-codegen can help you create a project to generate your own libraries:
134158

135159
```
136-
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar meta \
160+
java -jar modules/swagger-codegen-distribution/target/swagger-codegen-cli.jar meta \
137161
-o output/myLibrary -n myClientCodegen -p com.my.company.codegen
138162
```
139163

@@ -161,11 +185,16 @@ There are different aspects of customizing the code generator beyond just creati
161185

162186
```
163187
$ ls -1 modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/
188+
AbstractTypeScriptClientCodegen.java
164189
AkkaScalaClientCodegen.java
165190
AndroidClientCodegen.java
166191
AsyncScalaClientCodegen.java
167192
CSharpClientCodegen.java
193+
CodeGenStatus.java
194+
CsharpDotNet2ClientCodegen.java
195+
FlashClientCodegen.java
168196
JavaClientCodegen.java
197+
JavaInflectorServerCodegen.java
169198
JaxRSServerCodegen.java
170199
NodeJSServerCodegen.java
171200
ObjcClientCodegen.java
@@ -174,17 +203,20 @@ PhpClientCodegen.java
174203
Python3ClientCodegen.java
175204
PythonClientCodegen.java
176205
Qt5CPPGenerator.java
177-
RetrofitClientCodegen.java
178206
RubyClientCodegen.java
179207
ScalaClientCodegen.java
180208
ScalatraServerCodegen.java
209+
SilexServerCodegen.java
210+
SinatraServerCodegen.java
181211
SpringMVCServerCodegen.java
182212
StaticDocCodegen.java
183213
StaticHtmlGenerator.java
184214
SwaggerGenerator.java
185215
SwaggerYamlGenerator.java
186-
SwiftGenerator.java
216+
SwiftCodegen.java
187217
TizenClientCodegen.java
218+
TypeScriptAngularClientCodegen.java
219+
TypeScriptNodeClientCodegen.java
188220
```
189221

190222
Each of these files creates reasonable defaults so you can get running quickly. But if you want to configure package names, prefixes, model folders, etc. you can use a json config file to pass the values.
@@ -226,6 +258,13 @@ CONFIG OPTIONS
226258
227259
sourceFolder
228260
source folder for generated code
261+
262+
library
263+
library template (sub-template) to use:
264+
<default> - HTTP client: Jersey client 1.18. JSON processing: Jackson 2.4.2
265+
jersey2 - HTTP client: Jersey client 2.6
266+
okhttp-gson - HTTP client: OkHttp 2.4.0. JSON processing: Gson 2.3.1
267+
retrofit - HTTP client: OkHttp 2.4.0. JSON processing: Gson 2.3.1 (Retrofit 1.9.0)
229268
```
230269

231270
Your config file for java can look like

bin/all-petstore.sh

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,30 @@ if [ ! -d "${APP_DIR}" ]; then
1818
fi
1919

2020
cd $APP_DIR
21+
./bin/akka-scala-petstore.sh
2122
./bin/android-java-petstore.sh
2223
./bin/csharp-petstore.sh
2324
./bin/dynamic-html.sh
2425
./bin/html-petstore.sh
25-
./bin/jaxrs-petstore-server.sh
2626
./bin/java-petstore.sh
27-
./bin/qt5-petstore.sh
27+
./bin/java-petstore-jersey2.sh
28+
./bin/java-petstore-okhttp-gson.sh
29+
./bin/java-petstore-retrofit.sh
30+
./bin/jaxrs-petstore-server.sh
31+
./bin/nodejs-petstore-server.sh
32+
./bin/objc-petstore.sh
2833
./bin/perl-petstore.sh
2934
./bin/php-petstore.sh
3035
./bin/python-petstore.sh
31-
./bin/retrofit-petstore.sh
36+
./bin/python3-petstore.sh
37+
./bin/qt5-petstore.sh
3238
./bin/ruby-petstore.sh
33-
./bin/objc-petstore.sh
39+
./bin/scala-async-petstore.sh
3440
./bin/scala-petstore.sh
41+
./bin/scalatra-petstore-server.sh
42+
./bin/silex-petstore-server.sh
3543
./bin/spring-mvc-petstore-server.sh
44+
./bin/swift-petstore.sh
3645
./bin/tizen-petstore.sh
46+
./bin/typescript-angular-petstore.sh
47+
./bin/typescript-node-petstore.sh

bin/python3-petstore.sh renamed to bin/csharp-dotnet2-petstore.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,6 @@ fi
2626

2727
# if you've executed sbt assembly previously it will use that instead.
2828
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
29-
ags="$@ generate -t modules/swagger-codegen/src/main/resources/python3 -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l python3 -o samples/client/petstore/python3"
29+
ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l CsharpDotNet2 -o samples/client/petstore/csharp-dotnet2/SwaggerClientTest/Lib/SwaggerClient"
3030

3131
java $JAVA_OPTS -jar $executable $ags

bin/csharp-petstore.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,6 @@ fi
2626

2727
# if you've executed sbt assembly previously it will use that instead.
2828
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
29-
ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l csharp -o samples/client/petstore/csharp"
29+
ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l csharp -o samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient"
3030

3131
java $JAVA_OPTS -jar $executable $ags

bin/retrofit-petstore.sh renamed to bin/dart-petstore.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,6 @@ fi
2626

2727
# if you've executed sbt assembly previously it will use that instead.
2828
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
29-
ags="$@ generate -t modules/swagger-codegen/src/main/resources/retrofit -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l retrofit -o samples/client/petstore/retrofit"
29+
ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l dart -o samples/client/petstore/dart"
3030

3131
java $JAVA_OPTS -jar $executable $ags

bin/flash-petstore.sh

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#!/bin/sh
2+
3+
SCRIPT="$0"
4+
5+
while [ -h "$SCRIPT" ] ; do
6+
ls=`ls -ld "$SCRIPT"`
7+
link=`expr "$ls" : '.*-> \(.*\)$'`
8+
if expr "$link" : '/.*' > /dev/null; then
9+
SCRIPT="$link"
10+
else
11+
SCRIPT=`dirname "$SCRIPT"`/"$link"
12+
fi
13+
done
14+
15+
if [ ! -d "${APP_DIR}" ]; then
16+
APP_DIR=`dirname "$SCRIPT"`/..
17+
APP_DIR=`cd "${APP_DIR}"; pwd`
18+
fi
19+
20+
executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
21+
22+
if [ ! -f "$executable" ]
23+
then
24+
mvn clean package
25+
fi
26+
27+
# if you've executed sbt assembly previously it will use that instead.
28+
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
29+
ags="$@ generate -t modules/swagger-codegen/src/main/resources/flash -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l flash -o samples/client/petstore/flash"
30+
31+
java $JAVA_OPTS -jar $executable $ags

0 commit comments

Comments
 (0)