private void SetNamespace(string argument, CodeGenConfiguration configuration) { configuration.ForceNamespace = argument.IndexOf(':') > 2; var nspace = argument.Substring(argument.IndexOf(':') + 1); if (string.IsNullOrEmpty(nspace)) { throw new ToolException( string.Format(CultureInfo.InvariantCulture, Resources.ErrorArgumentMissingItsValue, argument), ExitCode.InvalidArguments); } configuration.Namespace = nspace; }
private void SetInputFiles(string argument, CodeGenConfiguration configuration, IExecutionContext context) { if (argument.Length < 4) { throw new ToolException( string.Format(CultureInfo.InvariantCulture, Resources.ErrorArgumentMissingItsValue, argument), ExitCode.InvalidArguments); } string inputFiles = argument.Substring(3); try { configuration.JsonSchemas = inputFiles.Split(',').Select(context.ReadFile).ToList(); } catch (Exception exception) { throw new ToolException( string.Format(CultureInfo.InvariantCulture, Resources.ErrorReadFile, inputFiles, exception.Message), ExitCode.InvalidOperation); } }
private void SetOutputDirectory(string argument, CodeGenConfiguration configuration, IExecutionContext context) { if (argument.Length < 4) { throw new ToolException( string.Format(CultureInfo.InvariantCulture, Resources.ErrorArgumentMissingItsValue, argument), ExitCode.InvalidArguments); } string outputDirectory = argument.Substring(3); try { context.SetOutputDirectory(outputDirectory); configuration.OutputDirectory = outputDirectory; } catch (Exception exception) { throw new ToolException( string.Format(CultureInfo.InvariantCulture, Resources.ErrorWriteDirectory, outputDirectory, exception.Message), ExitCode.InvalidOperation); } }
private CodeGenConfiguration ParseArguments(ICollection <string> args, IExecutionContext context) { this.Sanitize(args); var result = new CodeGenConfiguration(); foreach (string arg in args) { if (arg.StartsWith(InputArgumentPrefix, StringComparison.OrdinalIgnoreCase)) { this.SetInputFiles(arg, result, context); } else if (arg.StartsWith(OutputArgumentPrefix, StringComparison.OrdinalIgnoreCase)) { this.SetOutputDirectory(arg, result, context); } else if (Regex.Match(arg, NamespaceArgumentRegexPattern, RegexOptions.IgnoreCase).Success) { this.SetNamespace(arg, result); } } return(result); }
private void SetOutputDirectory(string argument, CodeGenConfiguration configuration, IExecutionContext context) { if (argument.Length < 4) { throw new ToolException( string.Format(CultureInfo.InvariantCulture, Resources.ErrorArgumentMissingItsValue, argument), ExitCode.InvalidArguments); } string outputDirectory = argument.Substring(3); try { context.SetOutputDirectory(outputDirectory); configuration.OutputDirectory = outputDirectory; } catch (Exception exception) { throw new ToolException( string.Format(CultureInfo.InvariantCulture, Resources.ErrorWriteDirectory, outputDirectory, exception.Message), ExitCode.InvalidOperation); } }
private void SetInputFiles(string argument, CodeGenConfiguration configuration, IExecutionContext context) { if (argument.Length < 4) { throw new ToolException( string.Format(CultureInfo.InvariantCulture, Resources.ErrorArgumentMissingItsValue, argument), ExitCode.InvalidArguments); } string inputFiles = argument.Substring(3); try { configuration.JsonSchemas = inputFiles.Split(',').Select(context.ReadFile).ToList(); } catch (Exception exception) { throw new ToolException( string.Format(CultureInfo.InvariantCulture, Resources.ErrorReadFile, inputFiles, exception.Message), ExitCode.InvalidOperation); } }
private void SetNamespace(string argument, CodeGenConfiguration configuration) { configuration.ForceNamespace = argument.IndexOf(':') > 2; var nspace = argument.Substring(argument.IndexOf(':') + 1); if (string.IsNullOrEmpty(nspace)) { throw new ToolException( string.Format(CultureInfo.InvariantCulture, Resources.ErrorArgumentMissingItsValue, argument), ExitCode.InvalidArguments); } configuration.Namespace = nspace; }
private CodeGenConfiguration ParseArguments(ICollection<string> args, IExecutionContext context) { this.Sanitize(args); var result = new CodeGenConfiguration(); foreach (string arg in args) { if (arg.StartsWith(InputArgumentPrefix, StringComparison.OrdinalIgnoreCase)) { this.SetInputFiles(arg, result, context); } else if (arg.StartsWith(OutputArgumentPrefix, StringComparison.OrdinalIgnoreCase)) { this.SetOutputDirectory(arg, result, context); } else if (Regex.Match(arg, NamespaceArgumentRegexPattern, RegexOptions.IgnoreCase).Success) { this.SetNamespace(arg, result); } } return result; }