def bump_podspecs(self): podspec_pattern1 = { "enclosemark": "double", "exclude": "AWSCognitoIdentityProviderASF", "match": r"(dependency[[:space:]]+'AWS.+'[[:space:]]*,[[:space:]]*')[0-9]+\.[0-9]+\.[0-9]+(')", "replace": r"\1{version}\2".format(version=self._new_sdk_version), "files": [], } podspec_pattern2 = { "enclosemark": "double", "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) replacefiles(self._root, podspec_pattern1) replacefiles(self._root, podspec_pattern2)
def bump_services(self): service_pattern = { "match": r'(NSString[[:space:]]+\*const[[:space:]]+AWS.+SDKVersion[[:space:]]*=[[:space:]]+@")[0-9]+\.[0-9]+\.[0-9]+"', "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", "AWSCognito/CognitoSync/AWSCognitoSyncService.m", "AWSCognitoAuth/AWSCognitoAuth.m", "AWSCognitoIdentityProvider/CognitoIdentityProvider/AWSCognitoIdentityProviderService.m", "AWSCore/Service/AWSService.m", "AWSIoT/AWSIoTDataService.m", "AWSKinesis/AWSFirehoseService.m", "AWSLex/AWSLexInteractionKit.m", "AWSMobileAnalytics/AWSMobileAnalyticsERS/AWSMobileAnalyticsERSService.m", "AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingService.m", "AWSPolly/AWSPollySynthesizeSpeechURLBuilder.m", "AWSS3/AWSS3PreSignedURL.m", ]) replacefiles(self._root, service_pattern)
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"], } replacefiles(self._root, generate_documentation_pattern)
def bump_changelog(self): changelog_pattern = { "match": r"## Unreleased", "replace": "## Unreleased\\\n-Features for next release\\\n\\\n## {version}". format(version=self._new_sdk_version), "files": ["CHANGELOG.md"], } replacefiles(self._root, changelog_pattern)
root = sys.argv[1] newsdkversion = sys.argv[2] lastdot = newsdkversion.rfind('.') maxminorversion = newsdkversion[0:lastdot] replaces = [{ "exclude": "com.amazonaws:aws-android-sdk-appsync", "match": r"(com.amazonaws:aws-android-sdk-.+:)[0-9]+\.[0-9]+\.\+", "replace": r"\1[maxminorversion].+", "files": [ "analytics.md", "api.md", "authentication.md", "how-to-cognito-integrate-an-existing-identity-pool-android.md", "interactions.md", "manualsetup.md", "pubsub.md", "push-notifications.md", "start.md", "storage.md", ] }] for replaceaction in replaces: replaceaction["replace"] = replaceaction["replace"].replace( "[maxminorversion]", maxminorversion) replacefiles(root, replaces)
"IoT-Sample/Swift/Podfile", "Lex-Sample/ObjC/Podfile", "Lex-Sample/swift-3/Podfile", "Polly-Sample/Swift/Podfile", "S3TransferUtility-Sample/Objective-C/Podfile", "S3TransferUtility-Sample/Swift/Podfile" ] }, { "enclosemark" : "double", "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-3/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) replacefiles(root, replaces)