validate method

  1. @override
Future<void> validate()
override

Validates the configuration before execution.

This method should check that all required configuration values are present and valid for the specific service. Subclasses should override this method to add service-specific validation.

Throws:

Implementation

@override
Future<void> validate() async {
  logValidation('patch service configuration');

  // Validate that we have a platform-specific configuration
  if (config is! AndroidCommandConfig && config is! IosCommandConfig) {
    throw ArgumentError(
        'Patch service requires AndroidCommandConfig or IosCommandConfig, '
        'but got ${config.runtimeType}');
  }

  // Validate base configuration
  config.validate();

  // Platform-specific validation
  if (config is AndroidCommandConfig) {
    _validateAndroidConfig(config as AndroidCommandConfig);
  } else if (config is IosCommandConfig) {
    _validateIosConfig(config as IosCommandConfig);
  }
}