def main()

in update-crt.py [0:0]


def main():
    sdk_version = args.version
    update_sdk = False
    if args.version is None:
        args.version = get_latest_github_version("https://github.com/awslabs/aws-crt-java.git")
        print(f'Latest CRT version: {args.version}')
        sdk_version = get_latest_github_version("https://github.com/aws/aws-iot-device-sdk-java-v2.git")
        print (f"Latest SDK version: {sdk_version}")

    if re.fullmatch(VERSION_PATTERN, args.version) is None:
        exit(f'Invalid version: "{args.version}". Must look like "0.1.2"')

    os.chdir(os.path.dirname(os.path.abspath(__file__)))


    # Update SDK version in specified section
    if args.update_samples or args.check_consistency:
        print (f"Update samples to latest SDK version: {sdk_version}")
        update_samples(sdk_version)
        update_sdk = True

    if args.update_sdk_text or args.check_consistency:
        print (f"Update docs to latest SDK version: {sdk_version}")
        update(filepath='README.md',
            preceded_by=r'<artifactId>aws-iot-device-sdk</artifactId>\s*<version>',
            followed_by=r'</version>',
            force_version=sdk_version)
        update(filepath='README.md',
            preceded_by=r"Replace `",
            followed_by=r"` in `<version>.*</version>` with the latest release version for the SDK.",
            force_version=sdk_version)
        update(filepath='README.md',
            preceded_by=r"Replace .* in `<version>",
            followed_by=r"</version>` with the latest release version for the SDK.",
            force_version=sdk_version)
        update(filepath='documents/ANDROID.md',
            preceded_by=r"software.amazon.awssdk.iotdevicesdk:aws-iot-device-sdk-android:",
            followed_by=r"'",
            force_version=sdk_version)
        update(filepath='documents/ANDROID.md',
            preceded_by=r"Replace `",
            followed_by=r"` in",
            force_version=sdk_version)
        update(filepath='documents/ANDROID.md',
            preceded_by=r"` in `software.amazon.awssdk.iotdevicesdk:aws-iot-device-sdk-android:",
            followed_by=r"`",
            force_version=sdk_version)
        update(filepath='documents/ANDROID.md',
            preceded_by=r"Use the latest version of the SDK here instead of `v",
            followed_by=r"`",
            force_version=sdk_version)
        update(filepath='documents/ANDROID.md',
            preceded_by=r"git clone --branch v",
            followed_by=r" --recurse-submodules",
            force_version=sdk_version)
        update_sdk = True

    # Update CRT versions if not specified
    if not update_sdk or args.check_consistency:
        # Reset consistency_version for CRT version check
        global consistency_version
        consistency_version = None
        update(filepath='sdk/pom.xml',
            preceded_by=r'<artifactId>aws-crt</artifactId>\s*<version>',
            followed_by=r'</version>')
        update(filepath='android/iotdevicesdk/build.gradle',
            preceded_by=r"api 'software.amazon.awssdk.crt:aws-crt-android:",
            followed_by=r"'")