private static void FirstRun(IEngineEnvironmentSettings environmentSettings, IInstaller installer) { string codebase = typeof(Program).GetTypeInfo().Assembly.CodeBase; Uri cb = new Uri(codebase); string asmPath = cb.LocalPath; string dir = Path.GetDirectoryName(asmPath); string packages = Path.Combine(dir, "..", "..", "..", "..", "..", "artifacts", "packages") + Path.DirectorySeparatorChar + "*"; string templates = Path.Combine(dir, "..", "..", "..", "..", "..", "template_feed") + Path.DirectorySeparatorChar; string testTemplates = Path.Combine(dir, "test_templates") + Path.DirectorySeparatorChar; installer.InstallPackages(new[] { packages }); installer.InstallPackages(new[] { templates, testTemplates }); }
private static void FirstRun(IEngineEnvironmentSettings environmentSettings, IInstaller installer) { var packages = new List <string> { "VitalElement.AvalonStudio.Templates" }; installer.InstallPackages(packages); }
private static void FirstRun(IEngineEnvironmentSettings environmentSettings, IInstaller installer) { var templateFolders = GetTemplateFolders(environmentSettings); foreach (var templateFolder in templateFolders) { var layoutIncludedPackages = environmentSettings.Host.FileSystem.EnumerateFiles(templateFolder, "*.nupkg", SearchOption.TopDirectoryOnly); installer.InstallPackages(layoutIncludedPackages); } }
private static void FirstRun(ITemplateEngineHost host, IInstaller installer) { var templatesDir = Path.Combine(Paths.Global.BaseDir, "Templates"); if (templatesDir.Exists()) { var layoutIncludedPackages = host.FileSystem.EnumerateFiles(templatesDir, "*.nupkg", SearchOption.TopDirectoryOnly); installer.InstallPackages(layoutIncludedPackages); } }
private static void FirstRun(IEngineEnvironmentSettings environmentSettings, IInstaller installer) { string baseDir = Environment.ExpandEnvironmentVariables("%DN3%"); if (baseDir.Contains('%')) { Assembly a = typeof(Program).GetTypeInfo().Assembly; string path = new Uri(a.CodeBase, UriKind.Absolute).LocalPath; path = Path.GetDirectoryName(path); Environment.SetEnvironmentVariable("DN3", path); } string[] packageList; Paths paths = new Paths(environmentSettings); if (paths.FileExists(paths.Global.DefaultInstallPackageList)) { packageList = paths.ReadAllText(paths.Global.DefaultInstallPackageList).Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries); if (packageList.Length > 0) { for (int i = 0; i < packageList.Length; ++i) { packageList[i] = packageList[i].Replace('\\', Path.DirectorySeparatorChar); } installer.InstallPackages(packageList); } } if (paths.FileExists(paths.Global.DefaultInstallTemplateList)) { packageList = paths.ReadAllText(paths.Global.DefaultInstallTemplateList).Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries); if (packageList.Length > 0) { for (int i = 0; i < packageList.Length; ++i) { packageList[i] = packageList[i].Replace('\\', Path.DirectorySeparatorChar); } installer.InstallPackages(packageList); } } }
private static void InstallAllTemplatesOnFirstRun(IEngineEnvironmentSettings environmentSettings, IInstaller installer) { string codebase = typeof(BootstrapperFactory).GetTypeInfo().Assembly.Location; string dir = Path.GetDirectoryName(codebase); string templates = Path.Combine(dir, "..", "..", "..", "..", "..", "template_feed") + Path.DirectorySeparatorChar; string testTemplates = Path.Combine(dir, "..", "..", "..", "..", "..", "test", "Microsoft.TemplateEngine.TestTemplates", "test_templates") + Path.DirectorySeparatorChar; installer.InstallPackages(new[] { templates, testTemplates }); }
public void ApplyUpdates(IInstaller installer, IReadOnlyList <IUpdateUnitDescriptor> updatesToApply) { // TODO: revisit whether this should happen, or something else. if (updatesToApply.Any(x => x.InstallUnitDescriptor.FactoryId != DescriptorFactoryId)) { throw new Exception("Incorrect descriptor type"); } installer.InstallPackages(updatesToApply.Select(x => x.InstallString)); }
private static void FirstRun(IEngineEnvironmentSettings environmentSettings, IInstaller installer) { Paths paths = new Paths(environmentSettings); var templatesDir = Path.Combine(paths.Global.BaseDir, "Templates"); if (paths.Exists(templatesDir)) { var layoutIncludedPackages = environmentSettings.Host.FileSystem.EnumerateFiles(templatesDir, "*.nupkg", SearchOption.TopDirectoryOnly); installer.InstallPackages(layoutIncludedPackages); } }
private static void FirstRun(IEngineEnvironmentSettings environmentSettings, IInstaller installer) { string[] packageList; Paths paths = new Paths(environmentSettings); if (paths.FileExists(paths.Global.DefaultInstallPackageList)) { packageList = paths.ReadAllText(paths.Global.DefaultInstallPackageList).Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries); if (packageList.Length > 0) { installer.InstallPackages(packageList); } } if (paths.FileExists(paths.Global.DefaultInstallTemplateList)) { packageList = paths.ReadAllText(paths.Global.DefaultInstallTemplateList).Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries); if (packageList.Length > 0) { installer.InstallPackages(packageList); } } }
private static void FirstRun(IEngineEnvironmentSettings environmentSettings, IInstaller installer) { string dn3Path = Environment.GetEnvironmentVariable("DN3"); if (string.IsNullOrEmpty(dn3Path)) { string path = typeof(Program).Assembly.Location; while (path != null && !File.Exists(Path.Combine(path, "Microsoft.TemplateEngine.sln"))) { path = Path.GetDirectoryName(path); } if (path == null) { environmentSettings.Host.LogDiagnosticMessage("Couldn't the setup package location, because \"Microsoft.TemplateEngine.sln\" is not in any of parent directories.", "Install"); return; } Environment.SetEnvironmentVariable("DN3", path); } List <string> toInstallList = new List <string>(); Paths paths = new Paths(environmentSettings); if (paths.FileExists(paths.Global.DefaultInstallTemplateList)) { toInstallList.AddRange(paths.ReadAllText(paths.Global.DefaultInstallTemplateList).Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)); } if (toInstallList.Count > 0) { for (int i = 0; i < toInstallList.Count; i++) { toInstallList[i] = toInstallList[i].Replace('\\', Path.DirectorySeparatorChar); } installer.InstallPackages(toInstallList); } // copy the in-box nuget template search metadata file. if (paths.FileExists(paths.Global.DefaultInstallTemplateSearchData)) { paths.Copy(paths.Global.DefaultInstallTemplateSearchData, paths.User.NuGetScrapedTemplateSearchFile); } }
private static void FirstRun(IEngineEnvironmentSettings environmentSettings, IInstaller installer) { string baseDir = Environment.ExpandEnvironmentVariables("%DN3%"); if (baseDir.Contains('%')) { Assembly a = typeof(Program).GetTypeInfo().Assembly; string path = new Uri(a.CodeBase, UriKind.Absolute).LocalPath; path = Path.GetDirectoryName(path); Environment.SetEnvironmentVariable("DN3", path); } List <string> toInstallList = new List <string>(); Paths paths = new Paths(environmentSettings); if (paths.FileExists(paths.Global.DefaultInstallPackageList)) { toInstallList.AddRange(paths.ReadAllText(paths.Global.DefaultInstallPackageList).Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries)); } if (paths.FileExists(paths.Global.DefaultInstallTemplateList)) { toInstallList.AddRange(paths.ReadAllText(paths.Global.DefaultInstallTemplateList).Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries)); } if (toInstallList.Count > 0) { for (int i = 0; i < toInstallList.Count; i++) { toInstallList[i] = toInstallList[i].Replace("\r", "") .Replace('\\', Path.DirectorySeparatorChar); } installer.InstallPackages(toInstallList); } // copy the in-box nuget template search metadata file. if (paths.FileExists(paths.Global.DefaultInstallTemplateSearchData)) { paths.Copy(paths.Global.DefaultInstallTemplateSearchData, paths.User.NuGetScrapedTemplateSearchFile); } }
public void ApplyUpdates(IInstaller installer, IReadOnlyList <IUpdateUnitDescriptor> updatesToApply) { IReadOnlyList <IUpdateUnitDescriptor> filteredUpdateToApply = updatesToApply.Where(x => x.InstallUnitDescriptor.FactoryId == DescriptorFactoryId).ToList(); installer.InstallPackages(filteredUpdateToApply.Select(x => x.InstallString)); }