codemagic-cli-tools 0.50.7__tar.gz → 0.51.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/PKG-INFO +1 -1
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/pyproject.toml +1 -1
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/__version__.py +1 -1
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/__version__.py-e +1 -1
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/api_client.py +5 -0
- codemagic_cli_tools-0.51.0/src/codemagic/apple/app_store_connect/app_store_publishing/__init__.py +1 -0
- codemagic_cli_tools-0.51.0/src/codemagic/apple/app_store_connect/app_store_publishing/app_store_version_phased_releases.py +91 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/resource_manager.py +50 -2
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/versioning/app_store_versions.py +24 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/__init__.py +5 -0
- codemagic_cli_tools-0.51.0/src/codemagic/apple/resources/app.py +108 -0
- codemagic_cli_tools-0.51.0/src/codemagic/apple/resources/app_store_version_phased_release.py +34 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/build.py +8 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/enums.py +32 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/resource.py +25 -9
- codemagic_cli_tools-0.51.0/src/codemagic/mixins/path_finder.py +30 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/altool/altool.py +9 -5
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/abstract_base_action.py +71 -5
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/action_group.py +4 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/action_groups/__init__.py +1 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/action_groups/app_store_version_localizations_action_group.py +14 -2
- codemagic_cli_tools-0.51.0/src/codemagic/tools/app_store_connect/action_groups/app_store_version_phased_releases_action_group.py +96 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/action_groups/app_store_version_submissions_action_group.py +6 -1
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/action_groups/app_store_versions_action_group.py +31 -2
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/action_groups/apps_action_group.py +7 -2
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/action_groups/beta_app_review_submissions_action_group.py +8 -2
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/action_groups/beta_build_localizations_action_group.py +10 -3
- codemagic_cli_tools-0.51.0/src/codemagic/tools/app_store_connect/action_groups/builds_action_group.py +374 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/action_groups/bundle_ids_action_group.py +12 -2
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/action_groups/certificates_action_group.py +11 -2
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/action_groups/devices_action_group.py +12 -2
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/action_groups/profiles_action_group.py +16 -2
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/action_groups/review_submission_items_actions_group.py +6 -4
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/action_groups/review_submissions_actions_group.py +10 -4
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/actions/__init__.py +2 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/actions/publish_action.py +25 -3
- codemagic_cli_tools-0.50.7/src/codemagic/tools/app_store_connect/action_groups/builds_action_group.py → codemagic_cli_tools-0.51.0/src/codemagic/tools/app_store_connect/actions/submit_to_app_store_action.py +64 -440
- codemagic_cli_tools-0.51.0/src/codemagic/tools/app_store_connect/actions/submit_to_testflight_action.py +115 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/app_store_connect.py +3 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/arguments.py +66 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/mixins/resource_manager_mixin.py +37 -52
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/resource_printer.py +27 -20
- codemagic_cli_tools-0.51.0/tests/apple/app_store_connect/app_store_publishing/test_app_store_version_phased_releases.py +38 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/conftest.py +12 -0
- codemagic_cli_tools-0.51.0/tests/apple/resources/mocks/app.json +223 -0
- codemagic_cli_tools-0.51.0/tests/apple/resources/mocks/app_store_version_phased_release.json +13 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/mocks/build.json +4 -0
- codemagic_cli_tools-0.51.0/tests/apple/resources/test_app_resource.py +15 -0
- codemagic_cli_tools-0.51.0/tests/apple/resources/test_app_store_version_phased_release_resource.py +28 -0
- codemagic_cli_tools-0.51.0/tests/mixins/test_path_finder.py +67 -0
- codemagic_cli_tools-0.51.0/tests/tools/app_store_connect/action_groups/test_apps_action_group.py +16 -0
- codemagic_cli_tools-0.51.0/tests/tools/app_store_connect/actions/__init__.py +0 -0
- codemagic_cli_tools-0.51.0/tests/tools/app_store_connect/actions/publish_action/__init__.py +0 -0
- codemagic_cli_tools-0.50.7/tests/tools/app_store_connect/test_publish_action.py → codemagic_cli_tools-0.51.0/tests/tools/app_store_connect/actions/publish_action/test_publish_arguments.py +3 -0
- codemagic_cli_tools-0.51.0/tests/tools/app_store_connect/arguments/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/tools/app_store_connect/conftest.py +25 -0
- codemagic_cli_tools-0.51.0/tests/utilities/__init__.py +0 -0
- codemagic_cli_tools-0.51.0/tests/utilities/decorators/__init__.py +0 -0
- codemagic_cli_tools-0.50.7/src/codemagic/apple/resources/app.py +0 -54
- codemagic_cli_tools-0.50.7/src/codemagic/mixins/path_finder.py +0 -22
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/LICENSE +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/README.md +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/api_error.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/api_session.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/apps/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/apps/apps.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/builds/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/builds/builds.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/json_web_token_manager.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/provisioning/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/provisioning/bundle_id_capabilities.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/provisioning/bundle_ids.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/provisioning/devices.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/provisioning/profiles.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/provisioning/signing_certificates.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/testflight/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/testflight/beta_groups.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/type_declarations.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/versioning/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/versioning/app_store_version_localizations.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/versioning/app_store_version_submissions.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/versioning/beta_app_review_submissions.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/versioning/beta_build_localizations.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/versioning/pre_release_versions.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/versioning/review_submission_items.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/app_store_connect/versioning/review_submissions.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/app_store_version.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/app_store_version_localization.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/app_store_version_submission.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/beta_app_localization.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/beta_app_review_detail.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/beta_app_review_submission.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/beta_build_localization.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/beta_group.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/build_beta_detail.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/bundle_id.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/bundle_id_capability.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/device.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/error_response.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/pre_release_version.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/profile.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/review_submission.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/review_submission_item.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/signing_certificate.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/cli/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/cli/action.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/cli/action_group.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/cli/argument/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/cli/argument/action_callable.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/cli/argument/argument.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/cli/argument/argument_formatter.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/cli/argument/argument_parser_builder.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/cli/argument/argument_properties.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/cli/argument/common_argument_types.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/cli/argument/typed_cli_argument.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/cli/cli_app.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/cli/cli_help_formatter.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/cli/cli_process.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/cli/cli_process_stream.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/cli/cli_types.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/cli/colors.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/cli/environment.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/data/jars/bundletool-all-1.13.1.jar +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google/errors.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google/firebase_client.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google/google_client.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google/resource_managers/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google/resource_managers/mixins/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google/resource_managers/mixins/acting_manager_mixin.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google/resource_managers/mixins/listing_manager_mixin.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google/resource_managers/release_manager.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google/resource_managers/resource_manager.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google/resources/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google/resources/identifiers/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google/resources/identifiers/app_identifier.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google/resources/identifiers/resource_identifier.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google/resources/release.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google/resources/release_notes.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google/resources/resource.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google_play/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google_play/api_client.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google_play/api_error.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google_play/resources/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google_play/resources/edit.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google_play/resources/enums.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google_play/resources/resource.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/google_play/resources/track.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/mixins/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/mixins/running_cli_app.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/mixins/str_converter.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/altool/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/altool/altool_result.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/altool/enums.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/android_signing_info.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/application_package/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/application_package/abstract_package.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/application_package/ipa.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/application_package/macos_package.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/bundle_id_detector.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/certificate.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/certificate_attributes.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/certificate_p12_exporter.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/code_sign_entitlements.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/code_signing_settings_manager.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/enums.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/export_options.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/json_serializable.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/junit/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/junit/definitions.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/junit/printer.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/keystore.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/pbx_project.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/private_key.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/provisioning_profile.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/simulator/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/simulator/core_simulator_service.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/simulator/runtime.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/simulator/simulator.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/table/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/table/line.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/table/table.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/xcode.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/xcodebuild.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/xcpretty.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/xctests/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/xctests/collector.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/xctests/converter.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/xctests/xcresult.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/xctests/xcresulttool.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/py.typed +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/scripts/code_signing_manager.rb +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/shell_tools/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/shell_tools/abstract_shell_tool.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/shell_tools/keytool.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/_xcode_project/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/_xcode_project/arguments.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/android_app_bundle.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/android_keystore/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/android_keystore/__main__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/android_keystore/android_keystore.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/android_keystore/argument_types.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/android_keystore/arguments.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/__main__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/action_groups/beta_groups_action_group.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/actions/fetch_signing_files_action.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/actions/latest_build_number_actions.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/errors.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/mixins/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/app_store_connect/mixins/signing_file_saver_mixin.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/codemagic_cli_tools.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/firebase_app_distribution/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/firebase_app_distribution/__main__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/firebase_app_distribution/action_groups/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/firebase_app_distribution/action_groups/firebase_action_groups.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/firebase_app_distribution/action_groups/releases_action_group.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/firebase_app_distribution/actions/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/firebase_app_distribution/actions/get_latest_build_version_action.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/firebase_app_distribution/argument_types.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/firebase_app_distribution/arguments.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/firebase_app_distribution/errors.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/firebase_app_distribution/firebase_app_distribution.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/firebase_app_distribution/firebase_app_distribution_action.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/firebase_app_distribution/resource_printer.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/git_changelog.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/google_play/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/google_play/__main__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/google_play/action_groups/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/google_play/action_groups/google_play_action_groups.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/google_play/action_groups/tracks_action_group.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/google_play/actions/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/google_play/actions/get_latest_build_number_action.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/google_play/argument_types.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/google_play/arguments.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/google_play/errors.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/google_play/google_play.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/google_play/google_play_base_action.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/keychain.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/universal_apk_generator.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/tools/xcode_project.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/utilities/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/utilities/auditing/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/utilities/auditing/base_auditor.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/utilities/auditing/exception_auditor.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/utilities/auditing/http_request_auditor.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/utilities/backwards_file_reader.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/utilities/case_conversion.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/utilities/decorators.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/utilities/levenshtein_distance.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/utilities/log.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/utilities/versions.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/apple/app_store_connect/apps → codemagic_cli_tools-0.51.0/tests/apple/app_store_connect/app_store_publishing}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/apple/app_store_connect/builds → codemagic_cli_tools-0.51.0/tests/apple/app_store_connect/apps}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/apps/test_apps.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/apple/app_store_connect/provisioning → codemagic_cli_tools-0.51.0/tests/apple/app_store_connect/builds}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/builds/test_builds.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/apple/app_store_connect/testflight → codemagic_cli_tools-0.51.0/tests/apple/app_store_connect/provisioning}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/provisioning/conftest.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/provisioning/test_bundle_id_capabilities.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/provisioning/test_bundle_ids.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/provisioning/test_devices.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/provisioning/test_profiles.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/provisioning/test_signing_certificates.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/resource_manager_test_base.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/test_api_client.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/test_api_session.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/test_json_web_token_manager.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/test_resource_manager.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/apple/resources → codemagic_cli_tools-0.51.0/tests/apple/app_store_connect/testflight}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/testflight/test_beta_groups.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/apple/resources/enums → codemagic_cli_tools-0.51.0/tests/apple/app_store_connect/versioning}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/versioning/test_app_store_version_localizations.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/versioning/test_app_store_version_submissions.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/versioning/test_app_store_versions.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/versioning/test_beta_app_review_submissions.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/versioning/test_beta_build_localizations.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/versioning/test_pre_release_versions.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/versioning/test_review_submission_items.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/app_store_connect/versioning/test_review_submissions.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/cli → codemagic_cli_tools-0.51.0/tests/apple/resources}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/cli/argument → codemagic_cli_tools-0.51.0/tests/apple/resources/enums}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/enums/test_capability_type.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/enums/test_certificate_type.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/enums/test_profile_type.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/mocks/app_store_version.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/mocks/bundle_id.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/mocks/bundle_id_capability.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/mocks/certificate.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/mocks/device.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/mocks/error_response.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/mocks/error_response_entity_state_invalid.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/mocks/error_response_with_links.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/mocks/mock_resource.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/mocks/pre_release_version.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/mocks/profile.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/test_app_store_version_resource.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/test_build_resource.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/test_bundle_id_capability_resource.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/test_bundle_id_resource.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/test_device_resource.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/test_error_response.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/test_pre_release_version_resource.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/test_profile_resource.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/test_resource.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/test_signing_certificate_resource.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/apple/resources/test_undefined_resource_fields.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/cli/argument/common_argument_types → codemagic_cli_tools-0.51.0/tests/cli}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/google → codemagic_cli_tools-0.51.0/tests/cli/argument}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/google_play → codemagic_cli_tools-0.51.0/tests/cli/argument/common_argument_types}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/cli/argument/common_argument_types/test_bounded_number.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/cli/argument/common_argument_types/test_iso_8601_datetime.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/cli/argument/common_argument_types/test_maybe_dir.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/cli/argument/test_argument.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/cli/mocks/utf-8-sample.txt +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/cli/test_cli_process.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/cli/test_decorators.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/conftest.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/google_play/resources → codemagic_cli_tools-0.51.0/tests/google}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/google/conftest.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/google/test_firebase_client.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/google/test_live_firebase_client.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/mixins → codemagic_cli_tools-0.51.0/tests/google_play}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/models → codemagic_cli_tools-0.51.0/tests/google_play/resources}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/google_play/resources/conftest.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/google_play/resources/mocks/edit.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/google_play/resources/mocks/track.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/google_play/resources/test_edit_resource.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/google_play/resources/test_resource_print.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/google_play/resources/test_track_resource.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/google_play/test_api_client.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/models/altool → codemagic_cli_tools-0.51.0/tests/mixins}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/mixins/test_string_converter.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/mocks/certificate.asn1 +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/mocks/encrypted.pem +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/mocks/encrypted.pem.pub +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/mocks/unencrypted.pem +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/mocks/unencrypted.pem.pub +0 -0
- {codemagic_cli_tools-0.50.7/tests/models/enums → codemagic_cli_tools-0.51.0/tests/models}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/models/junit → codemagic_cli_tools-0.51.0/tests/models/altool}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/altool/mocks/mock_failure_auth.txt +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/altool/mocks/mock_failure_other.txt +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/altool/mocks/mock_upload_success.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/altool/mocks/mock_validation_failure.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/altool/test_altool_result.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/altool/test_altool_retrying.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/conftest.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/models/simulator → codemagic_cli_tools-0.51.0/tests/models/enums}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/enums/test_resource_enum.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/models/xctests → codemagic_cli_tools-0.51.0/tests/models/junit}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/junit/mocks/testsuite.xml +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/junit/test_xml_generation.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/mocks/certificate-no-password.p12 +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/mocks/certificate.p12 +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/mocks/codemagic_io_wildcard_development.mobileprovision +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/mocks/export_options.plist +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/mocks/mock.ipa +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/mocks/mock.xcarchive/Products/Applications/Capybara App.app/Capybara App +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/mocks/mock_0_icloud_container_environments.plist +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/mocks/mock_1_icloud_container_environments.plist +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/mocks/mock_2_icloud_container_environments.plist +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/mocks/mock_openssh_private_key +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/mocks/mock_rsa_private_key +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/mocks/mock_xcode/Contents/version.plist +0 -0
- {codemagic_cli_tools-0.50.7/tests/shell_tools → codemagic_cli_tools-0.51.0/tests/models/simulator}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/simulator/mocks/devices.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/simulator/mocks/simulator.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/simulator/test_runtime.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/simulator/test_simulator.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/test_certificate.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/test_certificate_attributes.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/test_code_sign_entitlements.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/test_export_options.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/test_private_key.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/test_provisioning_profile.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/test_table.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/test_xcode.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/shell_tools/keytool → codemagic_cli_tools-0.51.0/tests/models/xctests}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/xctests/conftest.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/xctests/mocks/0_1NtPgUPcB1A83X977l5Q91ElstUeVDnqAhumk_VJG8DIS4GA1sb8ElPPHZZGYEHmNvnHU1VVaPDCw1tI8n3uXg__.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/xctests/mocks/0_5rAUs3HknUI7DU8Jyc5RlFcosqCXTOV-qwOaOE1Mul_ppK8QCta-NSxxCdtVg6i12km4zTR5l0SjgzfHGUNxog__.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/xctests/mocks/0_97T9qQZ3dEI1oDS6NvYTPcFk_jUXFJ0NRwyd5FZ2S585JGMtlqbF28Hc85yeifgKEnNoInoW93Za9c5QJCspeQ__.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/xctests/mocks/0_DVcJZnHFaQQlzl8czovv7RuDRQIToEr5_3lLe-Mn1Sm6VreJ5xoXEFqBaWNv0XRmSg00NJ77XzQKgddhfkuk7w__.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/xctests/mocks/0_FZMbIp5VAUEiJv1wUUM-K78Dtmb4o-titbTusDJqRuarbS9OatzAykygXo4NUqEoR9sxCIoeu8VDioQmbba6mw__.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/xctests/mocks/0_Hj6SOUxY1APmxdQEA2HdqbA52GD3WJE571nqr_Z-w8vi_buxP-GUjNxCsGYQvnKnnwlyykwxY-KJmjqKYmPyXQ__.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/xctests/mocks/0_NnCmQ8rMqVyUBgL3ZDjfjJ9Vt1AMGeMzZPkDH30rGMYer0pFDpp4UDZlCEHRImO-48LdC_KdcbjP70IZA6zKUQ__.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/xctests/mocks/0_YK9aPHVT-grv_ZVooRT79GBO9n82BNogkuWVzFO6itJEtbtsRTQpK2-0ZDLot1JpCfPb26aZwEZjeb9G4GHiBQ__.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/xctests/mocks/0__H1_RrdBT9b-ZhkWCQiRKpHlwURmyWUudeOhj5UslLXhXl8mr9w5CGqdobi9A5wCVEIRMsO4yuFyzx2gMPr-_Q__.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/xctests/mocks/0_evvkuGf92MVrmIvhr07911LuRTiPBKDjIQ0q_7L-mPGGYkWVKMBPQ5pB5lbjoaOnvr0fpC9k003EunfwSdss2g__.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/xctests/mocks/actions_invocation_record.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/xctests/test_collector.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/xctests/test_converter.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/models/xctests/test_xcresult.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/tools → codemagic_cli_tools-0.51.0/tests/shell_tools}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/tools/app_store_connect → codemagic_cli_tools-0.51.0/tests/shell_tools/keytool}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/shell_tools/keytool/conftest.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/shell_tools/keytool/mocks/android.ks +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/shell_tools/keytool/mocks/non-rfc-cert-keystore.jks +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/shell_tools/keytool/mocks/non-rfc-cert-keystore.p12 +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/shell_tools/keytool/mocks/rfc-cert-keystore.jks +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/shell_tools/keytool/mocks/rfc-cert-keystore.p12 +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/shell_tools/keytool/test_get_certificate.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/shell_tools/keytool/test_get_certificates.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/shell_tools/keytool/test_validate.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/tools/app_store_connect/arguments → codemagic_cli_tools-0.51.0/tests/tools}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/utilities → codemagic_cli_tools-0.51.0/tests/tools/app_store_connect}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7/tests/utilities/decorators → codemagic_cli_tools-0.51.0/tests/tools/app_store_connect/action_groups}/__init__.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/tools/app_store_connect/arguments/test_beta_build_localizations.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/tools/app_store_connect/mocks/AuthKeyMock.p8 +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/tools/app_store_connect/test_from_cli_args.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/tools/mocks/firebase_releases.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/tools/mocks/google_play_tracks.json +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/tools/test_android_app_bundle.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/tools/test_firebase_app_distribution.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/tools/test_google_play.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/tools/test_keychain.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/tools/test_universal_apk_generator.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/utilities/decorators/test_deprecated.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/utilities/test_backwards_file_reader.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/utilities/test_case_conversion.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/utilities/test_levenshtein_distance.py +0 -0
- {codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/tests/utilities/test_versions.py +0 -0
|
@@ -8,6 +8,7 @@ from urllib import parse
|
|
|
8
8
|
from codemagic.utilities import log
|
|
9
9
|
|
|
10
10
|
from .api_session import AppStoreConnectApiSession
|
|
11
|
+
from .app_store_publishing import AppStoreVersionPhasedReleases
|
|
11
12
|
from .apps import Apps
|
|
12
13
|
from .builds import Builds
|
|
13
14
|
from .json_web_token_manager import JsonWebTokenManager
|
|
@@ -124,6 +125,10 @@ class AppStoreConnectApiClient:
|
|
|
124
125
|
def app_store_version_localizations(self) -> AppStoreVersionLocalizations:
|
|
125
126
|
return AppStoreVersionLocalizations(self)
|
|
126
127
|
|
|
128
|
+
@property
|
|
129
|
+
def app_store_version_phased_releases(self) -> AppStoreVersionPhasedReleases:
|
|
130
|
+
return AppStoreVersionPhasedReleases(self)
|
|
131
|
+
|
|
127
132
|
@property
|
|
128
133
|
def app_store_version_submissions(self) -> AppStoreVersionSubmissions:
|
|
129
134
|
return AppStoreVersionSubmissions(self)
|
codemagic_cli_tools-0.51.0/src/codemagic/apple/app_store_connect/app_store_publishing/__init__.py
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .app_store_version_phased_releases import AppStoreVersionPhasedReleases
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
from typing import Type
|
|
3
|
+
from typing import Union
|
|
4
|
+
|
|
5
|
+
from codemagic.apple.app_store_connect.resource_manager import ResourceManager
|
|
6
|
+
from codemagic.apple.resources import AppStoreVersionPhasedRelease
|
|
7
|
+
from codemagic.apple.resources import LinkedResourceData
|
|
8
|
+
from codemagic.apple.resources import PhasedReleaseState
|
|
9
|
+
from codemagic.apple.resources import ResourceId
|
|
10
|
+
from codemagic.apple.resources import ResourceType
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class AppStoreVersionPhasedReleases(ResourceManager[AppStoreVersionPhasedRelease]):
|
|
14
|
+
"""
|
|
15
|
+
App Store Version Phased Releases
|
|
16
|
+
https://developer.apple.com/documentation/appstoreconnectapi/app_store/app_store_version_phased_releases
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
@property
|
|
20
|
+
def resource_type(self) -> Type[AppStoreVersionPhasedRelease]:
|
|
21
|
+
return AppStoreVersionPhasedRelease
|
|
22
|
+
|
|
23
|
+
def create(
|
|
24
|
+
self,
|
|
25
|
+
app_store_version: Union[ResourceId, LinkedResourceData],
|
|
26
|
+
phased_release_state: Optional[PhasedReleaseState] = None,
|
|
27
|
+
) -> AppStoreVersionPhasedRelease:
|
|
28
|
+
"""
|
|
29
|
+
https://developer.apple.com/documentation/appstoreconnectapi/create_an_app_store_version_phased_release
|
|
30
|
+
"""
|
|
31
|
+
if phased_release_state:
|
|
32
|
+
attributes = {
|
|
33
|
+
"phasedReleaseState": phased_release_state.value,
|
|
34
|
+
}
|
|
35
|
+
else:
|
|
36
|
+
attributes = None
|
|
37
|
+
|
|
38
|
+
relationships = {
|
|
39
|
+
"appStoreVersion": {
|
|
40
|
+
"data": self._get_attribute_data(app_store_version, ResourceType.APP_STORE_VERSIONS),
|
|
41
|
+
},
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
payload = self._get_create_payload(
|
|
45
|
+
ResourceType.APP_STORE_VERSION_PHASED_RELEASES,
|
|
46
|
+
attributes=attributes,
|
|
47
|
+
relationships=relationships,
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
response = self.client.session.post(
|
|
51
|
+
f"{self.client.API_URL}/appStoreVersionPhasedReleases",
|
|
52
|
+
json=payload,
|
|
53
|
+
).json()
|
|
54
|
+
return AppStoreVersionPhasedRelease(response["data"], created=True)
|
|
55
|
+
|
|
56
|
+
def modify(
|
|
57
|
+
self,
|
|
58
|
+
app_store_version_phased_release: Union[LinkedResourceData, ResourceId],
|
|
59
|
+
*,
|
|
60
|
+
phased_release_state: PhasedReleaseState,
|
|
61
|
+
) -> AppStoreVersionPhasedRelease:
|
|
62
|
+
"""
|
|
63
|
+
https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app_store_version_phased_release
|
|
64
|
+
"""
|
|
65
|
+
app_store_version_phased_release_id = self._get_resource_id(app_store_version_phased_release)
|
|
66
|
+
|
|
67
|
+
attributes = {
|
|
68
|
+
"phasedReleaseState": phased_release_state.value,
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
payload = self._get_update_payload(
|
|
72
|
+
app_store_version_phased_release_id,
|
|
73
|
+
ResourceType.APP_STORE_VERSION_PHASED_RELEASES,
|
|
74
|
+
attributes=attributes,
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
response = self.client.session.patch(
|
|
78
|
+
f"{self.client.API_URL}/appStoreVersionPhasedReleases/{app_store_version_phased_release_id}",
|
|
79
|
+
json=payload,
|
|
80
|
+
).json()
|
|
81
|
+
return AppStoreVersionPhasedRelease(response["data"])
|
|
82
|
+
|
|
83
|
+
def delete(self, app_store_version_phased_release: Union[LinkedResourceData, ResourceId]) -> None:
|
|
84
|
+
"""
|
|
85
|
+
https://developer.apple.com/documentation/appstoreconnectapi/delete_an_app_store_version_phased_release
|
|
86
|
+
"""
|
|
87
|
+
app_store_version_phased_release_id = self._get_resource_id(app_store_version_phased_release)
|
|
88
|
+
|
|
89
|
+
self.client.session.delete(
|
|
90
|
+
f"{self.client.API_URL}/appStoreVersionPhasedReleases/{app_store_version_phased_release_id}",
|
|
91
|
+
)
|
|
@@ -7,6 +7,7 @@ from typing import TYPE_CHECKING
|
|
|
7
7
|
from typing import Any
|
|
8
8
|
from typing import Dict
|
|
9
9
|
from typing import Generic
|
|
10
|
+
from typing import List
|
|
10
11
|
from typing import Optional
|
|
11
12
|
from typing import Sequence
|
|
12
13
|
from typing import Type
|
|
@@ -16,14 +17,61 @@ from typing import Union
|
|
|
16
17
|
from codemagic.apple.resources import LinkedResourceData
|
|
17
18
|
from codemagic.apple.resources import Resource
|
|
18
19
|
from codemagic.apple.resources import ResourceId
|
|
20
|
+
from codemagic.apple.resources import ResourceReference
|
|
19
21
|
from codemagic.apple.resources import ResourceType
|
|
20
22
|
from codemagic.utilities import case_conversion
|
|
21
23
|
|
|
24
|
+
R = TypeVar("R", bound=Resource)
|
|
25
|
+
R_co = TypeVar("R_co", bound=Resource, covariant=True)
|
|
26
|
+
R2 = TypeVar("R2", bound=Resource)
|
|
27
|
+
|
|
22
28
|
if TYPE_CHECKING:
|
|
29
|
+
from typing_extensions import Protocol
|
|
30
|
+
|
|
23
31
|
from codemagic.apple import AppStoreConnectApiClient
|
|
24
32
|
|
|
25
|
-
|
|
26
|
-
|
|
33
|
+
class PResourceManager(Protocol[R_co]):
|
|
34
|
+
@property
|
|
35
|
+
def resource_type(self) -> Type[R_co]:
|
|
36
|
+
...
|
|
37
|
+
|
|
38
|
+
class CreatingResourceManager(PResourceManager[R_co], Protocol):
|
|
39
|
+
def create(self, **create_params) -> R_co:
|
|
40
|
+
...
|
|
41
|
+
|
|
42
|
+
class ReadingResourceManager(PResourceManager[R_co], Protocol):
|
|
43
|
+
def read(self, ref: ResourceReference) -> R_co:
|
|
44
|
+
...
|
|
45
|
+
|
|
46
|
+
class ListingResourceManager(PResourceManager[R], Protocol):
|
|
47
|
+
def list(self, *, resource_filter: ResourceManager.Filter, **listing_options) -> List[R]:
|
|
48
|
+
...
|
|
49
|
+
|
|
50
|
+
class DeletingResourceManager(PResourceManager[R_co], Protocol):
|
|
51
|
+
def delete(self, ref: ResourceReference) -> None:
|
|
52
|
+
...
|
|
53
|
+
|
|
54
|
+
class ModifyingResourceManager(PResourceManager[R_co], Protocol):
|
|
55
|
+
def modify(self, ref: ResourceReference, **update_params) -> R_co:
|
|
56
|
+
...
|
|
57
|
+
|
|
58
|
+
else:
|
|
59
|
+
# TODO: Once Python 3.7 support is removed and we have Protocols
|
|
60
|
+
# available in runtime, then those can be removed.
|
|
61
|
+
class CreatingResourceManager(Generic[R]):
|
|
62
|
+
...
|
|
63
|
+
|
|
64
|
+
class ReadingResourceManager(Generic[R]):
|
|
65
|
+
...
|
|
66
|
+
|
|
67
|
+
class ListingResourceManager(Generic[R]):
|
|
68
|
+
...
|
|
69
|
+
|
|
70
|
+
class DeletingResourceManager(Generic[R]):
|
|
71
|
+
...
|
|
72
|
+
|
|
73
|
+
class ModifyingResourceManager(Generic[R]):
|
|
74
|
+
...
|
|
27
75
|
|
|
28
76
|
|
|
29
77
|
class ResourceManager(Generic[R], metaclass=abc.ABCMeta):
|
|
@@ -12,6 +12,7 @@ from codemagic.apple.resources import App
|
|
|
12
12
|
from codemagic.apple.resources import AppStoreState
|
|
13
13
|
from codemagic.apple.resources import AppStoreVersion
|
|
14
14
|
from codemagic.apple.resources import AppStoreVersionLocalization
|
|
15
|
+
from codemagic.apple.resources import AppStoreVersionPhasedRelease
|
|
15
16
|
from codemagic.apple.resources import AppStoreVersionSubmission
|
|
16
17
|
from codemagic.apple.resources import Build
|
|
17
18
|
from codemagic.apple.resources import LinkedResourceData
|
|
@@ -115,6 +116,29 @@ class AppStoreVersions(ResourceManager[AppStoreVersion]):
|
|
|
115
116
|
return None
|
|
116
117
|
return Build(build_data)
|
|
117
118
|
|
|
119
|
+
def read_app_store_version_phased_release_data(
|
|
120
|
+
self,
|
|
121
|
+
app_store_version: Union[AppStoreVersion, ResourceId],
|
|
122
|
+
fields: Sequence[str] = tuple(),
|
|
123
|
+
) -> Optional[dict]:
|
|
124
|
+
"""
|
|
125
|
+
https://developer.apple.com/documentation/appstoreconnectapi/read_the_app_store_version_phased_release_information_of_an_app_store_version
|
|
126
|
+
"""
|
|
127
|
+
app_store_version_id = self._get_resource_id(app_store_version)
|
|
128
|
+
url = f"{self.client.API_URL}/appStoreVersions/{app_store_version_id}/appStoreVersionPhasedRelease"
|
|
129
|
+
params = {"fields[appStoreVersionPhasedReleases]": ",".join(fields)} if fields else {}
|
|
130
|
+
response = self.client.session.get(url, params=params).json()
|
|
131
|
+
return response["data"]
|
|
132
|
+
|
|
133
|
+
def read_app_store_version_phased_release(
|
|
134
|
+
self,
|
|
135
|
+
app_store_version: Union[AppStoreVersion, ResourceId],
|
|
136
|
+
) -> Optional[AppStoreVersionPhasedRelease]:
|
|
137
|
+
app_store_version_phased_release_data = self.read_app_store_version_phased_release_data(app_store_version)
|
|
138
|
+
if app_store_version_phased_release_data is None:
|
|
139
|
+
return None
|
|
140
|
+
return AppStoreVersionPhasedRelease(app_store_version_phased_release_data)
|
|
141
|
+
|
|
118
142
|
def read_app_store_version_submission(
|
|
119
143
|
self,
|
|
120
144
|
app_store_version: Union[AppStoreVersion, ResourceId],
|
{codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/__init__.py
RENAMED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from .app import App
|
|
2
2
|
from .app_store_version import AppStoreVersion
|
|
3
3
|
from .app_store_version_localization import AppStoreVersionLocalization
|
|
4
|
+
from .app_store_version_phased_release import AppStoreVersionPhasedRelease
|
|
4
5
|
from .app_store_version_submission import AppStoreVersionSubmission
|
|
5
6
|
from .beta_app_localization import BetaAppLocalization
|
|
6
7
|
from .beta_app_review_detail import BetaAppReviewDetail
|
|
@@ -16,6 +17,7 @@ from .bundle_id_capability import CapabilitySetting
|
|
|
16
17
|
from .device import Device
|
|
17
18
|
from .enums import AppStoreState
|
|
18
19
|
from .enums import BetaReviewState
|
|
20
|
+
from .enums import BuildAudienceType
|
|
19
21
|
from .enums import BuildProcessingState
|
|
20
22
|
from .enums import BundleIdPlatform
|
|
21
23
|
from .enums import CapabilityOptionKey
|
|
@@ -29,6 +31,7 @@ from .enums import DeviceStatus
|
|
|
29
31
|
from .enums import ExternalBetaState
|
|
30
32
|
from .enums import InternalBetaState
|
|
31
33
|
from .enums import Locale
|
|
34
|
+
from .enums import PhasedReleaseState
|
|
32
35
|
from .enums import Platform
|
|
33
36
|
from .enums import ProfileState
|
|
34
37
|
from .enums import ProfileType
|
|
@@ -36,12 +39,14 @@ from .enums import ReleaseType
|
|
|
36
39
|
from .enums import ResourceType
|
|
37
40
|
from .enums import ReviewSubmissionItemState
|
|
38
41
|
from .enums import ReviewSubmissionState
|
|
42
|
+
from .enums import SubscriptionStatusUrlVersion
|
|
39
43
|
from .error_response import ErrorResponse
|
|
40
44
|
from .pre_release_version import PreReleaseVersion
|
|
41
45
|
from .profile import Profile
|
|
42
46
|
from .resource import LinkedResourceData
|
|
43
47
|
from .resource import Resource
|
|
44
48
|
from .resource import ResourceId
|
|
49
|
+
from .resource import ResourceReference
|
|
45
50
|
from .review_submission import ReviewSubmission
|
|
46
51
|
from .review_submission_item import ReviewSubmissionItem
|
|
47
52
|
from .signing_certificate import SigningCertificate
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from dataclasses import dataclass
|
|
4
|
+
from typing import Optional
|
|
5
|
+
|
|
6
|
+
from .enums import ContentRightsDeclaration
|
|
7
|
+
from .enums import Locale
|
|
8
|
+
from .enums import SubscriptionStatusUrlVersion
|
|
9
|
+
from .resource import Relationship
|
|
10
|
+
from .resource import Resource
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class App(Resource):
|
|
14
|
+
"""
|
|
15
|
+
https://developer.apple.com/documentation/appstoreconnectapi/app
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
attributes: Attributes
|
|
19
|
+
relationships: Optional[Relationships] = None
|
|
20
|
+
|
|
21
|
+
@dataclass
|
|
22
|
+
class Attributes(Resource.Attributes):
|
|
23
|
+
bundleId: str
|
|
24
|
+
name: str
|
|
25
|
+
primaryLocale: Locale
|
|
26
|
+
sku: str
|
|
27
|
+
contentRightsDeclaration: ContentRightsDeclaration
|
|
28
|
+
isOrEverWasMadeForKids: bool
|
|
29
|
+
|
|
30
|
+
subscriptionStatusUrl: Optional[str] = None
|
|
31
|
+
subscriptionStatusUrlForSandbox: Optional[str] = None
|
|
32
|
+
subscriptionStatusUrlVersion: Optional[SubscriptionStatusUrlVersion] = None
|
|
33
|
+
subscriptionStatusUrlVersionForSandbox: Optional[SubscriptionStatusUrlVersion] = None
|
|
34
|
+
|
|
35
|
+
def __post_init__(self):
|
|
36
|
+
if isinstance(self.contentRightsDeclaration, str):
|
|
37
|
+
self.contentRightsDeclaration = ContentRightsDeclaration(self.contentRightsDeclaration)
|
|
38
|
+
if isinstance(self.primaryLocale, str):
|
|
39
|
+
self.primaryLocale = Locale(self.primaryLocale)
|
|
40
|
+
if isinstance(self.subscriptionStatusUrlVersion, str):
|
|
41
|
+
self.subscriptionStatusUrlVersion = SubscriptionStatusUrlVersion(self.subscriptionStatusUrlVersion)
|
|
42
|
+
if isinstance(self.subscriptionStatusUrlVersionForSandbox, str):
|
|
43
|
+
self.subscriptionStatusUrlVersionForSandbox = SubscriptionStatusUrlVersion(
|
|
44
|
+
self.subscriptionStatusUrlVersionForSandbox,
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
@dataclass
|
|
48
|
+
class Relationships(Resource.Relationships):
|
|
49
|
+
_OMIT_IF_NONE_KEYS = (
|
|
50
|
+
"alternativeDistributionKey",
|
|
51
|
+
"analyticsReportRequests",
|
|
52
|
+
"appAvailability",
|
|
53
|
+
"appAvailabilityV2",
|
|
54
|
+
"appClips",
|
|
55
|
+
"appCustomProductPages",
|
|
56
|
+
"appEvents",
|
|
57
|
+
"appPricePoints",
|
|
58
|
+
"appPriceSchedule",
|
|
59
|
+
"appStoreVersionExperimentsV2",
|
|
60
|
+
"betaTesters",
|
|
61
|
+
"ciProduct",
|
|
62
|
+
"customerReviews",
|
|
63
|
+
"gameCenterDetail",
|
|
64
|
+
"inAppPurchasesV2",
|
|
65
|
+
"marketplaceSearchDetail",
|
|
66
|
+
"perfPowerMetrics",
|
|
67
|
+
"pricePoints",
|
|
68
|
+
"promotedPurchases",
|
|
69
|
+
"reviewSubmissions",
|
|
70
|
+
"subscriptionGracePeriod",
|
|
71
|
+
"subscriptionGroups",
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
appInfos: Relationship
|
|
75
|
+
appStoreVersions: Relationship
|
|
76
|
+
betaAppLocalizations: Relationship
|
|
77
|
+
betaAppReviewDetail: Relationship
|
|
78
|
+
betaGroups: Relationship
|
|
79
|
+
betaLicenseAgreement: Relationship
|
|
80
|
+
builds: Relationship
|
|
81
|
+
endUserLicenseAgreement: Relationship
|
|
82
|
+
gameCenterEnabledVersions: Relationship
|
|
83
|
+
inAppPurchases: Relationship
|
|
84
|
+
preOrder: Relationship
|
|
85
|
+
preReleaseVersions: Relationship
|
|
86
|
+
|
|
87
|
+
alternativeDistributionKey: Optional[Relationship] = None
|
|
88
|
+
analyticsReportRequests: Optional[Relationship] = None
|
|
89
|
+
appAvailability: Optional[Relationship] = None
|
|
90
|
+
appAvailabilityV2: Optional[Relationship] = None
|
|
91
|
+
appClips: Optional[Relationship] = None
|
|
92
|
+
appCustomProductPages: Optional[Relationship] = None
|
|
93
|
+
appEvents: Optional[Relationship] = None
|
|
94
|
+
appPricePoints: Optional[Relationship] = None
|
|
95
|
+
appPriceSchedule: Optional[Relationship] = None
|
|
96
|
+
appStoreVersionExperimentsV2: Optional[Relationship] = None
|
|
97
|
+
betaTesters: Optional[Relationship] = None
|
|
98
|
+
ciProduct: Optional[Relationship] = None
|
|
99
|
+
customerReviews: Optional[Relationship] = None
|
|
100
|
+
gameCenterDetail: Optional[Relationship] = None
|
|
101
|
+
inAppPurchasesV2: Optional[Relationship] = None
|
|
102
|
+
marketplaceSearchDetail: Optional[Relationship] = None
|
|
103
|
+
perfPowerMetrics: Optional[Relationship] = None
|
|
104
|
+
pricePoints: Optional[Relationship] = None
|
|
105
|
+
promotedPurchases: Optional[Relationship] = None
|
|
106
|
+
reviewSubmissions: Optional[Relationship] = None
|
|
107
|
+
subscriptionGracePeriod: Optional[Relationship] = None
|
|
108
|
+
subscriptionGroups: Optional[Relationship] = None
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from dataclasses import dataclass
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing import Optional
|
|
6
|
+
|
|
7
|
+
from .enums import PhasedReleaseState
|
|
8
|
+
from .resource import Resource
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class AppStoreVersionPhasedRelease(Resource):
|
|
12
|
+
"""
|
|
13
|
+
https://developer.apple.com/documentation/appstoreconnectapi/appstoreversionphasedrelease
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
attributes: Resource.Attributes
|
|
17
|
+
relationships: Optional[Relationships] = None
|
|
18
|
+
|
|
19
|
+
@dataclass
|
|
20
|
+
class Attributes(Resource.Attributes):
|
|
21
|
+
currentDayNumber: int
|
|
22
|
+
phasedReleaseState: PhasedReleaseState
|
|
23
|
+
startDate: datetime
|
|
24
|
+
totalPauseDuration: int
|
|
25
|
+
|
|
26
|
+
def __post_init__(self):
|
|
27
|
+
if isinstance(self.phasedReleaseState, str):
|
|
28
|
+
self.phasedReleaseState = PhasedReleaseState(self.phasedReleaseState)
|
|
29
|
+
if isinstance(self.startDate, str):
|
|
30
|
+
self.startDate = Resource.from_iso_8601(self.startDate)
|
|
31
|
+
|
|
32
|
+
@dataclass
|
|
33
|
+
class Relationships(Resource.Relationships):
|
|
34
|
+
pass
|
{codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/build.py
RENAMED
|
@@ -4,6 +4,7 @@ from dataclasses import dataclass
|
|
|
4
4
|
from datetime import datetime
|
|
5
5
|
from typing import Optional
|
|
6
6
|
|
|
7
|
+
from .enums import BuildAudienceType
|
|
7
8
|
from .enums import BuildProcessingState
|
|
8
9
|
from .resource import DictSerializable
|
|
9
10
|
from .resource import Relationship
|
|
@@ -55,8 +56,15 @@ class Build(Resource):
|
|
|
55
56
|
usesNonExemptEncryption: bool
|
|
56
57
|
uploadedDate: datetime
|
|
57
58
|
expirationDate: datetime
|
|
59
|
+
buildAudienceType: BuildAudienceType
|
|
60
|
+
|
|
61
|
+
computedMinMacOsVersion: Optional[str] = None
|
|
62
|
+
lsMinimumSystemVersion: Optional[str] = None
|
|
63
|
+
computedMinVisionOsVersion: Optional[str] = None
|
|
58
64
|
|
|
59
65
|
def __post_init__(self):
|
|
66
|
+
if isinstance(self.buildAudienceType, str):
|
|
67
|
+
self.buildAudienceType = BuildAudienceType(self.buildAudienceType)
|
|
60
68
|
if isinstance(self.processingState, str):
|
|
61
69
|
self.processingState = BuildProcessingState(self.processingState)
|
|
62
70
|
if isinstance(self.uploadedDate, str):
|
{codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/enums.py
RENAMED
|
@@ -52,6 +52,15 @@ class BuildProcessingState(ResourceEnum):
|
|
|
52
52
|
VALID = "VALID"
|
|
53
53
|
|
|
54
54
|
|
|
55
|
+
class BuildAudienceType(ResourceEnum):
|
|
56
|
+
"""
|
|
57
|
+
https://developer.apple.com/documentation/appstoreconnectapi/buildaudiencetype
|
|
58
|
+
"""
|
|
59
|
+
|
|
60
|
+
INTERNAL_ONLY = "INTERNAL_ONLY"
|
|
61
|
+
APP_STORE_ELIGIBLE = "APP_STORE_ELIGIBLE"
|
|
62
|
+
|
|
63
|
+
|
|
55
64
|
class BundleIdPlatform(ResourceEnum):
|
|
56
65
|
IOS = "IOS"
|
|
57
66
|
MAC_OS = "MAC_OS"
|
|
@@ -251,6 +260,17 @@ class InternalBetaState(ResourceEnum):
|
|
|
251
260
|
READY_FOR_BETA_TESTING = "READY_FOR_BETA_TESTING"
|
|
252
261
|
|
|
253
262
|
|
|
263
|
+
class PhasedReleaseState(ResourceEnum):
|
|
264
|
+
"""
|
|
265
|
+
https://developer.apple.com/documentation/appstoreconnectapi/phasedreleasestate
|
|
266
|
+
"""
|
|
267
|
+
|
|
268
|
+
ACTIVE = "ACTIVE"
|
|
269
|
+
COMPLETE = "COMPLETE"
|
|
270
|
+
INACTIVE = "INACTIVE"
|
|
271
|
+
PAUSED = "PAUSED"
|
|
272
|
+
|
|
273
|
+
|
|
254
274
|
class Platform(ResourceEnum):
|
|
255
275
|
IOS = "IOS"
|
|
256
276
|
MAC_OS = "MAC_OS"
|
|
@@ -323,6 +343,7 @@ class ResourceType(ResourceEnum):
|
|
|
323
343
|
APP_STORE_VERSIONS = "appStoreVersions"
|
|
324
344
|
APP_STORE_VERSION_EXPERIMENTS = "appStoreVersionExperiments"
|
|
325
345
|
APP_STORE_VERSION_LOCALIZATIONS = "appStoreVersionLocalizations"
|
|
346
|
+
APP_STORE_VERSION_PHASED_RELEASES = "appStoreVersionPhasedReleases"
|
|
326
347
|
APP_STORE_VERSION_SUBMISSIONS = "appStoreVersionSubmissions"
|
|
327
348
|
BETA_APP_LOCALIZATIONS = "betaAppLocalizations"
|
|
328
349
|
BETA_APP_REVIEW_DETAILS = "betaAppReviewDetails"
|
|
@@ -392,3 +413,14 @@ class Locale(ResourceEnum):
|
|
|
392
413
|
VI = "vi"
|
|
393
414
|
ZH_HANS = "zh-Hans"
|
|
394
415
|
ZH_HANT = "zh-Hant"
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
class SubscriptionStatusUrlVersion(ResourceEnum):
|
|
419
|
+
"""
|
|
420
|
+
https://developer.apple.com/documentation/appstoreconnectapi/subscriptionstatusurlversion
|
|
421
|
+
"""
|
|
422
|
+
|
|
423
|
+
V1 = "V1"
|
|
424
|
+
V2 = "V2"
|
|
425
|
+
v1 = "v1"
|
|
426
|
+
v2 = "v2"
|
{codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/apple/resources/resource.py
RENAMED
|
@@ -16,6 +16,7 @@ from typing import Optional
|
|
|
16
16
|
from typing import Set
|
|
17
17
|
from typing import Tuple
|
|
18
18
|
from typing import Type
|
|
19
|
+
from typing import TypeVar
|
|
19
20
|
from typing import Union
|
|
20
21
|
from typing import overload
|
|
21
22
|
|
|
@@ -25,6 +26,9 @@ from codemagic.utilities import log
|
|
|
25
26
|
|
|
26
27
|
from .enums import ResourceType
|
|
27
28
|
|
|
29
|
+
LRD = TypeVar("LRD", bound="LinkedResourceData")
|
|
30
|
+
ResourceReference = Union["ResourceId", LRD]
|
|
31
|
+
|
|
28
32
|
|
|
29
33
|
class ResourceId(str):
|
|
30
34
|
pass
|
|
@@ -97,21 +101,21 @@ class PagingInformation(DictSerializable):
|
|
|
97
101
|
self.paging = PagingInformation.Paging(**self.paging)
|
|
98
102
|
|
|
99
103
|
|
|
104
|
+
@dataclass
|
|
100
105
|
class Links(DictSerializable):
|
|
101
106
|
_OMIT_IF_NONE_KEYS = ("self", "related")
|
|
102
107
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
_self.related = related
|
|
108
|
+
self: Optional[str] = None
|
|
109
|
+
related: Optional[str] = None
|
|
106
110
|
|
|
107
111
|
|
|
112
|
+
@dataclass
|
|
108
113
|
class ResourceLinks(DictSerializable):
|
|
109
114
|
"""
|
|
110
115
|
https://developer.apple.com/documentation/appstoreconnectapi/resourcelinks
|
|
111
116
|
"""
|
|
112
117
|
|
|
113
|
-
|
|
114
|
-
_self.self = self
|
|
118
|
+
self: str
|
|
115
119
|
|
|
116
120
|
|
|
117
121
|
@dataclass
|
|
@@ -207,9 +211,14 @@ class Resource(LinkedResourceData, metaclass=PrettyNameAbcMeta):
|
|
|
207
211
|
class Relationships(DictSerializable, GracefulDataclassMixin):
|
|
208
212
|
def __post_init__(self):
|
|
209
213
|
for field in self.__dict__:
|
|
210
|
-
|
|
211
|
-
if
|
|
212
|
-
|
|
214
|
+
current_value = getattr(self, field)
|
|
215
|
+
if current_value is None or isinstance(current_value, Relationship):
|
|
216
|
+
continue
|
|
217
|
+
|
|
218
|
+
# Relationships should have at least 'links' attribute.
|
|
219
|
+
# Set the value to none for empty relationships.
|
|
220
|
+
updated_value = Relationship(**current_value) if current_value else None
|
|
221
|
+
setattr(self, field, updated_value)
|
|
213
222
|
|
|
214
223
|
@classmethod
|
|
215
224
|
def _create_attributes(cls, api_response) -> Attributes:
|
|
@@ -220,6 +229,12 @@ class Resource(LinkedResourceData, metaclass=PrettyNameAbcMeta):
|
|
|
220
229
|
defined_fields = cls.Attributes.get_defined_fields(cls, api_response["attributes"])
|
|
221
230
|
return cls.Attributes(**defined_fields)
|
|
222
231
|
|
|
232
|
+
@classmethod
|
|
233
|
+
def get_id(cls, resource_reference: ResourceReference) -> ResourceId:
|
|
234
|
+
if isinstance(resource_reference, LinkedResourceData):
|
|
235
|
+
return resource_reference.id
|
|
236
|
+
return resource_reference
|
|
237
|
+
|
|
223
238
|
@classmethod
|
|
224
239
|
def _create_relationships(cls, api_response) -> Relationships:
|
|
225
240
|
if cls.Relationships is Resource.Relationships:
|
|
@@ -312,7 +327,8 @@ class Resource(LinkedResourceData, metaclass=PrettyNameAbcMeta):
|
|
|
312
327
|
type_prefix = self.type.value.rstrip("s")
|
|
313
328
|
name = re.sub(f"{type_prefix}s?", "", name)
|
|
314
329
|
name = re.sub(r"([a-z])([A-Z])", r"\1 \2", name)
|
|
315
|
-
|
|
330
|
+
name = name.lower().capitalize()
|
|
331
|
+
return re.sub("(i|vision|mac) os ", r"\1OS", name)
|
|
316
332
|
|
|
317
333
|
def _hide_attribute_value(self, attribute_name: str) -> bool:
|
|
318
334
|
if not hasattr(self.attributes, "__dataclass_fields__"):
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import abc
|
|
4
|
+
import logging
|
|
5
|
+
import pathlib
|
|
6
|
+
from typing import Iterator
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class PathFinderMixin(metaclass=abc.ABCMeta):
|
|
10
|
+
logger: logging.Logger
|
|
11
|
+
|
|
12
|
+
def glob(self, pattern: pathlib.Path) -> Iterator[pathlib.Path]:
|
|
13
|
+
if pattern.is_absolute():
|
|
14
|
+
self.logger.info(f"Searching for files matching {pattern}")
|
|
15
|
+
# absolute globs are not supported, match them as relative to root
|
|
16
|
+
relative_pattern = pattern.relative_to(pattern.anchor)
|
|
17
|
+
return pathlib.Path(pattern.anchor).glob(str(relative_pattern))
|
|
18
|
+
elif pattern == pathlib.Path("."):
|
|
19
|
+
self.logger.info(f"Searching for files matching {pattern.resolve()}")
|
|
20
|
+
# `Path('.').glob('.')` which this would essentially cause is erroneous.
|
|
21
|
+
# Return empty iterator as we cannot possibly find current directory from
|
|
22
|
+
# within the same directory.
|
|
23
|
+
return iter([])
|
|
24
|
+
else:
|
|
25
|
+
self.logger.info(f"Searching for files matching {pattern.resolve()}")
|
|
26
|
+
return pathlib.Path().glob(str(pattern))
|
|
27
|
+
|
|
28
|
+
def find_paths(self, *patterns: pathlib.Path) -> Iterator[pathlib.Path]:
|
|
29
|
+
for pattern in patterns:
|
|
30
|
+
yield from self.glob(pattern.expanduser())
|
{codemagic_cli_tools-0.50.7 → codemagic_cli_tools-0.51.0}/src/codemagic/models/altool/altool.py
RENAMED
|
@@ -8,6 +8,7 @@ import subprocess
|
|
|
8
8
|
import time
|
|
9
9
|
from contextlib import contextmanager
|
|
10
10
|
from functools import lru_cache
|
|
11
|
+
from itertools import chain
|
|
11
12
|
from typing import TYPE_CHECKING
|
|
12
13
|
from typing import AnyStr
|
|
13
14
|
from typing import Callable
|
|
@@ -296,11 +297,14 @@ class Altool(RunningCliAppMixin, StringConverterMixin):
|
|
|
296
297
|
|
|
297
298
|
@classmethod
|
|
298
299
|
def _get_action_result(cls, action_stdout: AnyStr) -> Optional[AltoolResult]:
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
300
|
+
# Try to parse the whole stdout at once first, and then do it backwards line by line
|
|
301
|
+
for line in chain([action_stdout], reversed(action_stdout.splitlines())):
|
|
302
|
+
try:
|
|
303
|
+
parsed_result = json.loads(line)
|
|
304
|
+
return AltoolResult.create(**parsed_result)
|
|
305
|
+
except (TypeError, ValueError):
|
|
306
|
+
continue
|
|
307
|
+
return None
|
|
304
308
|
|
|
305
309
|
@classmethod
|
|
306
310
|
def _log_process_output(cls, output: Optional[AnyStr], cli_app: Optional[CliApp]):
|