protected override async Task GenerateCode() { var destinationPath = Path.Combine(ApplicationEnvironment.ApplicationBasePath, Constants.ViewsFolderName, Constants.SharedViewsFolderName); await CopyFolderContentsRecursive(destinationPath, TemplateFolders.First()); var staticFilesInstaller = ActivatorUtilities.CreateInstance <StaticFilesDependencyInstaller>(ServiceProvider); await staticFilesInstaller.Execute(); }
protected override void ProcessRecordCore() { if ((TemplateFolders == null) || (!TemplateFolders.Any())) { throw new InvalidOperationException("Provide at least one TemplateSource"); } if (string.IsNullOrEmpty(Template)) { throw new InvalidOperationException("'Template' parameter cannot be null or empty"); } // Determine the code language if (string.IsNullOrEmpty(CodeLanguage)) { var project = SolutionManager.GetProject(string.IsNullOrEmpty(Project) ? SolutionManager.DefaultProjectName : Project); if (project == null) { WriteError(string.Format("Could not find project '{0}'", Project ?? string.Empty)); return; } CodeLanguage = project.GetCodeLanguage(); if (string.IsNullOrEmpty(CodeLanguage)) { throw new InvalidOperationException(string.Format("Cannot determine code language for default project '{0}'. Try specifying the code language via the -CodeLanguage parameter.", project.Name)); } } var templateFilename = string.Format("{0}.{1}.t4", Template, CodeLanguage); List <string> foldersSearched = new List <string>(); string matchingTemplate = (from folderPath in TemplateFolders select GetMatchingTemplateFromSpecificFolder(folderPath.ToString(), templateFilename, foldersSearched)) .FirstOrDefault(x => !string.IsNullOrEmpty(x)); if (!string.IsNullOrEmpty(matchingTemplate)) { WriteVerbose(string.Format("Found template '{0}' at '{1}'", Template, matchingTemplate)); WriteObject(matchingTemplate); } else { var message = string.Format("Could not find template '{0}' below folders ['{1}']", templateFilename, string.Join(", ", foldersSearched)); if (ErrorIfNotFound.IsPresent) { WriteError(message); } else { WriteVerbose(message); } } }
private static List <DbTemplate> AddYmlTemplates(this Db db, List <DbItem> items, bool merge = false) { List <DbTemplate> templates = new List <DbTemplate>(); if (items != null && items.Count > 0) { templates = Templates.Get(items); db.AddRange(TemplateFolders.Get(items), merge); db.AddRange(templates, merge); } return(templates); }
protected override async Task GenerateCode() { await CopyFolderContentsRecursive(GetWebRoot(), TemplateFolders.First()); }