forked from loafle/openapi-generator-original
* Adds draft6 tests and python file reader * Adds processing of multiple files * Moves test examples into a different component so component schemas can be booleans * Excludes boolean schema cases and some others that contain patternProperties * Adds automatic test generation, template not quite working with indentation * Turns on allOf tests, some failing * Adds more generated components and tests * Adds enum tests * Turns on all of themissing tests * Adds exclmax and min exclusion reasons * Adds items test cases * Adds maximum * Adds maxItems * Adds maxLength * Adds maxProperties * Adds minimum * Adds minItems * Adds minLength * Adds minProperties * Adds multipleOf * Adds not * Adds oneOf * Adds pattern * Adds patternProperties * Working on properties examples, partial fix for escaped characters * Further improves example string escaping * Fixes properties test cases * Adds draft6 test samples license * Adds ref * Finishes ref * Adds remoteRef * Adds required * Improves required testing * Fixes build error / javadoc warning * Fixes uniqueItems bug in python-experimental * Turns all tests back on * Fixes 2 failing tests, all python tests pass * Fixes java npe errors * Fixes formatting of tests, indentation fixed * Test fase name fixed to toTestCaseName, docstring added to ObjectWithTypeBooleans * Fixes typo * Adds test deletion to samples generation, samples regenerated * Updates python-exp unit test sample, includes new ref examples
70 lines
2.0 KiB
Bash
Executable File
70 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# this bash script generates all samples.
|
|
# it ensures that all changes are committed into the 'samples/' folder
|
|
# shellcheck disable=SC2155
|
|
declare cwd="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
declare root="$(cd "$cwd" && cd ../ && pwd)"
|
|
declare executable="${root}/modules/openapi-generator-cli/target/openapi-generator-cli.jar"
|
|
|
|
if [ ! -f "$executable" ]; then
|
|
(cd "${root}" && mvn -B --no-snapshot-updates clean package -DskipTests=true -Dmaven.javadoc.skip=true -Djacoco.skip=true)
|
|
fi
|
|
|
|
export JAVA_OPTS="${JAVA_OPTS} -ea -server -Duser.timezone=UTC"
|
|
export BATCH_OPTS="${BATCH_OPTS:-}"
|
|
|
|
files=()
|
|
args=()
|
|
end_option=false
|
|
while [[ $# -gt 0 ]]; do
|
|
key="$1"
|
|
if [ "--" == "$key" ]; then
|
|
end_option=true
|
|
else
|
|
if [[ "$end_option" = true ]]; then
|
|
args+=("$1")
|
|
else
|
|
files+=("$1")
|
|
fi
|
|
fi
|
|
shift
|
|
done
|
|
|
|
header="# START SCRIPT: $0
|
|
This script generates all configs under bin/configs by default.
|
|
You may generate a targeted script or set of scripts using glob patterns.
|
|
|
|
For example:
|
|
$0 bin/configs/java-*
|
|
|
|
You may generate a single config with additional options if you use -- to
|
|
separate the single config file from the generator arguments.
|
|
|
|
For example:
|
|
$0 bin/configs/java-vertx.yaml -- --global-property debugModels=true
|
|
|
|
"
|
|
|
|
echo "$header"
|
|
|
|
if [[ ${#files[@]} -eq 1 && "${files[0]}" != *'*'* ]]; then
|
|
# shellcheck disable=SC2086
|
|
# shellcheck disable=SC2068
|
|
java ${JAVA_OPTS} -jar "$executable" generate -c ${files[0]} ${args[@]}
|
|
else
|
|
echo "Please press CTRL+C to stop or the script will continue in 5 seconds."
|
|
|
|
sleep 5
|
|
# delete the 3_0_3 python-experimental tests because they are autogenerated our tooling needs to see differences
|
|
rm -rf "${root}/samples/openapi3/client/3_0_3_unit_test/python-experimental/test"
|
|
|
|
if [ ${#files[@]} -eq 0 ]; then
|
|
files=("${root}"/bin/configs/*.yaml)
|
|
fi
|
|
|
|
# shellcheck disable=SC2086
|
|
# shellcheck disable=SC2068
|
|
java ${JAVA_OPTS} -jar "$executable" batch ${BATCH_OPTS} --includes-base-dir "${root}" --fail-fast -- ${files[@]}
|
|
fi
|
|
|