def verify()

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)