in eng/scripts/version.py [0:0]
def verify(argv):
xcodeproj_versions = _get_xcodeproj_versions()
podspec_versions = _get_podspec_versions()
swift_modules = _get_spm_modules()
for module in swift_modules:
if module not in podspec_versions:
_log_error_and_quit(f'Module {module} found in Package.swift but does not have a podspec file.')
# warn if there are modules that are available via CocoaPods but not SPM
for module in podspec_versions.keys():
if module not in swift_modules:
_log_warning(f'Module {module} has a podspec but is not in Package.swift. It cannot be acquired via SPM.')
if module not in xcodeproj_versions:
_log_error_and_quit(f'Module {module} has a podspec but no Xcodeproj file.')
elif podspec_versions[module] != xcodeproj_versions[module]:
_log_error_and_quit(f'Module {module} has a podspec version {podspec_versions[module]} but an Xcodeproj version {xcodeproj_versions[module]}.')
# warn for modules which are not released in any form
for module in xcodeproj_versions.keys():
if module not in swift_modules and module not in podspec_versions:
_log_warning(f'Module {module} is on the master branch but not available via any release mechanism.')
print('Package.swift, podspecs and Xcodeproj files are consistent.')
sys.exit(0)