diff --git a/.gitignore b/.gitignore index f8d6516c04..9d0f5d8203 100644 --- a/.gitignore +++ b/.gitignore @@ -26,4 +26,5 @@ hs_err_pid* .idea +*.iml target/ \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 9695216637..a0782552b3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,16 @@ sudo: false language: java -script: ./mvnw clean verify +script: + # fail fast + - set -e + # fail if templates/generators contain carriage return '\r' + - /bin/bash ./bin/utils/detect_carriage_return.sh + # fail if generators contain merge conflicts + - /bin/bash ./bin/utils/detect_merge_conflict.sh + # fail if generators contain tab '\t' + - /bin/bash ./bin/utils/detect_tab_in_java_class.sh + # run integration tests defined in maven pom.xml + - ./mvnw clean verify jdk: - openjdk8 after_success: diff --git a/bin/utils/detect_carriage_return.sh b/bin/utils/detect_carriage_return.sh new file mode 100755 index 0000000000..309b09fcf2 --- /dev/null +++ b/bin/utils/detect_carriage_return.sh @@ -0,0 +1,20 @@ +#!/bin/bash + + +# grep for \r in the templates +grep -RUIl $'\r$' src/main/resources/* + +if [ $? -ne 1 ]; then + echo "Templates contain carriage return '/r'. Please remove it and try again." + exit 1; +fi + + +# grep for \r in the generators +#grep -RUIl $'\r$' modules/swagger-codegen/src/main/java/io/swagger/codegen/v3/*.java +find src/main/java/ -type f -iname "*.java" -exec grep -RUIl $'\r$' {} \; | wc -l + +if [ $? -ne 0 ]; then + echo "Generators contain carriage return '/r'. Please remove it and try again." + exit 1; +fi diff --git a/bin/utils/detect_merge_conflict.sh b/bin/utils/detect_merge_conflict.sh new file mode 100755 index 0000000000..6375f079b2 --- /dev/null +++ b/bin/utils/detect_merge_conflict.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +# grep for '<<<<<<< HEAD' +grep -RUIl '<<<<<<< HEAD' src + +if [ $? -ne 1 ]; then + echo "src contain merge conflicts '<<<<<<< HEAD'. Please remove it and try again." + exit 1; +fi diff --git a/bin/utils/detect_tab_in_java_class.sh b/bin/utils/detect_tab_in_java_class.sh new file mode 100755 index 0000000000..7539d10609 --- /dev/null +++ b/bin/utils/detect_tab_in_java_class.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +# grep for \t in the generators +RESULT=`find src/ -name "*.java" | xargs grep $'\t'` + +echo -e "$RESULT" + +if [ "$RESULT" != "" ]; then + echo "Java files contain tab '\\t'. Please remove it and try again." + exit 1; +fi + diff --git a/src/main/java/io/swagger/codegen/v3/generators/java/AbstractJavaCodegen.java b/src/main/java/io/swagger/codegen/v3/generators/java/AbstractJavaCodegen.java index aeda4b69bc..b74b239e72 100644 --- a/src/main/java/io/swagger/codegen/v3/generators/java/AbstractJavaCodegen.java +++ b/src/main/java/io/swagger/codegen/v3/generators/java/AbstractJavaCodegen.java @@ -1352,13 +1352,13 @@ public void addHandlebarHelpers(Handlebars handlebars) { @Override public void setLanguageArguments(List languageArguments) { if (languageArguments != null) { - if (!languageArguments.stream() - .anyMatch(codegenArgument -> CodegenConstants.USE_OAS2_OPTION.equalsIgnoreCase(codegenArgument.getOption()) && StringUtils.isNotBlank(codegenArgument.getValue()))) { - languageArguments.add(new CodegenArgument() - .option(CodegenConstants.USE_OAS2_OPTION) - .type("boolean") - .value(Boolean.FALSE.toString())); - } + if (!languageArguments.stream() + .anyMatch(codegenArgument -> CodegenConstants.USE_OAS2_OPTION.equalsIgnoreCase(codegenArgument.getOption()) && StringUtils.isNotBlank(codegenArgument.getValue()))) { + languageArguments.add(new CodegenArgument() + .option(CodegenConstants.USE_OAS2_OPTION) + .type("boolean") + .value(Boolean.FALSE.toString())); + } } super.setLanguageArguments(languageArguments); diff --git a/src/main/java/io/swagger/codegen/v3/generators/java/JavaJAXRSCXFCDIServerCodegen.java b/src/main/java/io/swagger/codegen/v3/generators/java/JavaJAXRSCXFCDIServerCodegen.java index e6f85c8c65..cf28dcb6fd 100644 --- a/src/main/java/io/swagger/codegen/v3/generators/java/JavaJAXRSCXFCDIServerCodegen.java +++ b/src/main/java/io/swagger/codegen/v3/generators/java/JavaJAXRSCXFCDIServerCodegen.java @@ -39,8 +39,8 @@ public String getName() { @Override public void processOpts() { - // Set the template dir first, before super.processOpts(), otherwise it is going to - // be set to /spec location. + // Set the template dir first, before super.processOpts(), otherwise it is going to + // be set to /spec location. if (StringUtils.isBlank(templateDir)) { if (StringUtils.isNotBlank(templateVersion)) { embeddedTemplateDir = templateDir = String.format("%s/" + JAXRS_TEMPLATE_DIRECTORY_NAME + "/cxf-cdi", templateVersion); diff --git a/src/main/resources/META-INF/services/io.swagger.codegen.CodegenConfig b/src/main/resources/META-INF/services/io.swagger.codegen.v3.CodegenConfig similarity index 100% rename from src/main/resources/META-INF/services/io.swagger.codegen.CodegenConfig rename to src/main/resources/META-INF/services/io.swagger.codegen.v3.CodegenConfig