Exemple #1
0
        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);
            }));
        }
Exemple #3
0
        /// <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);
        }
Exemple #4
0
 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;
            }));
        }
Exemple #6
0
        /// <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);
        }
Exemple #7
0
        [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);
        }
Exemple #8
0
        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));
 }