codemagic-cli-tools 0.53.2__tar.gz → 0.53.3__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.
Files changed (431) hide show
  1. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/PKG-INFO +1 -1
  2. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/pyproject.toml +8 -6
  3. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/__version__.py +1 -1
  4. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/__version__.py-e +1 -1
  5. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/enums.py +52 -0
  6. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/action_groups/certificates_action_group.py +15 -42
  7. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/actions/fetch_signing_files_action.py +2 -13
  8. codemagic_cli_tools-0.53.3/tests/apple/resources/enums/test_certificate_type.py +159 -0
  9. codemagic_cli_tools-0.53.2/tests/apple/resources/enums/test_certificate_type.py +0 -12
  10. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/LICENSE +0 -0
  11. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/README.md +0 -0
  12. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/__init__.py +0 -0
  13. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/__init__.py +0 -0
  14. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/__init__.py +0 -0
  15. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/api_client.py +0 -0
  16. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/api_error.py +0 -0
  17. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/api_session.py +0 -0
  18. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/app_store_publishing/__init__.py +0 -0
  19. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/app_store_publishing/app_store_version_phased_releases.py +0 -0
  20. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/apps/__init__.py +0 -0
  21. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/apps/apps.py +0 -0
  22. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/builds/__init__.py +0 -0
  23. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/builds/builds.py +0 -0
  24. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/json_web_token_manager.py +0 -0
  25. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/provisioning/__init__.py +0 -0
  26. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/provisioning/bundle_id_capabilities.py +0 -0
  27. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/provisioning/bundle_ids.py +0 -0
  28. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/provisioning/devices.py +0 -0
  29. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/provisioning/profiles.py +0 -0
  30. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/provisioning/signing_certificates.py +0 -0
  31. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/resource_manager.py +0 -0
  32. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/testflight/__init__.py +0 -0
  33. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/testflight/beta_groups.py +0 -0
  34. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/type_declarations.py +0 -0
  35. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/versioning/__init__.py +0 -0
  36. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/versioning/app_store_version_localizations.py +0 -0
  37. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/versioning/app_store_version_submissions.py +0 -0
  38. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/versioning/app_store_versions.py +0 -0
  39. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/versioning/beta_app_review_submissions.py +0 -0
  40. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/versioning/beta_build_localizations.py +0 -0
  41. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/versioning/pre_release_versions.py +0 -0
  42. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/versioning/review_submission_items.py +0 -0
  43. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/app_store_connect/versioning/review_submissions.py +0 -0
  44. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/__init__.py +0 -0
  45. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/app.py +0 -0
  46. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/app_store_version.py +0 -0
  47. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/app_store_version_localization.py +0 -0
  48. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/app_store_version_phased_release.py +0 -0
  49. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/app_store_version_submission.py +0 -0
  50. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/beta_app_localization.py +0 -0
  51. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/beta_app_review_detail.py +0 -0
  52. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/beta_app_review_submission.py +0 -0
  53. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/beta_build_localization.py +0 -0
  54. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/beta_group.py +0 -0
  55. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/build.py +0 -0
  56. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/build_beta_detail.py +0 -0
  57. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/bundle_id.py +0 -0
  58. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/bundle_id_capability.py +0 -0
  59. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/device.py +0 -0
  60. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/error_response.py +0 -0
  61. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/pre_release_version.py +0 -0
  62. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/profile.py +0 -0
  63. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/resource.py +0 -0
  64. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/review_submission.py +0 -0
  65. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/review_submission_item.py +0 -0
  66. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/apple/resources/signing_certificate.py +0 -0
  67. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/cli/__init__.py +0 -0
  68. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/cli/action.py +0 -0
  69. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/cli/action_group.py +0 -0
  70. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/cli/argument/__init__.py +0 -0
  71. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/cli/argument/action_callable.py +0 -0
  72. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/cli/argument/argument.py +0 -0
  73. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/cli/argument/argument_formatter.py +0 -0
  74. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/cli/argument/argument_parser_builder.py +0 -0
  75. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/cli/argument/argument_properties.py +0 -0
  76. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/cli/argument/common_argument_types.py +0 -0
  77. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/cli/argument/typed_cli_argument.py +0 -0
  78. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/cli/cli_app.py +0 -0
  79. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/cli/cli_help_formatter.py +0 -0
  80. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/cli/cli_process.py +0 -0
  81. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/cli/cli_process_stream.py +0 -0
  82. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/cli/cli_types.py +0 -0
  83. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/cli/colors.py +0 -0
  84. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/cli/environment.py +0 -0
  85. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/data/jars/bundletool-all-1.13.1.jar +0 -0
  86. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google/__init__.py +0 -0
  87. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google/errors.py +0 -0
  88. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google/firebase_client.py +0 -0
  89. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google/google_client.py +0 -0
  90. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google/resource_managers/__init__.py +0 -0
  91. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google/resource_managers/mixins/__init__.py +0 -0
  92. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google/resource_managers/mixins/acting_manager_mixin.py +0 -0
  93. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google/resource_managers/mixins/listing_manager_mixin.py +0 -0
  94. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google/resource_managers/release_manager.py +0 -0
  95. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google/resource_managers/resource_manager.py +0 -0
  96. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google/resources/__init__.py +0 -0
  97. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google/resources/identifiers/__init__.py +0 -0
  98. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google/resources/identifiers/app_identifier.py +0 -0
  99. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google/resources/identifiers/resource_identifier.py +0 -0
  100. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google/resources/release.py +0 -0
  101. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google/resources/release_notes.py +0 -0
  102. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google/resources/resource.py +0 -0
  103. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google_play/__init__.py +0 -0
  104. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google_play/api_client.py +0 -0
  105. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google_play/api_error.py +0 -0
  106. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google_play/resources/__init__.py +0 -0
  107. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google_play/resources/edit.py +0 -0
  108. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google_play/resources/enums.py +0 -0
  109. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google_play/resources/resource.py +0 -0
  110. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/google_play/resources/track.py +0 -0
  111. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/mixins/__init__.py +0 -0
  112. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/mixins/path_finder.py +0 -0
  113. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/mixins/running_cli_app.py +0 -0
  114. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/mixins/str_converter.py +0 -0
  115. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/__init__.py +0 -0
  116. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/altool/__init__.py +0 -0
  117. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/altool/altool.py +0 -0
  118. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/altool/altool_result.py +0 -0
  119. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/altool/enums.py +0 -0
  120. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/android_signing_info.py +0 -0
  121. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/application_package/__init__.py +0 -0
  122. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/application_package/abstract_package.py +0 -0
  123. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/application_package/ipa.py +0 -0
  124. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/application_package/macos_package.py +0 -0
  125. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/bundle_id_detector.py +0 -0
  126. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/certificate.py +0 -0
  127. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/certificate_attributes.py +0 -0
  128. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/certificate_p12_exporter.py +0 -0
  129. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/code_sign_entitlements.py +0 -0
  130. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/code_signing_settings_manager.py +0 -0
  131. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/enums.py +0 -0
  132. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/export_options.py +0 -0
  133. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/json_serializable.py +0 -0
  134. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/junit/__init__.py +0 -0
  135. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/junit/definitions.py +0 -0
  136. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/junit/printer.py +0 -0
  137. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/keystore.py +0 -0
  138. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/pbx_project.py +0 -0
  139. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/private_key.py +0 -0
  140. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/provisioning_profile.py +0 -0
  141. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/simulator/__init__.py +0 -0
  142. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/simulator/core_simulator_service.py +0 -0
  143. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/simulator/runtime.py +0 -0
  144. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/simulator/simulator.py +0 -0
  145. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/table/__init__.py +0 -0
  146. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/table/line.py +0 -0
  147. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/table/table.py +0 -0
  148. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/xcode.py +0 -0
  149. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/xcodebuild.py +0 -0
  150. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/xcpretty.py +0 -0
  151. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/xctests/__init__.py +0 -0
  152. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/xctests/collector.py +0 -0
  153. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/xctests/converter.py +0 -0
  154. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/xctests/xcresult.py +0 -0
  155. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/models/xctests/xcresulttool.py +0 -0
  156. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/py.typed +0 -0
  157. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/scripts/code_signing_manager.rb +0 -0
  158. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/shell_tools/__init__.py +0 -0
  159. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/shell_tools/abstract_shell_tool.py +0 -0
  160. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/shell_tools/keytool.py +0 -0
  161. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/__init__.py +0 -0
  162. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/_xcode_project/__init__.py +0 -0
  163. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/_xcode_project/arguments.py +0 -0
  164. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/android_app_bundle.py +0 -0
  165. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/android_keystore/__init__.py +0 -0
  166. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/android_keystore/__main__.py +0 -0
  167. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/android_keystore/android_keystore.py +0 -0
  168. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/android_keystore/argument_types.py +0 -0
  169. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/android_keystore/arguments.py +0 -0
  170. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/__init__.py +0 -0
  171. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/__main__.py +0 -0
  172. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/abstract_base_action.py +0 -0
  173. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/action_group.py +0 -0
  174. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/action_groups/__init__.py +0 -0
  175. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/action_groups/app_store_version_localizations_action_group.py +0 -0
  176. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/action_groups/app_store_version_phased_releases_action_group.py +0 -0
  177. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/action_groups/app_store_version_submissions_action_group.py +0 -0
  178. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/action_groups/app_store_versions_action_group.py +0 -0
  179. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/action_groups/apps_action_group.py +0 -0
  180. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/action_groups/beta_app_review_submissions_action_group.py +0 -0
  181. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/action_groups/beta_build_localizations_action_group.py +0 -0
  182. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/action_groups/beta_groups_action_group.py +0 -0
  183. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/action_groups/builds_action_group.py +0 -0
  184. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/action_groups/bundle_ids_action_group.py +0 -0
  185. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/action_groups/devices_action_group.py +0 -0
  186. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/action_groups/profiles_action_group.py +0 -0
  187. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/action_groups/review_submission_items_actions_group.py +0 -0
  188. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/action_groups/review_submissions_actions_group.py +0 -0
  189. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/actions/__init__.py +0 -0
  190. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/actions/latest_build_number_actions.py +0 -0
  191. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/actions/publish_action.py +0 -0
  192. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/actions/submit_to_app_store_action.py +0 -0
  193. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/actions/submit_to_testflight_action.py +0 -0
  194. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/app_store_connect.py +0 -0
  195. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/arguments.py +0 -0
  196. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/errors.py +0 -0
  197. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/mixins/__init__.py +0 -0
  198. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/mixins/resource_manager_mixin.py +0 -0
  199. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/mixins/signing_file_saver_mixin.py +0 -0
  200. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/app_store_connect/resource_printer.py +0 -0
  201. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/codemagic_cli_tools.py +0 -0
  202. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/firebase_app_distribution/__init__.py +0 -0
  203. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/firebase_app_distribution/__main__.py +0 -0
  204. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/firebase_app_distribution/action_groups/__init__.py +0 -0
  205. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/firebase_app_distribution/action_groups/firebase_action_groups.py +0 -0
  206. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/firebase_app_distribution/action_groups/releases_action_group.py +0 -0
  207. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/firebase_app_distribution/actions/__init__.py +0 -0
  208. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/firebase_app_distribution/actions/get_latest_build_version_action.py +0 -0
  209. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/firebase_app_distribution/argument_types.py +0 -0
  210. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/firebase_app_distribution/arguments.py +0 -0
  211. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/firebase_app_distribution/errors.py +0 -0
  212. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/firebase_app_distribution/firebase_app_distribution.py +0 -0
  213. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/firebase_app_distribution/firebase_app_distribution_action.py +0 -0
  214. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/firebase_app_distribution/resource_printer.py +0 -0
  215. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/git_changelog.py +0 -0
  216. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/google_play/__init__.py +0 -0
  217. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/google_play/__main__.py +0 -0
  218. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/google_play/action_groups/__init__.py +0 -0
  219. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/google_play/action_groups/google_play_action_groups.py +0 -0
  220. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/google_play/action_groups/tracks_action_group.py +0 -0
  221. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/google_play/actions/__init__.py +0 -0
  222. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/google_play/actions/get_latest_build_number_action.py +0 -0
  223. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/google_play/argument_types.py +0 -0
  224. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/google_play/arguments.py +0 -0
  225. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/google_play/errors.py +0 -0
  226. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/google_play/google_play.py +0 -0
  227. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/google_play/google_play_base_action.py +0 -0
  228. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/keychain.py +0 -0
  229. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/universal_apk_generator.py +0 -0
  230. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/tools/xcode_project.py +0 -0
  231. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/utilities/__init__.py +0 -0
  232. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/utilities/auditing/__init__.py +0 -0
  233. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/utilities/auditing/base_auditor.py +0 -0
  234. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/utilities/auditing/exception_auditor.py +0 -0
  235. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/utilities/auditing/http_request_auditor.py +0 -0
  236. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/utilities/backwards_file_reader.py +0 -0
  237. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/utilities/case_conversion.py +0 -0
  238. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/utilities/decorators.py +0 -0
  239. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/utilities/levenshtein_distance.py +0 -0
  240. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/utilities/log.py +0 -0
  241. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/src/codemagic/utilities/versions.py +0 -0
  242. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/__init__.py +0 -0
  243. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/__init__.py +0 -0
  244. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/__init__.py +0 -0
  245. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/app_store_publishing/__init__.py +0 -0
  246. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/app_store_publishing/test_app_store_version_phased_releases.py +0 -0
  247. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/apps/__init__.py +0 -0
  248. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/apps/test_apps.py +0 -0
  249. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/builds/__init__.py +0 -0
  250. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/builds/test_builds.py +0 -0
  251. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/provisioning/__init__.py +0 -0
  252. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/provisioning/conftest.py +0 -0
  253. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/provisioning/test_bundle_id_capabilities.py +0 -0
  254. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/provisioning/test_bundle_ids.py +0 -0
  255. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/provisioning/test_devices.py +0 -0
  256. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/provisioning/test_profiles.py +0 -0
  257. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/provisioning/test_signing_certificates.py +0 -0
  258. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/resource_manager_test_base.py +0 -0
  259. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/test_api_client.py +0 -0
  260. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/test_api_session.py +0 -0
  261. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/test_json_web_token_manager.py +0 -0
  262. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/test_resource_manager.py +0 -0
  263. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/testflight/__init__.py +0 -0
  264. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/testflight/test_beta_groups.py +0 -0
  265. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/versioning/__init__.py +0 -0
  266. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/versioning/test_app_store_version_localizations.py +0 -0
  267. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/versioning/test_app_store_version_submissions.py +0 -0
  268. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/versioning/test_app_store_versions.py +0 -0
  269. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/versioning/test_beta_app_review_submissions.py +0 -0
  270. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/versioning/test_beta_build_localizations.py +0 -0
  271. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/versioning/test_pre_release_versions.py +0 -0
  272. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/versioning/test_review_submission_items.py +0 -0
  273. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/app_store_connect/versioning/test_review_submissions.py +0 -0
  274. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/__init__.py +0 -0
  275. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/conftest.py +0 -0
  276. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/enums/__init__.py +0 -0
  277. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/enums/test_capability_type.py +0 -0
  278. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/enums/test_profile_type.py +0 -0
  279. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/mocks/app.json +0 -0
  280. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/mocks/app_store_version.json +0 -0
  281. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/mocks/app_store_version_phased_release.json +0 -0
  282. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/mocks/build.json +0 -0
  283. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/mocks/bundle_id.json +0 -0
  284. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/mocks/bundle_id_capability.json +0 -0
  285. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/mocks/certificate.json +0 -0
  286. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/mocks/device.json +0 -0
  287. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/mocks/error_response.json +0 -0
  288. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/mocks/error_response_entity_state_invalid.json +0 -0
  289. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/mocks/error_response_with_links.json +0 -0
  290. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/mocks/mock_resource.json +0 -0
  291. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/mocks/pre_release_version.json +0 -0
  292. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/mocks/profile.json +0 -0
  293. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/test_app_resource.py +0 -0
  294. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/test_app_store_version_phased_release_resource.py +0 -0
  295. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/test_app_store_version_resource.py +0 -0
  296. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/test_build_resource.py +0 -0
  297. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/test_bundle_id_capability_resource.py +0 -0
  298. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/test_bundle_id_resource.py +0 -0
  299. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/test_device_resource.py +0 -0
  300. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/test_error_response.py +0 -0
  301. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/test_pre_release_version_resource.py +0 -0
  302. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/test_profile_resource.py +0 -0
  303. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/test_resource.py +0 -0
  304. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/test_signing_certificate_resource.py +0 -0
  305. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/apple/resources/test_undefined_resource_fields.py +0 -0
  306. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/cli/__init__.py +0 -0
  307. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/cli/argument/__init__.py +0 -0
  308. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/cli/argument/common_argument_types/__init__.py +0 -0
  309. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/cli/argument/common_argument_types/test_bounded_number.py +0 -0
  310. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/cli/argument/common_argument_types/test_iso_8601_datetime.py +0 -0
  311. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/cli/argument/common_argument_types/test_maybe_dir.py +0 -0
  312. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/cli/argument/test_argument.py +0 -0
  313. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/cli/mocks/utf-8-sample.txt +0 -0
  314. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/cli/test_cli_process.py +0 -0
  315. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/cli/test_decorators.py +0 -0
  316. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/conftest.py +0 -0
  317. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/google/__init__.py +0 -0
  318. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/google/conftest.py +0 -0
  319. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/google/test_firebase_client.py +0 -0
  320. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/google/test_live_firebase_client.py +0 -0
  321. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/google_play/__init__.py +0 -0
  322. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/google_play/resources/__init__.py +0 -0
  323. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/google_play/resources/conftest.py +0 -0
  324. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/google_play/resources/mocks/edit.json +0 -0
  325. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/google_play/resources/mocks/track.json +0 -0
  326. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/google_play/resources/test_edit_resource.py +0 -0
  327. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/google_play/resources/test_resource_print.py +0 -0
  328. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/google_play/resources/test_track_resource.py +0 -0
  329. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/google_play/test_api_client.py +0 -0
  330. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/mixins/__init__.py +0 -0
  331. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/mixins/test_path_finder.py +0 -0
  332. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/mixins/test_string_converter.py +0 -0
  333. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/mocks/certificate.asn1 +0 -0
  334. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/mocks/encrypted.pem +0 -0
  335. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/mocks/encrypted.pem.pub +0 -0
  336. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/mocks/unencrypted.pem +0 -0
  337. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/mocks/unencrypted.pem.pub +0 -0
  338. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/__init__.py +0 -0
  339. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/altool/__init__.py +0 -0
  340. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/altool/mocks/mock_failure_auth.txt +0 -0
  341. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/altool/mocks/mock_failure_other.txt +0 -0
  342. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/altool/mocks/mock_upload_success.json +0 -0
  343. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/altool/mocks/mock_validation_failure.json +0 -0
  344. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/altool/test_altool_result.py +0 -0
  345. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/altool/test_altool_retrying.py +0 -0
  346. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/conftest.py +0 -0
  347. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/enums/__init__.py +0 -0
  348. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/enums/test_resource_enum.py +0 -0
  349. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/junit/__init__.py +0 -0
  350. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/junit/mocks/testsuite.xml +0 -0
  351. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/junit/test_xml_generation.py +0 -0
  352. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/mocks/certificate-no-password.p12 +0 -0
  353. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/mocks/certificate.p12 +0 -0
  354. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/mocks/codemagic_io_wildcard_development.mobileprovision +0 -0
  355. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/mocks/export_options.plist +0 -0
  356. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/mocks/mock.ipa +0 -0
  357. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/mocks/mock.xcarchive/Products/Applications/Capybara App.app/Capybara App +0 -0
  358. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/mocks/mock_0_icloud_container_environments.plist +0 -0
  359. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/mocks/mock_1_icloud_container_environments.plist +0 -0
  360. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/mocks/mock_2_icloud_container_environments.plist +0 -0
  361. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/mocks/mock_openssh_private_key +0 -0
  362. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/mocks/mock_rsa_private_key +0 -0
  363. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/mocks/mock_xcode/Contents/version.plist +0 -0
  364. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/simulator/__init__.py +0 -0
  365. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/simulator/mocks/devices.json +0 -0
  366. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/simulator/mocks/simulator.json +0 -0
  367. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/simulator/test_runtime.py +0 -0
  368. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/simulator/test_simulator.py +0 -0
  369. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/test_certificate.py +0 -0
  370. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/test_certificate_attributes.py +0 -0
  371. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/test_code_sign_entitlements.py +0 -0
  372. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/test_export_options.py +0 -0
  373. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/test_private_key.py +0 -0
  374. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/test_provisioning_profile.py +0 -0
  375. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/test_table.py +0 -0
  376. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/test_xcode.py +0 -0
  377. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/xctests/__init__.py +0 -0
  378. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/xctests/conftest.py +0 -0
  379. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/xctests/mocks/0_1NtPgUPcB1A83X977l5Q91ElstUeVDnqAhumk_VJG8DIS4GA1sb8ElPPHZZGYEHmNvnHU1VVaPDCw1tI8n3uXg__.json +0 -0
  380. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/xctests/mocks/0_5rAUs3HknUI7DU8Jyc5RlFcosqCXTOV-qwOaOE1Mul_ppK8QCta-NSxxCdtVg6i12km4zTR5l0SjgzfHGUNxog__.json +0 -0
  381. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/xctests/mocks/0_97T9qQZ3dEI1oDS6NvYTPcFk_jUXFJ0NRwyd5FZ2S585JGMtlqbF28Hc85yeifgKEnNoInoW93Za9c5QJCspeQ__.json +0 -0
  382. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/xctests/mocks/0_DVcJZnHFaQQlzl8czovv7RuDRQIToEr5_3lLe-Mn1Sm6VreJ5xoXEFqBaWNv0XRmSg00NJ77XzQKgddhfkuk7w__.json +0 -0
  383. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/xctests/mocks/0_FZMbIp5VAUEiJv1wUUM-K78Dtmb4o-titbTusDJqRuarbS9OatzAykygXo4NUqEoR9sxCIoeu8VDioQmbba6mw__.json +0 -0
  384. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/xctests/mocks/0_Hj6SOUxY1APmxdQEA2HdqbA52GD3WJE571nqr_Z-w8vi_buxP-GUjNxCsGYQvnKnnwlyykwxY-KJmjqKYmPyXQ__.json +0 -0
  385. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/xctests/mocks/0_NnCmQ8rMqVyUBgL3ZDjfjJ9Vt1AMGeMzZPkDH30rGMYer0pFDpp4UDZlCEHRImO-48LdC_KdcbjP70IZA6zKUQ__.json +0 -0
  386. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/xctests/mocks/0_YK9aPHVT-grv_ZVooRT79GBO9n82BNogkuWVzFO6itJEtbtsRTQpK2-0ZDLot1JpCfPb26aZwEZjeb9G4GHiBQ__.json +0 -0
  387. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/xctests/mocks/0__H1_RrdBT9b-ZhkWCQiRKpHlwURmyWUudeOhj5UslLXhXl8mr9w5CGqdobi9A5wCVEIRMsO4yuFyzx2gMPr-_Q__.json +0 -0
  388. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/xctests/mocks/0_evvkuGf92MVrmIvhr07911LuRTiPBKDjIQ0q_7L-mPGGYkWVKMBPQ5pB5lbjoaOnvr0fpC9k003EunfwSdss2g__.json +0 -0
  389. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/xctests/mocks/actions_invocation_record.json +0 -0
  390. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/xctests/test_collector.py +0 -0
  391. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/xctests/test_converter.py +0 -0
  392. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/models/xctests/test_xcresult.py +0 -0
  393. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/shell_tools/__init__.py +0 -0
  394. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/shell_tools/keytool/__init__.py +0 -0
  395. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/shell_tools/keytool/conftest.py +0 -0
  396. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/shell_tools/keytool/mocks/android.ks +0 -0
  397. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/shell_tools/keytool/mocks/non-rfc-cert-keystore.jks +0 -0
  398. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/shell_tools/keytool/mocks/non-rfc-cert-keystore.p12 +0 -0
  399. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/shell_tools/keytool/mocks/rfc-cert-keystore.jks +0 -0
  400. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/shell_tools/keytool/mocks/rfc-cert-keystore.p12 +0 -0
  401. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/shell_tools/keytool/test_get_certificate.py +0 -0
  402. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/shell_tools/keytool/test_get_certificates.py +0 -0
  403. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/shell_tools/keytool/test_validate.py +0 -0
  404. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/__init__.py +0 -0
  405. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/app_store_connect/__init__.py +0 -0
  406. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/app_store_connect/action_groups/__init__.py +0 -0
  407. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/app_store_connect/action_groups/test_apps_action_group.py +0 -0
  408. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/app_store_connect/actions/__init__.py +0 -0
  409. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/app_store_connect/actions/publish_action/__init__.py +0 -0
  410. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/app_store_connect/actions/publish_action/test_publish_arguments.py +0 -0
  411. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/app_store_connect/arguments/__init__.py +0 -0
  412. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/app_store_connect/arguments/test_beta_build_localizations.py +0 -0
  413. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/app_store_connect/conftest.py +0 -0
  414. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/app_store_connect/mocks/AuthKeyMock.p8 +0 -0
  415. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/app_store_connect/test_from_cli_args.py +0 -0
  416. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/google_play/__init__.py +0 -0
  417. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/google_play/mocks/google_play_tracks.json +0 -0
  418. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/google_play/test_argument_types.py +0 -0
  419. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/google_play/test_google_play.py +0 -0
  420. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/mocks/firebase_releases.json +0 -0
  421. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/test_android_app_bundle.py +0 -0
  422. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/test_firebase_app_distribution.py +0 -0
  423. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/test_keychain.py +0 -0
  424. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/tools/test_universal_apk_generator.py +0 -0
  425. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/utilities/__init__.py +0 -0
  426. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/utilities/decorators/__init__.py +0 -0
  427. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/utilities/decorators/test_deprecated.py +0 -0
  428. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/utilities/test_backwards_file_reader.py +0 -0
  429. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/utilities/test_case_conversion.py +0 -0
  430. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/utilities/test_levenshtein_distance.py +0 -0
  431. {codemagic_cli_tools-0.53.2 → codemagic_cli_tools-0.53.3}/tests/utilities/test_versions.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codemagic-cli-tools
