Skip to content

Commit f6d624b

Browse files
committed
Merge pull request #2 from swagger-api/master
merge
2 parents dfd8d5e + 9e8e5db commit f6d624b

File tree

875 files changed

+69005
-22925
lines changed

Some content is hidden

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

875 files changed

+69005
-22925
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: 11 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,8 +31,10 @@ 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
@@ -41,3 +44,9 @@ atlassian-ide-plugin.xml
4144

4245
samples/client/petstore/php/SwaggerClient-php/composer.lock
4346
samples/client/petstore/php/SwaggerClient-php/vendor/
47+
48+
samples/client/petstore/silex/SwaggerServer/composer.lock
49+
samples/client/petstore/silex/SwaggerServer/venodr/
50+
51+
samples/client/petstore/python/.projectile
52+
samples/client/petstore/python/.venv/

.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: 46 additions & 7 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

@@ -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
@@ -178,13 +207,17 @@ RetrofitClientCodegen.java
178207
RubyClientCodegen.java
179208
ScalaClientCodegen.java
180209
ScalatraServerCodegen.java
210+
SilexServerCodegen.java
211+
SinatraServerCodegen.java
181212
SpringMVCServerCodegen.java
182213
StaticDocCodegen.java
183214
StaticHtmlGenerator.java
184215
SwaggerGenerator.java
185216
SwaggerYamlGenerator.java
186-
SwiftGenerator.java
217+
SwiftCodegen.java
187218
TizenClientCodegen.java
219+
TypeScriptAngularClientCodegen.java
220+
TypeScriptNodeClientCodegen.java
188221
```
189222

190223
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 +259,12 @@ CONFIG OPTIONS
226259
227260
sourceFolder
228261
source folder for generated code
262+
263+
library
264+
library template (sub-template) to use:
265+
<default> - HTTP client: Jersey client 1.18. JSON processing: Jackson 2.4.2
266+
jersey2 - HTTP client: Jersey client 2.6
267+
okhttp-gson - HTTP client: OkHttp 2.4.0. JSON processing: Gson 2.3.1
229268
```
230269

231270
Your config file for java can look like

bin/all-petstore.sh

Lines changed: 14 additions & 3 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/jaxrs-petstore-server.sh
30+
./bin/nodejs-petstore-server.sh
31+
./bin/objc-petstore.sh
2832
./bin/perl-petstore.sh
2933
./bin/php-petstore.sh
3034
./bin/python-petstore.sh
35+
./bin/python3-petstore.sh
36+
./bin/qt5-petstore.sh
3137
./bin/retrofit-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/csharp-dotnet2-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 -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l CsharpDotNet2 -o samples/client/petstore/csharp-dotnet2/SwaggerClientTest/Lib/SwaggerClient"
30+
31+
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/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

bin/java-inflector-petstore-server.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/JavaInflector -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l inflector -o samples/server/petstore/java-inflector"
30+
31+
java $JAVA_OPTS -jar $executable $ags

bin/java-petstore-jersey2.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"library": "jersey2",
3+
"artifactId": "swagger-petstore-jersey2"
4+
}

bin/java-petstore-jersey2.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 -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l java -c bin/java-petstore-jersey2.json -o samples/client/petstore/java/jersey2"
30+
31+
java $JAVA_OPTS -jar $executable $ags

bin/java-petstore-okhttp-gson.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"library": "okhttp-gson",
3+
"artifactId": "swagger-petstore-okhttp-gson"
4+
}

0 commit comments

Comments
 (0)