public static void RunAndReturn(InitOptions options) { var path = string.IsNullOrWhiteSpace(options.Folder) ? "." : options.Folder; var currentFolder = new DirectoryInfo(path); var packageFile = GetPackageFile(options.Folder); var setup = new PackageSetup(); Console.WriteLine(Resources.Init_Header); Console.WriteLine(); // gather all the user input setup.Name = GetUserInput(Resources.Init_PackageName, Path.GetFileName(currentFolder.Name)); setup.Description = GetUserInput(Resources.Init_Description, Defaults.Init_Description); setup.Version = GetVersionString(Resources.Init_Version, Defaults.Init_Version); setup.Url = GetUserInput(Resources.Init_Url, Defaults.Init_Url); setup.UmbracoVersion = GetVersionString(Resources.Init_UmbracoVersion, Defaults.Init_UmbracoVersion); setup.Author = GetUserInput(Resources.Init_Author, Environment.UserName); setup.Website = GetUserInput(Resources.Init_Website, Defaults.Init_Website); setup.Licence = GetUserInput(Resources.Init_Licence, Defaults.Init_Licence); setup.Contributors = GetUserInput(Resources.Init_Contributors, null); // play it back for confirmation Console.WriteLine(); Console.WriteLine(Resources.Init_Confirm, packageFile); var node = MakePackageFile(setup); Console.WriteLine(node.Element("info").ToString()); // confirm var confirm = GetUserInput(Resources.Init_Prompt, Defaults.Init_Prompt).ToUpper(); if (confirm[0] == 'Y') { // save xml to disk. node.Save(packageFile); Console.WriteLine(Resources.Init_Complete); Environment.Exit(0); } else { Environment.Exit(1); } }
public HttpResponseMessage UpdatePackageSetup(HttpRequestMessage request, [FromBody] PackageSetup packagesetupModel) { return(GetHttpResponse(request, () => { var packagesetup = _ExtractionProcessService.UpdatePackageSetup(packagesetupModel); return request.CreateResponse <PackageSetup>(HttpStatusCode.OK, packagesetup); })); }
/// <summary> /// Make a package xml from the options /// </summary> /// <param name="options">options entered by the user</param> /// <returns>XElement containing the package.xml info</returns> private static XElement MakePackageFile(PackageSetup options) { var node = new XElement("umbPackage"); var info = new XElement("info"); var package = new XElement("package"); package.Add(new XElement("name", options.Name)); package.Add(new XElement("version", options.Version)); package.Add(new XElement("iconUrl", "")); package.Add(new XElement("licence", options.Licence, new XAttribute("url", GetLicenceUrl(options.Licence)))); package.Add(new XElement("url", options.Url)); package.Add(new XElement("requirements", new XAttribute("type", "strict"), new XElement("major", options.UmbracoVersion.Major), new XElement("minor", options.UmbracoVersion.Minor), new XElement("patch", options.UmbracoVersion.Patch))); info.Add(package); info.Add(new XElement("author", new XElement("name", options.Author), new XElement("website", options.Website))); var contributors = options.Contributors?.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries) .Where(x => !string.IsNullOrWhiteSpace(x)) .Select(s => s.Trim()) .ToArray(); if (contributors?.Length > 0) { info.Add(new XElement("contributors", contributors.Select(c => new XElement("contributor", c)) )); } info.Add(new XElement("readme", new XCData(options.Description))); node.Add(info); node.Add(new XElement("files")); node.Add(new XElement("Actions")); node.Add(new XElement("control")); node.Add(new XElement("DocumentTypes")); node.Add(new XElement("Templates")); node.Add(new XElement("Stylesheets")); node.Add(new XElement("Macros")); node.Add(new XElement("DictionaryItems")); node.Add(new XElement("Languages")); node.Add(new XElement("DataTypes")); return(node); }
private void AssertLocalSetup(PackageSetup actualSetup, IEnumerable <MockPackageSpec> expectedSetup) { Assert.AreEqual( expectedSetup.Count(), actualSetup.Packages.Count, "Number of registered Duality packages in local setup"); CollectionAssert.AreEquivalent( expectedSetup.Select(p => p.Name), actualSetup.Packages.Select(p => p.Name), "Registered Duality packages in local setup"); }
public HttpResponseMessage GetPackageSetup(HttpRequestMessage request) { return(GetHttpResponse(request, () => { HttpResponseMessage response = null; PackageSetup packagesetup = _ExtractionProcessService.GetFirstPackageSetup(); // notice no need to create a seperate model object since PackageSetup entity will do just fine response = request.CreateResponse <PackageSetup>(HttpStatusCode.OK, packagesetup); return response; })); }
/// <summary> /// Make a package xml from the options /// </summary> /// <param name="options">options entered by the user</param> /// <returns>XElement containing the package.xml info</returns> private static XElement MakePackageFile(PackageSetup options) { var node = new XElement("umbPackage"); var info = new XElement("info"); var package = new XElement("package"); package.Add(new XElement("name", options.Name)); package.Add(new XElement("version", options.Version)); package.Add(new XElement("iconUrl", "")); package.Add(new XElement("licence", options.Licence, new XAttribute("url", GetLicenceUrl(options.Licence)))); package.Add(new XElement("url", options.Url)); package.Add(new XElement("requirements", new XAttribute("type", "strict"), new XElement("major", options.UmbracoVersion.Major), new XElement("minor", options.UmbracoVersion.Minor), new XElement("patch", options.UmbracoVersion.Patch))); info.Add(package); info.Add(new XElement("author", new XElement("name", options.Author), new XElement("website", options.Website))); info.Add(new XElement("readme", new XCData(options.Description))); node.Add(info); node.Add(new XElement("files")); node.Add(new XElement("Actions")); node.Add(new XElement("control")); node.Add(new XElement("DocumentTypes")); node.Add(new XElement("Templates")); node.Add(new XElement("Stylesheets")); node.Add(new XElement("Macros")); node.Add(new XElement("DictionaryItems")); node.Add(new XElement("Languages")); node.Add(new XElement("DataTypes")); return(node); }
[SetUp] public void Init() { if (Directory.Exists(TestBasePath)) { Directory.Delete(TestBasePath, true); } Directory.CreateDirectory(TestClientPath); Directory.CreateDirectory(TestRepositoryPath); string relativeRepositoryPath = PathHelper.MakeDirectoryPathRelative( TestRepositoryPath, TestClientPath); this.workEnv = new PackageManagerEnvironment(TestClientPath); this.setup = new PackageSetup(); this.setup.RepositoryUrls.Clear(); this.setup.RepositoryUrls.Add(relativeRepositoryPath); }
public void CreateWebsite() { Website website = new Website { Name = "Test Website", PhysicalPath = @"C:\windows\temp", ApplicationPool = new ApplicationPool() { Enable32BitAppOnWin64 = false, IdleTimeout = 0, ManagedRuntimeVersion = "v4.0", MaxProcesses = 1, Name = "Test Application Pool", PeriodicRestartTime = 0, Identity = "NetworkService" } }; website.Bindings.Add(new Binding() { Hostname = "www.keine-ahnung.de", Port = 80, Protocol = "http", Website = website }); website.Bindings.Add(new Binding() { Hostname = "www.keine-ahnung.de", Port = 443, Protocol = "https", Website = website, SslThumbPrint = "8AFB1487462DEF7EB64FCEB5F57478E30FFD105D" }); var package = new Package(); package.Websites.Add(website); var setup = new PackageSetup(); setup.InstallPackage(package); }
public PackageSetup UpdatePackageSetup(PackageSetup packageSetup) { return(Channel.UpdatePackageSetup(packageSetup)); }