Commit Graph

480 Commits

Author SHA1 Message Date
niku
f77bee8b8a [WIP] Add elixir client (#4675)
* Add elixir client

* Add test for elixir client

* Add shell script for generating sample codes for elixir client

It just copied from bin/bash-petstore.sh

* Make elixir-petstore.sh to generate sample codes for elixir client

* Add sample codes for elixir client
2017-01-30 17:40:55 +08:00
jfiala
8952815b5f [Spring] Add beanvalidation annotations (#4600)
* update generated sample for spring boot #4091

* add beanvalidation annotations to spring #4091

* add tests for spring #4091

* cleanup spring-cloud (client lib) #4091

* update client sample spring-cloud #4091

* replace tabs

* add beanvalidation annotations to spring #4091

* add tests for spring #4091

* cleanup spring-cloud (client lib) #4091

* update client sample spring-cloud #4091

* replace tabs

* update spring-cloud sample
2017-01-26 23:45:36 +08:00
Tony Tam
ecaa8b1ede tests, fix for #4647. Proper escaping project name per npmjs (#4648) 2017-01-25 17:08:54 +08:00
wing328
5306b11b4a [java] Improve pom.xml to qualify for publishing to Maven central (#4616)
* [java] Attach Javadoc to artifact generation.

* [java] Attach source to artifact generation.

* [java] Add gpg signing to artifact publishing.

* [java] Add artifact URL to pom.xml .

* [java] Add artifact description to pom.xml .

* [java] Add artifact URL and description params to Jax RSS.

* [java] Add developer info to pom.xml .

* [java] Parameterise SCM info in generated pom.xml .

* [java] Move GPG signing to verify phase so that .asc files are uploaded during deploy phase.

* [java] Change GPG signing to be an optional via Maven profile. Can't assume all users will perform a release/deploy from an environment with correct GPG key/pass.

* update java petstore smaples

* camelize tag name, remove invalid file

* add back missing files for okhttp-gson

* fix docstring in java feign client

* fix docstring with various java api clients
2017-01-22 11:40:59 +08:00
wing328
4d19fb6b2f hide generation timestamp for perl (#4614) 2017-01-21 19:12:51 +08:00
Damien Pontifex
1f0ecb5180 Updating typescript-angular to export api classes (#4589)
* Updating typescript-angular to export api classes

* Fixing tsconfig for typescript-angular test case
2017-01-21 17:02:11 +08:00
eblis
3b3f2d2fd6 Options to allow unicode character in identifier names (#4508)
* Added option to allow unicode identifiers in class names, method names etc.
Added option to allow keeping of underscore characters in class names, methods names, etc.

Unicode identifiers are supported by some languages, like Java, but the codegen will remove all non ASCII letters by default. Users might want to separate different parts of names using extended punctuation connector characters, like "_, ‿, ⁀, ⁔, ・, ︳, ︴, ﹍, ﹎, ﹏, _, ・".
Underscores cannot be used to separate different parts of the name as they're removed by default by the codegen, the second option allows underscore characters if the user so desires.
Both options can be used separately if needed, for example one might allow extended punctuation connector characters, but still disallow underscore.

* Added new command line options to all required unit tests.

* Added KEEP_UNDERSCORES and ALLOW_UNICODE_IDENTIFIERS to Bash tests.

* When KEEP_UNDERSCORES is set don't camelize the names, keep the identifier case as is (you probably don't want camel case + snake case, just snake case when KEEP_UNDERSCORES is set).
Added unit tests to verify how the case is computed for various scenarios.

* Reworked pull request to only include changes related to supporting unicode characters in identifiers (removed references to keep underscores).

* These methods and classes can be static again.
2017-01-20 14:42:08 +08:00
wing328
029728d851 [maven-plugin] allow for ignore file override (#4597)
* [maven-plugin] allow for ignore file override

The .swagger-codegen-ignore file is beneficial for existing source
directories to provide pattern-based exclusion rules for existing source
to be ignored by swagger codegen. Until now, there's been no utility
other than skipOverwrite to modify the initial generation of code
(either via CLI or maven plugin).

This commit adds support for an ignoreFileOverride option to both the
CLI and the maven plugin.

Example CLI usage:

```
java -jar swagger-codegen.jar generate \
    -i swagger.json -l csharp \
    -o target --ignore-file-override /path/to/ignore-file
```

Example Maven Plugin configuration:

```
    <build>
        <plugins>
            <plugin>
                <groupId>io.swagger</groupId>
                <artifactId>swagger-codegen-maven-plugin</artifactId>
                <version>2.2.2-SNAPSHOT</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.basedir}/src/main/resources/swagger.yaml</inputSpec>
                            <language>csharp</language>
                            <invokerPackage>io.swagger</invokerPackage>
                            <modelPackage>io.swagger.models</modelPackage>
                            <apiPackage>io.swagger.apis</apiPackage>
                            <ignoreFileOverride>/Users/jim/projects/swagger-codegen/.sample-ignore</ignoreFileOverride>
                            <configOptions>
                            </configOptions>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
```

* [maven-plugin] update new javadocs

* fix bad merge due to missing }
2017-01-19 23:17:25 +08:00
Jonathan Leitschuh
36c3fa05e0 Allows for generation of spring controller code using the delegate pattern (#4439)
* Allows for generation of spring conroller code using the decorator pattern

* Change Decorator to Delegate in spring codegen
2017-01-19 17:58:39 +08:00
jfiala
6f4e82dc03 [Jaxrs-Resteasy] Add beanvalidation annotations (#4506)
* add beanvalidation to jaxrs-resteasy #4091

* replace tabs
2017-01-19 17:45:17 +08:00
wing328
157fcbc4aa fix invalid spec, update petstore samples (jaxrs, ruby) 2017-01-19 16:54:16 +08:00
wing328
1ae60b1f61 Merge branch 'jaxrs_jersey_beanval2' of https://github.com/jfiala/swagger-codegen into jfiala-jaxrs_jersey_beanval2 2017-01-19 15:30:54 +08:00
wing328
3b3ded0290 fix bash test package name (#4566) 2017-01-16 19:09:25 +08:00
Jim Schubert
d97b1da90c [csharp] Support internal access of generated code (#4560)
Allows users to specify 'nonPublicApi' additional property (and C#
client CLI switch) to reduce visibility of classes created by the
generator. This includes API and Models as well as supporting code like
ApiClient and other infrastructure.

The requirement is to support codegen generated code to be embedded
within other applications where the generated code is not intended to be
publicly consumable or publicy exposed. An example would be an SDK which
internally consumes an API via the generated code; we wouldn't want the
internal API implementation exposed as part of that SDK.

Reducing visibility of the classes effectively makes the entire
implementation internal, regardless of the public modifier on methods or
static members. To fully make all members internal it would require
explicit interface implementation, which is not ideal.

see #4401
2017-01-16 01:19:10 +08:00
Jim Schubert
663b471d1a [nancyfx/csharp] Customize interface prefix (#4557)
Per #4486, this allows user to specify the use of a standard or custom
prefix for interfaces. For C# based languages, this follows Microsoft's
Framework Design Guidelines and uses an I- prefix. However, to avoid
breaking changes with existing nancyfx generated code, the default is
unset.

The option supports true, false, or a custom prefix.
2017-01-15 23:35:43 +08:00
eamon316
d7e6a3da6a Add a useTags flag to allow tags to be used to generate interface / controller classnames (#4396) 2017-01-15 23:25:30 +08:00
Bartek Kryza
0fb154e9a2 [Bash] Bash client script generator (#4541)
* Initial commit

* Remormatted petstore tests

* Added Bash codegen to main README.md

* Added bash to integration tests

* Fixed stdin detection in generated script

* Added back ruby module
2017-01-12 16:48:25 +08:00
Yuta HIGUCHI
de5ea8a9d6 [JAX-RS/jersey2] Fix for incorrect JSON field name capitalization (#4458)
* Fix for all capital field name

* Cosmetic: remove trailing spaces

* Adding ./bin/jaxrs-petstore-server.sh output.
2017-01-10 23:37:25 +08:00
J. Fiala
24f486164a add test for options #4091 2017-01-06 16:18:14 +01:00
Kevin Locke
df0c54d043 Support the empty string as an enumeration value (#4450)
When a string enumeration has the empty string as one of its available
values, the generated code for many languages is invalid because the
empty string can not be used as an identifier.  As with numbers and
symbols, provide a mapping to an English name which can be used as a
replacement.  In this case, "empty" for the empty string/empty value.

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2017-01-06 19:30:47 +08:00
Jim Schubert
c94e18abd8 [codegen ignore] normalize path separator for Windows, add *.ext tests (#4476)
* [codegen ignore] Fix windows paths for ignore processing

* [codegen ignore] Add missing glob rule tests
2017-01-03 16:56:50 +08:00
Jun Mukai
27f1b6ee98 Introduce NodeJS codegen for Google Cloud Functions. (#4406)
* Another approach: extending NodeJS server to support GCF.

This does not add a new language, but adding some client options
to support Google Cloud Functions (GCF).

* Add URLs for how to deploy the generated code.

Adds the client options help message and the README.md file.
2016-12-22 23:11:52 +08:00
Vincent Giersch
7f980cd9dd fix(swift3): lowercase enum value before checking reserved words (#4357)
Signed-off-by: Vincent Giersch <vincent@giersch.fr>
2016-12-20 16:35:03 +08:00
Yohana Khoury
91af8066cd boolean values from JSON are treated as strings (#4229)
* Change the value types in additionalProperties and dynamicProperties to Object instead of String.
Change methods that insert values to these maps to use Object as the type of the value instead of String.

* Fix run-all-petstore run: use toString instead of casting
2016-12-16 11:56:38 +08:00
wing328
870c745e6f minor fix to java client options test 2016-12-15 19:30:35 +08:00
Cliffano Subagio
3bc3a40073 [java] Add licenseName and licenseUrl options. 2016-12-15 19:30:35 +08:00
lukoyanov
a13dee7167 [Java] Play! Framework 2.4 WS client support + retrofit2 (#4270)
* implemented core integration with play 2.4 ws

* added shell script to test on CI

* added shell script to composite file for all java generators

* added some comments
changed promise param to Response<T> to allow access to http status code and raw response if needed

* removed unnecessary whitespace changes

* added java7 compatibility, play ws deps to pom.xml

* added generated play24 client

* fixed imports
2016-12-14 17:32:49 +08:00
wing328
3957a1db1a Merge branch 'feature/file-response' of https://github.com/www2k/swagger-codegen into www2k-feature/file-response 2016-12-14 16:26:34 +08:00
wing328
62aabfc6c1 Merge branch 'jfiala-beanval_2549' 2016-12-13 00:05:03 +08:00
wing328
130161fc43 Merge branch 'master' of https://github.com/swagger-api/swagger-codegen 2016-12-10 01:02:22 +08:00
Sreenidhi Sreesha
c83c813865 Refactor Boolean properties to boolean. (#4326)
There is no good reason to use Boolean instead of boolean.
Using Boolean will lead to handling "null" state which is confusing.

This change removes changes the type of Boolean properties to boolean.
2016-12-10 00:37:50 +08:00
wing328
9051848ffa minor fix to petstore test spec 2016-12-08 23:24:20 +08:00
wing328
8153f0e89b Fix test spec issue (#4334)
* fix issue with swagger spec (number => integer)

* remove space from spec
2016-12-07 16:46:41 +08:00
Alec Henninger
2b240a4eb9 Use JavaScript codegen in JavaScript test (instead of Java) (#4316) 2016-12-05 10:56:03 +08:00
jaz-ah
0a97b9c568 make sure to camelize properly before checking for reserved words (#4302) 2016-12-01 11:49:56 +08:00
menchauser
6ebc2fc051 Fix support for 'class' properties in Java codegen (#4237)
* Fix support for 'class' properties in Java codegen

Currently Java codegen works successfully for property named 'class' but
fails on '_class', '__class', etc, because of 'Object.getClass()'
overloading.

This fix is intended to avoid all Object method overloading cases.

* Regenerated samples for Java petstore-security-test
2016-11-23 00:18:40 +08:00
wing328
4ae3e57932 Merge branch 'beanval_2549' of https://github.com/jfiala/swagger-codegen into jfiala-beanval_2549 2016-11-19 16:39:31 +08:00
jfiala
b02d505ad9 Refine CXF Add Spring Annotation-Config + Jboss flag for CXF/Resteasy + fix OuterEnum (#4164)
* add json annotations

* add cli flag to check for jaxb annotations

* add CLI-flag for switching Spring-XML or annotation config #4088

* add cli flag for generating jboss depl. descriptor #4088

* add JbossFeature CLI flag to Resteasy #4088

* update/add tests #4088

* cleanup tabs #4088

* improve api formatting #4088

* refine formatting #4088

* refine formatting again #4088

* add separate CLI-flags for controlling junit test features #4088

* add json annotations

* add cli flag to check for jaxb annotations

* add CLI-flag for switching Spring-XML or annotation config #4088

* add cli flag for generating jboss depl. descriptor #4088

* add JbossFeature CLI flag to Resteasy #4088

* update/add tests #4088

* cleanup tabs #4088

* improve api formatting #4088

* refine formatting #4088

* refine formatting again #4088

* add separate CLI-flags for controlling junit test features #4088

* add check for void methods + assertNotNull(response) #4088

* add spaces for @Produces #4088

* allow build with no web.xml config #4088

* comment invocations of tests #4088

* update petstore sample jaxrs-cxf server with gen/java first #4088

* re-generate jaxrs-cxf with src/gen/java #4088

* add client jaxrs-cxf #4088

* add switch to load SwaggerUI automatically #4088

* update to CXF 3.1.8 including supportSwaggerUi flag #4088

* update to cxf 3.1.8 and swagger-core 1.5.10 #4088

* update generated petstore for jaxrs-cxf #4088

* change Spring Boot urls to root #4088

* fix spring xml config #4088

* fix external enum usage for jaxrs-cxf #4160

* cleanup jaxrs-annotations in impl class

* fix handling of multiparts #4088

* fix @Min/@Max comments in beanValidationQueryParams #4088

* add swagger-codegen-ignore file+add src/test/resources #4088

* add cli-flag for produces/consumes json in api #4088

* add test case for outerEnum #4160
2016-11-19 16:09:13 +08:00
www2k
0a5b0bb8ce Add test for file response schema 2016-11-19 07:49:48 +09:00
jfiala
1d305b1faf add tests for java client performBeanValidation #2549 2016-11-12 23:09:57 +01:00
wing328
935bdfe628 better handling of */* 2016-11-08 16:17:51 +08:00
ircecho
51b941cf88 DART: Removed the 'justIgnoreThisFlag' flag (#4116)
* feat[dart]: remove unused argument 'justIgnoreThisFlag'

* chore[dart]: petstore rebuild
2016-11-04 19:17:23 +08:00
wing328
0eaab90ba5 Merge branch 'retrofit2-vendor-mime-type' of https://github.com/Rajmohan/swagger-codegen into Rajmohan-retrofit2-vendor-mime-type 2016-11-01 21:40:22 +08:00
Cliffano Subagio
5c53513a30 [python] Add packageUrl option, replacing infoUrl in setup.py (#4101)
* [python] Add packageUrl option, replacing infoUrl in setup.py .

* [python] Regenerate Python petstore sample.

* [python] Regenerate Python petstore security test sample.
2016-11-01 18:21:53 +08:00
wing328
b3f3edda33 Merge branch 'master' of https://github.com/swagger-api/swagger-codegen 2016-11-01 16:59:23 +08:00
wing328
66ebdf3e3d Merge branch 'issue-4051' of https://github.com/schnabel/swagger-codegen into schnabel-issue-4051 2016-11-01 16:58:26 +08:00
wing328
e230ef9f50 Merge pull request #4072 from cbornet/spring_response_wrappers
[spring] add an option to choose the response wrapper type
2016-11-01 16:41:07 +08:00
scannerscan
a5eff7e571 Jdk6 jersey2 support (#4074)
* hashCode and equals support for jdk6 for jersey2

* supportJava6 moved to the base abstract class to support server side code generation,
supportJava6 flag was added to the server side model classes generators,
licenseInfo ttemplate was added to JavaJaxRS section,
javaJaxRS templates jdk6 suport was added,
shouldOverride method was commented out to allow server classes to be overriden - what if new methods or signatures changes?

* fix for the build.

* supportJava6 moved to the base abstract class to support server side code generation,
supportJava6 flag was added to the server side model classes generators,
licenseInfo ttemplate was added to JavaJaxRS section,
javaJaxRS templates jdk6 suport was added,
shouldOverride method was commented out to allow server classes to be overriden - what if new methods or signatures changes?

* fix for the build.

* Merge remote-tracking branch 'remotes/origin/master' into jdk6-jersey2-support

Conflicts:
	modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaCodegen.java
	modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java
	modules/swagger-codegen/src/main/resources/Java/pom.mustache

* add msf4j author

* [Java] Fix outputFolder in java-related server stub generators (#4076)

* fix outputFolder in java-related server stub generator

* fix style in JavaJAXRSCXFCDIServerCodegen

* hashCode and equals support for jdk6 for jersey2

* supportJava6 moved to the base abstract class to support server side code generation,
supportJava6 flag was added to the server side model classes generators,
licenseInfo ttemplate was added to JavaJaxRS section,
javaJaxRS templates jdk6 suport was added,
shouldOverride method was commented out to allow server classes to be overriden - what if new methods or signatures changes?

* fix for the build.

* supportJava6 moved to the base abstract class to support server side code generation,
supportJava6 flag was added to the server side model classes generators,
licenseInfo ttemplate was added to JavaJaxRS section,
javaJaxRS templates jdk6 suport was added,
shouldOverride method was commented out to allow server classes to be overriden - what if new methods or signatures changes?

* Merge remote-tracking branch 'remotes/origin/master' into jdk6-jersey2-support

Conflicts:
	modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaCodegen.java
	modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java
	modules/swagger-codegen/src/main/resources/Java/pom.mustache

* Merge remote-tracking branch 'remotes/origin/master' into jdk6-jersey2-support

Conflicts:
	modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaCodegen.java
	modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java
	modules/swagger-codegen/src/main/resources/Java/pom.mustache
2016-11-01 16:36:56 +08:00
schnabel
f57e7c0933 bugfix: issue-4051 2016-10-25 20:09:24 +02:00
cbornet
21ec2bc866 [spring] add an option to choose the response wrapper type
Also generate the spring-cloud sample with a HystrixCommand wrapper
2016-10-25 15:40:51 +02:00