protected override Task <int> ExecuteCoreAsync() { if (!Parent.Checker.Check(ExtensionFilePaths.Values)) { Error.WriteLine($"Extensions could not be loaded. See output for details."); return(Task.FromResult(ExitCodeFailure)); } // Loading all of the extensions should succeed as the dependency checker will have already // loaded them. var extensions = new RazorExtension[ExtensionNames.Values.Count]; for (var i = 0; i < ExtensionNames.Values.Count; i++) { extensions[i] = new AssemblyExtension(ExtensionNames.Values[i], Parent.Loader.LoadFromPath(ExtensionFilePaths.Values[i])); } var version = RazorLanguageVersion.Parse(Version.Value()); var configuration = RazorConfiguration.Create(version, Configuration.Value(), extensions); var sourceItems = GetSourceItems(ProjectDirectory.Value(), Sources.Values, Outputs.Values, RelativePaths.Values, DocumentKinds.Values); var result = ExecuteCore( configuration: configuration, projectDirectory: ProjectDirectory.Value(), tagHelperManifest: TagHelperManifest.Value(), sourceItems: sourceItems); return(Task.FromResult(result)); }
protected override bool ValidateArguments() { if (string.IsNullOrEmpty(TagHelperManifest.Value())) { Error.WriteLine($"{TagHelperManifest.ValueName} must be specified."); return(false); } if (Assemblies.Values.Count == 0) { Error.WriteLine($"{Assemblies.Name} must have at least one value."); return(false); } if (string.IsNullOrEmpty(ProjectDirectory.Value())) { ProjectDirectory.Values.Add(Environment.CurrentDirectory); } if (string.IsNullOrEmpty(Version.Value())) { Error.WriteLine($"{Version.ValueName} must be specified."); return(false); } else if (!RazorLanguageVersion.TryParse(Version.Value(), out _)) { Error.WriteLine($"{Version.ValueName} is not a valid language version."); return(false); } if (string.IsNullOrEmpty(Configuration.Value())) { Error.WriteLine($"{Configuration.ValueName} must be specified."); return(false); } if (ExtensionNames.Values.Count != ExtensionFilePaths.Values.Count) { Error.WriteLine($"{ExtensionNames.ValueName} and {ExtensionFilePaths.ValueName} should have the same number of values."); } foreach (var filePath in ExtensionFilePaths.Values) { if (!Path.IsPathRooted(filePath)) { Error.WriteLine($"Extension file paths must be fully-qualified, absolute paths."); return(false); } } if (!Parent.Checker.Check(ExtensionFilePaths.Values)) { Error.WriteLine($"Extenions could not be loaded. See output for details."); return(false); } return(true); }
protected override Task <int> ExecuteCoreAsync() { var result = ExecuteCore( projectDirectory: ProjectDirectory.Value(), outputFilePath: TagHelperManifest.Value(), assemblies: Assemblies.Values.ToArray()); return(Task.FromResult(result)); }
protected override bool ValidateArguments() { if (string.IsNullOrEmpty(TagHelperManifest.Value())) { Error.WriteLine($"{TagHelperManifest.Description} must be specified."); return(false); } if (Assemblies.Values.Count == 0) { Error.WriteLine($"{Assemblies.Name} must have at least one value."); return(false); } if (string.IsNullOrEmpty(ProjectDirectory.Value())) { ProjectDirectory.Values.Add(Environment.CurrentDirectory); } if (string.IsNullOrEmpty(Version.Value())) { Error.WriteLine($"{Version.Description} must be specified."); return(false); } else if (!RazorLanguageVersion.TryParse(Version.Value(), out _)) { Error.WriteLine($"Invalid option {Version.Value()} for Razor language version --version; must be Latest or a valid version in range {RazorLanguageVersion.Version_1_0} to {RazorLanguageVersion.Latest}."); return(false); } if (string.IsNullOrEmpty(Configuration.Value())) { Error.WriteLine($"{Configuration.Description} must be specified."); return(false); } if (ExtensionNames.Values.Count != ExtensionFilePaths.Values.Count) { Error.WriteLine($"{ExtensionNames.Description} and {ExtensionFilePaths.Description} should have the same number of values."); } foreach (var filePath in ExtensionFilePaths.Values) { if (!Path.IsPathRooted(filePath)) { Error.WriteLine($"Extension file paths must be fully-qualified, absolute paths."); return(false); } } return(true); }
protected override bool ValidateArguments() { if (string.IsNullOrEmpty(TagHelperManifest.Value())) { Error.WriteLine($"{TagHelperManifest.ValueName} must be specified."); return(false); } if (Assemblies.Values.Count == 0) { Error.WriteLine($"{Assemblies.Name} must have at least one value."); return(false); } if (string.IsNullOrEmpty(ProjectDirectory.Value())) { ProjectDirectory.Values.Add(Environment.CurrentDirectory); } return(true); }
protected override Task <int> ExecuteCoreAsync() { // Loading all of the extensions should succeed as the dependency checker will have already // loaded them. var extensions = new RazorExtension[ExtensionNames.Values.Count]; for (var i = 0; i < ExtensionNames.Values.Count; i++) { extensions[i] = new AssemblyExtension(ExtensionNames.Values[i], Parent.Loader.LoadFromPath(ExtensionFilePaths.Values[i])); } var version = RazorLanguageVersion.Parse(Version.Value()); var configuration = RazorConfiguration.Create(version, Configuration.Value(), extensions); var result = ExecuteCore( configuration: configuration, projectDirectory: ProjectDirectory.Value(), outputFilePath: TagHelperManifest.Value(), assemblies: Assemblies.Values.ToArray()); return(Task.FromResult(result)); }