diff --git a/protocol-models/bin/generate-python-dataclasses.sh b/protocol-models/bin/generate-python-dataclasses.sh index 910579a6..f497e7c2 100755 --- a/protocol-models/bin/generate-python-dataclasses.sh +++ b/protocol-models/bin/generate-python-dataclasses.sh @@ -22,13 +22,18 @@ mkdir -p "$ROOT_DIR/$OUTPUT_DIR" echo "# generated by generate-python-dataclasses" > "$ROOT_DIR/$OUTPUT_DIR"/__init__.py echo "name = 'models'" >> "$ROOT_DIR/$OUTPUT_DIR"/__init__.py -for f in "$ROOT_DIR/$YAML_DIR"/*.yaml; do +if [ -f $ROOT_DIR/$YAML_DIR/airbyte_protocol.yaml ]; then + echo ERROR: File airbyte_protocol.yaml exists in both $ROOT_DIR/$YAML_DIR and $ROOT_DIR/$YAML_DIR/v0. Only one is expected + exit 1 +fi + +for f in "$ROOT_DIR/$YAML_DIR"/*.yaml "$ROOT_DIR/$YAML_DIR"/v0/airbyte_protocol.yaml; do filename_wo_ext=$(basename "$f" | cut -d . -f 1) echo "from .$filename_wo_ext import *" >> "$ROOT_DIR/$OUTPUT_DIR"/__init__.py datamodel-codegen \ --input-file-type jsonschema \ - --input "$ROOT_DIR/$YAML_DIR/$filename_wo_ext.yaml" \ + --input "$f" \ --output "$ROOT_DIR/$OUTPUT_DIR/$filename_wo_ext.py" \ --output-model-type dataclasses.dataclass \ --target-python-version 3.9 \ diff --git a/protocol-models/bin/generate-python-pydantic-v2.sh b/protocol-models/bin/generate-python-pydantic-v2.sh index 952c0d94..ba8abf1f 100755 --- a/protocol-models/bin/generate-python-pydantic-v2.sh +++ b/protocol-models/bin/generate-python-pydantic-v2.sh @@ -22,13 +22,18 @@ mkdir -p "$ROOT_DIR/$OUTPUT_DIR" echo "# generated by generate-python-pydantic-v2" > "$ROOT_DIR/$OUTPUT_DIR"/__init__.py echo "name = 'models'" >> "$ROOT_DIR/$OUTPUT_DIR"/__init__.py -for f in "$ROOT_DIR/$YAML_DIR"/*.yaml; do +if [ -f $ROOT_DIR/$YAML_DIR/airbyte_protocol.yaml ]; then + echo ERROR: File airbyte_protocol.yaml exists in both $ROOT_DIR/$YAML_DIR and $ROOT_DIR/$YAML_DIR/v0. Only one is expected + exit 1 +fi + +for f in "$ROOT_DIR/$YAML_DIR"/*.yaml "$ROOT_DIR/$YAML_DIR"/v0/airbyte_protocol.yaml; do filename_wo_ext=$(basename "$f" | cut -d . -f 1) echo "from .$filename_wo_ext import *" >> "$ROOT_DIR/$OUTPUT_DIR"/__init__.py datamodel-codegen \ --input-file-type jsonschema \ - --input "$ROOT_DIR/$YAML_DIR/$filename_wo_ext.yaml" \ + --input "$f" \ --output "$ROOT_DIR/$OUTPUT_DIR/$filename_wo_ext.py" \ --output-model-type pydantic_v2.BaseModel \ --target-python-version 3.10 \ diff --git a/protocol-models/bin/generate-python-pydantic.sh b/protocol-models/bin/generate-python-pydantic.sh index 34e04b5a..1502a4fc 100755 --- a/protocol-models/bin/generate-python-pydantic.sh +++ b/protocol-models/bin/generate-python-pydantic.sh @@ -22,12 +22,17 @@ mkdir -p "$ROOT_DIR/$OUTPUT_DIR" echo "# generated by generate-python-pydantic.sh" > "$ROOT_DIR/$OUTPUT_DIR"/__init__.py echo "name = 'models'" >> "$ROOT_DIR/$OUTPUT_DIR"/__init__.py -for f in "$ROOT_DIR/$YAML_DIR"/*.yaml; do +if [ -f $ROOT_DIR/$YAML_DIR/airbyte_protocol.yaml ]; then + echo ERROR: File airbyte_protocol.yaml exists in both $ROOT_DIR/$YAML_DIR and $ROOT_DIR/$YAML_DIR/v0. Only one is expected + exit 1 +fi + +for f in "$ROOT_DIR/$YAML_DIR"/*.yaml "$ROOT_DIR/$YAML_DIR"/v0/airbyte_protocol.yaml; do filename_wo_ext=$(basename "$f" | cut -d . -f 1) echo "from .$filename_wo_ext import *" >> "$ROOT_DIR/$OUTPUT_DIR"/__init__.py datamodel-codegen \ - --input "$ROOT_DIR/$YAML_DIR/$filename_wo_ext.yaml" \ + --input "$f" \ --output "$ROOT_DIR/$OUTPUT_DIR/$filename_wo_ext.py" \ --use-title-as-name \ --disable-timestamp