3
- Version: 0.53.2
3
+ Version: 0.53.3
4
4
  Summary: CLI tools used in Codemagic builds
5
5
  Home-page: https://github.com/codemagic-ci-cd/cli-tools
6
6
  License: GPL-3.0-or-later
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "codemagic-cli-tools"
3
- version = "0.53.2"
3
+ version = "0.53.3"
4
4
  description = "CLI tools used in Codemagic builds"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -65,6 +65,11 @@ build-backend = "poetry.core.masonry.api"
65
65
  line-length = 120
66
66
 
67
67
  [tool.ruff]
68
+ line-length = 120
69
+ target-version = "py37"
70
+ exclude = [".venv", "stubs"]
71
+
72
+ [tool.ruff.lint]
68
73
  select = [
69
74
  "F", # https://beta.ruff.rs/docs/rules/#pyflakes-f
70
75
  "E", # https://beta.ruff.rs/docs/rules/#error-e
@@ -75,11 +80,8 @@ select = [
75
80
  "ISC", # https://beta.ruff.rs/docs/rules/#flake8-implicit-str-concat-isc
76
81
  "ASYNC", # https://beta.ruff.rs/docs/rules/#flake8-async-async
77
82
  ]
78
- line-length = 120
79
- target-version = "py37"
80
- exclude = [".venv", "stubs"]
81
83
 
82
- [tool.ruff.per-file-ignores]
84
+ [tool.ruff.lint.per-file-ignores]
83
85
  "__init__.py" = ["F401"]
84
86
  "doc.py" = ["E402"]
85
87
  "src/codemagic/apple/resources/*.py" = ["N815"]
@@ -87,7 +89,7 @@ exclude = [".venv", "stubs"]
87
89
  "src/codemagic/google_play/resources/*.py" = ["N815"]
88
90
  "src/codemagic/models/export_options.py" = ["N815"]
89
91
 
90
- [tool.ruff.isort]
92
+ [tool.ruff.lint.isort]
91
93
  force-single-line = true
92
94
 
93
95
  [tool.mypy]
@@ -1,5 +1,5 @@
1
1
  __title__ = "codemagic-cli-tools"
2
2
  __description__ = "CLI tools used in Codemagic builds"
3
- __version__ = '0.53.2'
3
+ __version__ = '0.53.3'
4
4
  __url__ = "https://github.com/codemagic-ci-cd/cli-tools"
5
5
  __licence__ = "GNU General Public License v3.0"
@@ -1,5 +1,5 @@
1
1
  __title__ = "codemagic-cli-tools"
2
2
  __description__ = "CLI tools used in Codemagic builds"
3
- __version__ = "0.53.2.dev"
3
+ __version__ = "0.53.3.dev"
4
4
  __url__ = "https://github.com/codemagic-ci-cd/cli-tools"
5
5
  __licence__ = "GNU General Public License v3.0"
@@ -1,7 +1,12 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import re
4
+ from collections import OrderedDict
5
+ from typing import List
6
+ from typing import Optional
7
+ from typing import Sequence
4
8
  from typing import Tuple
9
+ from typing import Union
5
10
 
6
11
  from codemagic.models.enums import ResourceEnum
7
12
  from codemagic.utilities.decorators import deprecated
@@ -157,7 +162,13 @@ class CapabilityType(ResourceEnum):
157
162
 
158
163
 
159
164
  class CertificateType(ResourceEnum):
165
+ """
166
+ https://developer.apple.com/documentation/appstoreconnectapi/certificatetype
167
+ """
168
+
160
169
  DEVELOPER_ID_APPLICATION = "DEVELOPER_ID_APPLICATION"
170
+ # Undocumented developer ID certificate with profile type "G2 Sub-CA"
171
+ DEVELOPER_ID_APPLICATION_G2 = "DEVELOPER_ID_APPLICATION_G2"
161
172
  DEVELOPER_ID_KEXT = "DEVELOPER_ID_KEXT"
162
173
  DEVELOPMENT = "DEVELOPMENT"
163
174
  DISTRIBUTION = "DISTRIBUTION"
@@ -200,6 +211,47 @@ class CertificateType(ResourceEnum):
200
211
  else:
201
212
  raise ValueError(f"Certificate type for profile type {profile_type} is unknown")
202
213
 
214
+ @classmethod
215
+ def resolve_applicable_types(
216
+ cls,
217
+ certificate_types: Optional[Union[CertificateType, Sequence[CertificateType]]] = None,
218
+ profile_type: Optional[ProfileType] = None,
219
+ ) -> List[CertificateType]:
220
+ """
221
+ Construct a list of unique certificate types based on the provided certificate and
222
+ provisioning profile types. Resolved types are ordered so that
223
+ - provided `certificate_types` come first in original ordering (if given),
224
+ - which is followed by `profile_type` primary accompanying certificate type and
225
+ finally `profile_type`'s secondary matching certificate type in case it exists.
226
+ """
227
+
228
+ types: List[CertificateType] = []
229
+
230
+ if isinstance(certificate_types, CertificateType):
231
+ types.append(certificate_types)
232
+ elif certificate_types:
233
+ types.extend(certificate_types)
234
+
235
+ if profile_type:
236
+ types.append(CertificateType.from_profile_type(profile_type))
237
+ # Include iOS and Mac App distribution certificate types backwards compatibility.
238
+ # In the past iOS and Mac App Store profiles used to map to iOS and Mac App distribution
239
+ # certificates, and consequently they too can be used with those profiles.
240
+ if profile_type is ProfileType.IOS_APP_STORE or profile_type is ProfileType.IOS_APP_ADHOC:
241
+ types.append(CertificateType.IOS_DISTRIBUTION)
242
+ elif profile_type is ProfileType.MAC_APP_STORE:
243
+ types.append(CertificateType.MAC_APP_DISTRIBUTION)
244
+
245
+ # Developer ID profiles can also be used with undocumented (as of 04.07.24) flavor
246
+ # of developer ID application certificates that have special G2 suffix in the type name.
247
+ # Said profiles themselves have the same type as before regardless of whether they
248
+ # are of type "G2 Sub-GA" or "Previous Sub-GA".
249
+ if profile_type in (ProfileType.MAC_APP_DIRECT, ProfileType.MAC_CATALYST_APP_DIRECT):
250
+ types.append(CertificateType.DEVELOPER_ID_APPLICATION_G2)
251
+
252
+ # Remove duplicate entries from the list in order-preserving way.
253
+ return list(OrderedDict.fromkeys(types))
254
+
203
255
 
204
256
  class ContentRightsDeclaration(ResourceEnum):
205
257
  DOES_NOT_USE_THIRD_PARTY_CONTENT = "DOES_NOT_USE_THIRD_PARTY_CONTENT"
@@ -6,7 +6,6 @@ from typing import TYPE_CHECKING
6
6
  from typing import List
7
7
  from typing import Optional
8
8
  from typing import Sequence
9
- from typing import Set
10
9
  from typing import Union
11
10
  from typing import cast
12
11
 
@@ -166,10 +165,23 @@ class CertificatesActionGroup(AbstractBaseAction, metaclass=ABCMeta):
166
165
  raise AppStoreConnectError("Cannot create or save resource without certificate private key")
167
166
 
168
167
  _certificate_type: Optional[CertificateType] = _deprecated_kwargs.get("certificate_type")
169
- certificate_types_filter = self._resolve_certificate_types(_certificate_type, certificate_types, profile_type)
168
+ if isinstance(_certificate_type, CertificateType):
169
+ warning = (
170
+ "Deprecation warning! Keyword argument "
171
+ '"certificate_type: Optional[CertificateType]" is deprecated in favor of '
172
+ '"certificate_types: Optional[Union[CertificateType, Sequence[CertificateType]]]", '
173
+ "and is subject for removal."
174
+ )
175
+ self.logger.warning(Colors.RED(warning))
176
+ certificate_types = _certificate_type
177
+
178
+ certificate_types_filter = CertificateType.resolve_applicable_types(
179
+ certificate_types=certificate_types,
180
+ profile_type=profile_type,
181
+ )
170
182
 
171
183
  certificate_filter = self.api_client.signing_certificates.Filter(
172
- certificate_type=certificate_types_filter,
184
+ certificate_type=certificate_types_filter if certificate_types_filter else None,
173
185
  display_name=display_name,
174
186
  )
175
187
  certificates = self._list_resources(
@@ -196,42 +208,3 @@ class CertificatesActionGroup(AbstractBaseAction, metaclass=ABCMeta):
196
208
  )
197
209
 
198
210
  return certificates
199
-
200
- def _resolve_certificate_types(
201
- self,
202
- certificate_type: Optional[CertificateType],
203
- certificate_types: Optional[Union[CertificateType, Sequence[CertificateType]]],
204
- profile_type: Optional[ProfileType],
205
- ) -> Optional[List[CertificateType]]:
206
- types: Set[CertificateType] = set()
207
-
208
- if isinstance(certificate_types, CertificateType):
209
- types.add(certificate_types)
210
- elif certificate_types is not None:
211
- types.update(certificate_types)
212
-
213
- if isinstance(certificate_type, CertificateType):
214
- warning = (
215
- "Deprecation warning! Keyword argument "
216
- '"certificate_type: Optional[CertificateType]" is deprecated in favor of '
217
- '"certificate_types: Optional[Union[CertificateType, Sequence[CertificateType]]] = None", '
218
- "and is subject for removal."
219
- )
220
- self.logger.warning(Colors.RED(warning))
221
- types.add(certificate_type)
222
-
223
- if profile_type:
224
- types.add(CertificateType.from_profile_type(profile_type))
225
- # Include iOS and Mac App distribution certificate types backwards compatibility.
226
- # In the past iOS and Mac App Store profiles used to map to iOS and Mac App distribution
227
- # certificates, and consequently they too can be used with those profiles.
228
- if profile_type is ProfileType.IOS_APP_STORE:
229
- types.add(CertificateType.IOS_DISTRIBUTION)
230
- elif profile_type is ProfileType.IOS_APP_ADHOC:
231
- types.add(CertificateType.IOS_DISTRIBUTION)
232
- elif profile_type is ProfileType.MAC_APP_STORE:
233
- types.add(CertificateType.MAC_APP_DISTRIBUTION)
234
- elif profile_type is ProfileType.MAC_APP_DIRECT:
235
- types.add(CertificateType.DEVELOPER_ID_APPLICATION)
236
-
237
- return list(types) if types else None
@@ -121,18 +121,7 @@ class FetchSigningFilesAction(AbstractBaseAction, metaclass=ABCMeta):
121
121
  certificate_key_password: Optional[Types.CertificateKeyPasswordArgument],
122
122
  create_resource: bool,
123
123
  ) -> List[SigningCertificate]:
