def bump_generate_docs(self): generate_documentation_pattern = { "match": r'VERSION="[0-9]+\.[0-9]+\.[0-9]+"', "replace": r'VERSION="{version}"'.format(version=self._new_sdk_version), "files": ["CircleciScripts/generate_documentation.sh"], } replace_files(self._root, generate_documentation_pattern)
def bump_services(self): service_pattern = { "match": r'(NSString[[:space:]]+\*const[[:space:]]+AWS.+SDKVersion[[:space:]]*=[[:space:]]+@")[0-9]+\.[0-9]+\.[0-9]+"', # noqa: E501 "replace": r'\1{version}"'.format(version=self._new_sdk_version), "files": [], } # Add files for each module for module in VersionBumper.module_list: path = "{0}/{0}Service.m".format(module) if os.path.isfile(os.path.join(root, path)): service_pattern["files"].append(path) # Add files for special modules service_pattern["files"].extend( [ "AWSAPIGateway/AWSAPIGatewayClient.m", "AWSCognitoAuth/AWSCognitoAuth.m", "AWSCore/Service/AWSService.m", "AWSIoT/AWSIoTDataService.m", "AWSKinesis/AWSFirehoseService.m", "AWSLex/AWSLexInteractionKit.m", "AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingService.m", "AWSPolly/AWSPollySynthesizeSpeechURLBuilder.m", "AWSS3/AWSS3PreSignedURL.m", ] ) replace_files(self._root, service_pattern)
def bump_podspecs(self): podspec_pattern1 = { "exclude": "AWSCognitoIdentityProviderASF", "match": r"(dependency[[:space:]]+'AWS.+'[[:space:]]*,[[:space:]]*')[0-9]+\.[0-9]+\.[0-9]+(')", # noqa: E501 "replace": r"\1{version}\2".format(version=self._new_sdk_version), "files": [], } podspec_pattern2 = { "exclude": "AWSCognitoIdentityProviderASF", "match": r"(s\.version[[:space:]]+=[[:space:]]*')[0-9]+\.[0-9]+\.[0-9]+(')", "replace": r"\1{version}\2".format(version=self._new_sdk_version), "files": [], } for file in glob.glob(os.path.join(root, "*.podspec")): if file.endswith("AWSCognitoIdentityProviderASF.podspec"): continue podspec_pattern1["files"].append(file) podspec_pattern2["files"].append(file) replace_files(self._root, podspec_pattern1) replace_files(self._root, podspec_pattern2)
def bump_changelog(self): changelog_pattern = { "match": r"## Unreleased", "replace": "## Unreleased\\\n\\\n-Features for next release\\\n\\\n## {version}".format( version=self._new_sdk_version ), "files": ["CHANGELOG.md"], } replace_files(self._root, changelog_pattern)
def bump_podspecs(self): podspec_pattern1 = { "match": r"(dependency[[:space:]]+'AWS.+'[[:space:]]*,[[:space:]]*')[0-9]+\.[0-9]+\.[0-9]+(')", # noqa: E501 "replace": r"\1{version}\2".format(version=self._new_sdk_version), "files": [], } podspec_pattern2 = { "match": r"(s\.version[[:space:]]+=[[:space:]]*')[0-9]+\.[0-9]+\.[0-9]+(')", "replace": r"\1{version}\2".format(version=self._new_sdk_version), "files": [], } for file in glob.glob(os.path.join(root, "*.podspec")): podspec_pattern1["files"].append(file) podspec_pattern2["files"].append(file) replace_files(self._root, podspec_pattern1) replace_files(self._root, podspec_pattern2)
"Lex-Sample/ObjC/Podfile", "Lex-Sample/Swift/Podfile", "Polly-Sample/Swift/Podfile", "S3TransferUtility-Sample/Objective-C/Podfile", "S3TransferUtility-Sample/Swift/Podfile", ], }, { "match": r"(awsVersion[[:space:]]*=[[:space:]]*'~>[[:space:]]*)[0-9]+\.[0-9]+\.[0-9]+'", "replace": r"\1[version]'", "files": [ "CognitoAuth-Sample/Objective-C/Podfile", "CognitoAuth-Sample/Swift/Podfile", "CognitoYourUserPools-Sample/Objective-C/Podfile", "CognitoYourUserPools-Sample/Swift/Podfile", "IoT-Sample/Swift/Podfile", "Lex-Sample/ObjC/Podfile", "Lex-Sample/Swift/Podfile", "Polly-Sample/Swift/Podfile", "S3TransferUtility-Sample/Objective-C/Podfile", "S3TransferUtility-Sample/Swift/Podfile", ], }, ] for replaceaction in replaces: replaceaction["replace"] = replaceaction["replace"].replace( "[version]", newsdkversion) replace_files(root, *replaces)