def clean(self): is_sdk_2 = self.sdk_version == "2" if is_sdk_2 and self.uses_array_message_keys: raise ValidationError( _("SDK2 appKeys must be an object, not a list.")) if self.project_type != 'package': try: parse_sdk_version(self.app_version_label) except ValueError: raise ValidationError( _("Invalid version string. Versions should be major[.minor]." )) if self.project_type == 'package': try: parse_semver(self.app_version_label) except ValueError: raise ValidationError( _("Invalid version string. Versions should be major.minor.patch" )) if is_sdk_2: raise ValidationError( _("Packages are not available for SDK 2")) if not self.app_modern_multi_js: raise ValidationError( _("Packages must use CommonJS-style JS Handling.")) elif self.project_type == 'rocky': if is_sdk_2: raise ValidationError(_("RockyJS is not available for SDK 2")) if not self.uses_array_message_keys: raise ValidationError( _("RockyJS projects must use array based appmessage keys")) if not self.app_modern_multi_js: raise ValidationError( _("RockyJS projects must use CommonJS-style JS Handling."))
def clean(self): is_sdk_2 = self.sdk_version == "2" if is_sdk_2 and self.uses_array_message_keys: raise ValidationError(_("SDK2 appKeys must be an object, not a list.")) if self.project_type != 'package': try: parse_sdk_version(self.app_version_label) except ValueError: raise ValidationError(_("Invalid version string. Versions should be major[.minor].")) if self.project_type == 'package': try: parse_semver(self.app_version_label) except ValueError: raise ValidationError(_("Invalid version string. Versions should be major.minor.patch")) if is_sdk_2: raise ValidationError(_("Packages are not available for SDK 2")) if not self.app_modern_multi_js: raise ValidationError(_("Packages must use CommonJS-style JS Handling.")) elif self.project_type == 'rocky': if is_sdk_2: raise ValidationError(_("RockyJS is not available for SDK 2")) if not self.uses_array_message_keys: raise ValidationError(_("RockyJS projects must use array based appmessage keys")) if not self.app_modern_multi_js: raise ValidationError(_("RockyJS projects must use CommonJS-style JS Handling."))
def semver(self, value): """ Set the app's version label from a semver string. """ if self.project_type == 'package': # This throws an error if the semver is invalid. parse_semver(value) self.app_version_label = value else: self.app_version_label = semver_to_version(value)
def semver(self): """ Get the app's version label formatted as a semver. """ if self.project_type == 'package': try: # Packages should have semver app_versions_labels... parse_semver(self.app_version_label) return self.app_version_label except ValueError as e: # but if they don't, we try to convert it from an app-style version label. try: version_to_semver(self.app_version_label) except: raise e return version_to_semver(self.app_version_label)