124
- certificate_types = [CertificateType.from_profile_type(profile_type)]
125
- # Include iOS and Mac App distribution certificate types backwards compatibility.
126
- # In the past iOS and Mac App Store profiles used to map to iOS and Mac App distribution
127
- # certificates, and we want to keep using existing certificates for as long as possible.
128
- if profile_type is ProfileType.IOS_APP_STORE:
129
- certificate_types.append(CertificateType.IOS_DISTRIBUTION)
130
- elif profile_type is ProfileType.IOS_APP_ADHOC:
131
- certificate_types.append(CertificateType.IOS_DISTRIBUTION)
132
- elif profile_type is ProfileType.MAC_APP_STORE:
133
- certificate_types.append(CertificateType.MAC_APP_DISTRIBUTION)
134
- elif profile_type is ProfileType.MAC_APP_DIRECT:
135
- certificate_types.append(CertificateType.DEVELOPER_ID_APPLICATION)
124
+ certificate_types = CertificateType.resolve_applicable_types(profile_type=profile_type)
136
125
 
137
126
  certificates = self.list_certificates(
138
127
  certificate_types=certificate_types,
@@ -218,7 +207,7 @@ class FetchSigningFilesAction(AbstractBaseAction, metaclass=ABCMeta):
218
207
  platform: Optional[BundleIdPlatform] = None,
219
208
  ) -> Iterator[Profile]:
