public async Task UnsafeGenerateProjectAsync(UserSelection userSelection) { var genItems = GenComposer.Compose(userSelection).ToList(); var chrono = Stopwatch.StartNew(); var genResults = await GenerateItemsAsync(genItems); chrono.Stop(); TrackTelemery(genItems, genResults, chrono.Elapsed.TotalSeconds, userSelection.ProjectType, userSelection.Framework, userSelection.Language); }
public async Task UnsafeGenerateNewItemAsync(TemplateType templateType, UserSelection userSelection) { var genItems = GenComposer.ComposeNewItem(userSelection).ToList(); var chrono = Stopwatch.StartNew(); var genResults = await GenerateItemsAsync(genItems, true); chrono.Stop(); TrackTelemery(templateType, genItems, genResults, chrono.Elapsed.TotalSeconds, userSelection.ProjectType, userSelection.Framework, userSelection.Platform); }
public static async Task UnsafeGenerateAsync(UserSelection userSelection) { var genItems = GenComposer.Compose(userSelection).ToList(); var chrono = Stopwatch.StartNew(); var genResults = new Dictionary <string, TemplateCreationResult>(); foreach (var genInfo in genItems) { if (genInfo.Template == null) { continue; } var statusText = GetStatusText(genInfo); if (!string.IsNullOrEmpty(statusText)) { GenContext.ToolBox.Shell.ShowStatusBarMessage(statusText); } AppHealth.Current.Info.TrackAsync($"Generating the template {genInfo.Template.Name} to {GenContext.Current.OutputPath}.").FireAndForget(); var result = await CodeGen.Instance.Creator.InstantiateAsync(genInfo.Template, genInfo.Name, null, GenContext.Current.OutputPath, genInfo.Parameters, false, false, null); genResults.Add($"{genInfo.Template.Identity}_{genInfo.Name}", result); if (result.Status != CreationResultStatus.Success) { throw new GenException(genInfo.Name, genInfo.Template.Name, result.Message); } ExecutePostActions(genInfo, result); } ExecuteGlobalPostActions(genItems); chrono.Stop(); TrackTelemery(genItems, genResults, chrono.Elapsed.TotalSeconds, userSelection.ProjectType, userSelection.Framework); }