220
209
  if not bundle_ids_without_profiles:
221
- return []
210
+ return
222
211
  if platform is None:
223
212
  platform = bundle_ids_without_profiles[0].attributes.platform
224
213
 
@@ -0,0 +1,159 @@
1
+ from typing import List
2
+ from typing import Sequence
3
+
4
+ import pytest
5
+ from codemagic.apple.resources import CertificateType
6
+ from codemagic.apple.resources import ProfileType
7
+
8
+
9
+ @pytest.mark.parametrize("profile_type", list(ProfileType))
10
+ def test_from_profile_type(profile_type: ProfileType):
11
+ """
12
+ Check that all profile types are mapped to matching certificate type
13
+ """
14
+ certificate_type = CertificateType.from_profile_type(profile_type)
15
+ assert isinstance(certificate_type, CertificateType)
16
+
17
+
18
+ @pytest.mark.parametrize("certificate_type", list(CertificateType))
19
+ def test_resolve_applicable_types_using_literal_certificate_type(certificate_type: CertificateType):
20
+ """
21
+ Check that type can be resolved when CertificateType literal instance is passed via
22
+ `certificate_types` keyword argument. Expected result is to have a list that contains
23
+ only the passed type.
24
+ """
25
+ resolved_types = CertificateType.resolve_applicable_types(certificate_types=certificate_type)
26
+ assert resolved_types == [certificate_type]
27
+
28
+
29
+ @pytest.mark.parametrize(
30
+ "certificate_types",
31
+ (
32
+ (CertificateType.IOS_DISTRIBUTION,),
33
+ (CertificateType.IOS_DISTRIBUTION, CertificateType.IOS_DEVELOPMENT),
34
+ [CertificateType.IOS_DISTRIBUTION, CertificateType.IOS_DEVELOPMENT],
35
+ [CertificateType.MAC_APP_DEVELOPMENT, CertificateType.MAC_APP_DISTRIBUTION],
36
+ [
37
+ CertificateType.MAC_APP_DEVELOPMENT,
38
+ CertificateType.MAC_INSTALLER_DISTRIBUTION,
39
+ CertificateType.MAC_APP_DISTRIBUTION,
40
+ ],
41
+ ),
42
+ )
43
+ def test_resolve_applicable_types_using_multiple_certificate_types(certificate_types: Sequence[CertificateType]):
44
+ """
45
+ Check that type can be resolved when number of CertificateType instances are passed via
46
+ `certificate_types` keyword argument as a sequence. Expected result is to have a list that
47
+ contains all the passed types without duplicates and nothing else.
48
+ """
49
+ resolved_types = CertificateType.resolve_applicable_types(certificate_types=certificate_types)
50
+ assert resolved_types == list(certificate_types)
51
+
52
+
53
+ def test_resolve_applicable_types_using_multiple_certificate_types_omit_duplicates():
54
+ """
55
+ Check that duplicates are removed from given certificate types when resolving result.
56
+ Return value should contain each resolved type only once and in the order in which they
57
+ appeared first.
58
+ """
59
+ resolved_types = CertificateType.resolve_applicable_types(
60
+ certificate_types=[
61
+ CertificateType.MAC_INSTALLER_DISTRIBUTION,
62
+ CertificateType.MAC_APP_DEVELOPMENT,
63
+ CertificateType.MAC_APP_DEVELOPMENT,
64
+ CertificateType.MAC_INSTALLER_DISTRIBUTION,
65
+ CertificateType.MAC_APP_DEVELOPMENT,
66
+ CertificateType.MAC_APP_DISTRIBUTION,
67
+ ],
68
+ )
69
+ assert resolved_types == [
70
+ CertificateType.MAC_INSTALLER_DISTRIBUTION,
71
+ CertificateType.MAC_APP_DEVELOPMENT,
72
+ CertificateType.MAC_APP_DISTRIBUTION,
73
+ ]
74
+
75
+
76
+ @pytest.mark.parametrize(
77
+ ("profile_type", "expected_certificate_type"),
78
+ (
79
+ (ProfileType.IOS_APP_DEVELOPMENT, CertificateType.IOS_DEVELOPMENT),
80
+ (ProfileType.IOS_APP_INHOUSE, CertificateType.DISTRIBUTION),
81
+ (ProfileType.MAC_APP_DEVELOPMENT, CertificateType.MAC_APP_DEVELOPMENT),
82
+ (ProfileType.MAC_CATALYST_APP_DEVELOPMENT, CertificateType.DEVELOPMENT),
83
+ (ProfileType.MAC_CATALYST_APP_STORE, CertificateType.DISTRIBUTION),
84
+ (ProfileType.TVOS_APP_ADHOC, CertificateType.DISTRIBUTION),
85
+ (ProfileType.TVOS_APP_DEVELOPMENT, CertificateType.DEVELOPMENT),
86
+ (ProfileType.TVOS_APP_INHOUSE, CertificateType.DISTRIBUTION),
87
+ (ProfileType.TVOS_APP_STORE, CertificateType.DISTRIBUTION),
88
+ ),
89
+ )
90
+ def test_resolve_applicable_types_using_profile_type_with_one_match(
91
+ profile_type: ProfileType,
92
+ expected_certificate_type: CertificateType,
93
+ ):
94
+ """
95
+ Most provisioning profile types are in one-to-one correspondence with a certain
96
+ certificate type. Check that expected certificate type is resolved for such profiles,
97
+ and nothing else.
98
+ """
99
+ resolved_types = CertificateType.resolve_applicable_types(profile_type=profile_type)
100
+ assert resolved_types == [expected_certificate_type]
101
+
102
+
103
+ @pytest.mark.parametrize(
104
+ ("profile_type", "expected_certificate_types"),
105
+ (
106
+ (
107
+ ProfileType.IOS_APP_ADHOC,
108
+ [CertificateType.DISTRIBUTION, CertificateType.IOS_DISTRIBUTION],
109
+ ),
110
+ (
111
+ ProfileType.IOS_APP_STORE,
112
+ [CertificateType.DISTRIBUTION, CertificateType.IOS_DISTRIBUTION],
113
+ ),
114
+ (
115
+ ProfileType.MAC_APP_DIRECT,
116
+ [CertificateType.DEVELOPER_ID_APPLICATION, CertificateType.DEVELOPER_ID_APPLICATION_G2],
117
+ ),
118
+ (
119
+ ProfileType.MAC_CATALYST_APP_DIRECT,
120
+ [CertificateType.DEVELOPER_ID_APPLICATION, CertificateType.DEVELOPER_ID_APPLICATION_G2],
121
+ ),
122
+ (
123
+ ProfileType.MAC_APP_STORE,
124
+ [CertificateType.DISTRIBUTION, CertificateType.MAC_APP_DISTRIBUTION],
125
+ ),
126
+ ),
127
+ )
128
+ def test_resolve_applicable_types_using_profile_type_with_many_matches(
129
+ profile_type: ProfileType,
130
+ expected_certificate_types: List[CertificateType],
131
+ ):
132
+ """
133
+ Some provisioning profile types can be used with more than one type of certificates.
134
+ Check that for those profile types all the allowed certificate types are resolved,
135
+ and nothing else. Additionally, the secondary resolved type should be always last.
136
+ """
137
+ resolved_types = CertificateType.resolve_applicable_types(profile_type=profile_type)
138
+ assert resolved_types == expected_certificate_types
139
+
140
+
141
+ def test_resolve_applicable_types_with_multiple_arguments():
142
+ """
143
+ Check that when different arguments are passed to the resolver at once, then
144
+ all of them are respected and used accordingly.
145
+ """
146
+ resolved_types = CertificateType.resolve_applicable_types(
147
+ profile_type=ProfileType.IOS_APP_STORE,
148
+ certificate_types=[
149
+ CertificateType.DEVELOPER_ID_APPLICATION,
150
+ CertificateType.DEVELOPER_ID_APPLICATION_G2,
151
+ ],
152
+ )
153
+ expected_certificate_types = [
154
+ CertificateType.DEVELOPER_ID_APPLICATION, # From "certificate_types" argument
155
+ CertificateType.DEVELOPER_ID_APPLICATION_G2, # From "certificate_types" argument
156
+ CertificateType.DISTRIBUTION, # From given profile type
157
+ CertificateType.IOS_DISTRIBUTION, # From given profile type
158
+ ]
159
+ assert resolved_types == expected_certificate_types
@@ -1,12 +0,0 @@
1
- import pytest
2
- from codemagic.apple.resources import CertificateType
3
- from codemagic.apple.resources import ProfileType
4
-
5
-
6
- @pytest.mark.parametrize("profile_type", list(ProfileType))
7
- def test_from_profile_type(profile_type: ProfileType):
8
- """
9
- Check that all profile types are mapped to matching certificate type
10
- """
11
- certificate_type = CertificateType.from_profile_type(profile_type)
12
- assert isinstance(certificate_type, CertificateType)