Exemple #1
0
        public void BuildSucceedsForNonApplicationPackage()
        {
            var project = Runtime.Project.GetProject(@"{ }", @"foo", @"c:\foo\project.json");
            var builder = new InstallBuilder(project, null, null);

            Assert.True(builder.Build(@"c:\foo"));
        }
Exemple #2
0
        public void NoCommandsIsNonApplicationPackage()
        {
            var project = Runtime.Project.GetProject(@"{ }", @"foo", @"c:\foo\project.json");
            var builder = new InstallBuilder(project, null, null);

            Assert.False(builder.IsApplicationPackage);
        }
Exemple #3
0
        public void ProjectWithCommandsIsApplicationPackage()
        {
            var project = Runtime.Project.GetProject(@"{ ""commands"" : { ""demo"":""demo"" } }", @"foo", @"c:\foo\project.json");
            var builder = new InstallBuilder(project, null, null);

            Assert.True(builder.IsApplicationPackage);
        }
Exemple #4
0
        public void NotAllowedCommandNamesAreReportedAndTheBuildFails()
        {
            var project = Runtime.Project.GetProject(@"{ ""commands"" : { ""dnx"":""demo"" } }", @"foo", @"c:\foo\project.json");

            var errorReport = new MockReport();
            var builder     = new InstallBuilder(
                project,
                null,
                new Reports()
            {
                Error = errorReport
            });

            Assert.False(builder.Build(@"c:\foo"));
            Assert.Equal(1, errorReport.WriteLineCallCount);
            // TODO: Once we use resources, assert the full message
            Assert.True(errorReport.Messages.First().Contains("dnx"));
        }
        public void NotAllowedCommandNamesAreReportedAndTheBuildFails()
        {
            var project = ProjectUtilities.GetProject(@"{ ""commands"" : { ""dnx"":""demo"" } }", @"foo", @"c:\foo\project.json");

            var errorReport = new MockReport();
            var builder = new InstallBuilder(
                project,
                null,
                new Reports()
                {
                    Error = errorReport
                });

            Assert.False(builder.Build(@"c:\foo"));
            Assert.Equal(1, errorReport.WriteLineCallCount);
            // TODO: Once we use resources, assert the full message
            Assert.True(errorReport.Messages.First().Contains("dnx"));
        }
Exemple #6
0
        public InstallAndStartHostBuilder(HostEnvironment environment, HostSettings settings, string version)
        {
            Environment = environment;
            Settings    = new WindowsHostSettings
            {
                Name                = $"{settings.Name}-{version}",
                DisplayName         = $"{settings.DisplayName} ({version})",
                Description         = settings.Description,
                InstanceName        = settings.InstanceName,
                CanPauseAndContinue = settings.CanPauseAndContinue,
                CanSessionChanged   = settings.CanSessionChanged,
                CanShutdown         = settings.CanShutdown,
            };

            _installBuilder = new InstallBuilder(Environment, Settings);
            _installBuilder.Sudo();

            _startBuilder = new StartBuilder(_installBuilder);
        }
Exemple #7
0
        public void ApplicationScriptsHaveTheCorrectContent()
        {
            using (DisposableDir tempDir = new DisposableDir())
            {
                string testDir = Path.Combine(tempDir, "TestApp");
                Directory.CreateDirectory(testDir);

                string projectFilePath    = Path.Combine(testDir, "project.json");
                string projectFileContent =
                    @"{ 
                    ""commands"" : { 
                        ""cmd1"":""demo1"",
                        ""cmd2"":""demo2""
                    } 
                }";
                File.WriteAllText(projectFilePath, projectFileContent);

                Runtime.Project project;
                Runtime.Project.TryGetProject(projectFilePath, out project);

                var packageManager = new MockPackageManager();
                var infoReport     = new MockReport();

                var builder = new InstallBuilder(
                    project,
                    packageManager,
                    new Reports()
                {
                    Information = infoReport,
                    Verbose     = new MockReport()
                });

                Assert.True(builder.Build(testDir));

                ValidateProjectFile(Path.Combine(testDir, "app", "project.json"));
                ValidateScriptFile(Path.Combine(testDir, "app", "cmd1.cmd"));
                ValidateScriptFile(Path.Combine(testDir, "app", "cmd2.cmd"));
            }
        }
Exemple #8
0
        public void ApplicationScriptsHaveTheCorrectContent()
        {
            using (DisposableDir tempDir = new DisposableDir())
            {
                string testDir = Path.Combine(tempDir, "TestApp");
                Directory.CreateDirectory(testDir);

                string projectFilePath = Path.Combine(testDir, "project.json");
                string projectFileContent =
                @"{
                    ""commands"" : {
                        ""cmd1"":""demo1"",
                        ""cmd2"":""demo2""
                    }
                }";
                File.WriteAllText(projectFilePath, projectFileContent);

                Runtime.Project project;
                Runtime.Project.TryGetProject(projectFilePath, out project);

                var packageManager = new MockPackageManager();
                var infoReport = new MockReport();

                var builder = new InstallBuilder(
                    project,
                    packageManager,
                    new Reports()
                    {
                        Information = infoReport,
                        Verbose = new MockReport()
                    });

                Assert.True(builder.Build(testDir));

                ValidateProjectFile(Path.Combine(testDir, "app", "project.json"));
                ValidateScriptFile(Path.Combine(testDir, "app", "cmd1.cmd"));
                ValidateScriptFile(Path.Combine(testDir, "app", "cmd2.cmd"));
            }
        }
Exemple #9
0
        static void Main(string[] args)
        {
            Dictionary <String, List <String> > parsedArgs = ParseCommandLineArgs(args);

            String sourcePath             = Environment.ExpandEnvironmentVariables("%ZERO_SOURCE%");
            String outputPath             = Environment.ExpandEnvironmentVariables("%ZERO_OUTPUT%");
            String installerPrefix        = "ZeroEngineSetup";
            String zeroEditorOutputSuffix = @"\Out\Win32\Release\ZeroEditor";

            int zeroEngineTimeoutSeconds = 10;

            if (parsedArgs.ContainsKey("-SourcePath"))
            {
                sourcePath = parsedArgs["-SourcePath"][0];
            }
            if (parsedArgs.ContainsKey("-OutputPath"))
            {
                outputPath = parsedArgs["-OutputPath"][0];
            }
            if (parsedArgs.ContainsKey("-prefix"))
            {
                installerPrefix = parsedArgs["-prefix"][0];
            }
            if (parsedArgs.ContainsKey("-outputSuffix"))
            {
                zeroEditorOutputSuffix = parsedArgs["-outputSuffix"][0];
            }
            if (parsedArgs.ContainsKey("-MaxTimeout"))
            {
                int.TryParse(parsedArgs["-MaxTimeout"][0], out zeroEngineTimeoutSeconds);
            }

            InstallBuilder ib = new InstallBuilder();
            String         installerDirectory = ib.Run(sourcePath, outputPath, installerPrefix, zeroEditorOutputSuffix, zeroEngineTimeoutSeconds);
            //ReleaseNoteBuilder rnb = new ReleaseNoteBuilder();
            //rnb.Run(installerDirectory);
        }
Exemple #10
0
 public Director(InstallBuilder installBuilder)
 {
     this.installBuilder = installBuilder;
 }
Exemple #11
0
 public void BuildSucceedsForNonApplicationPackage()
 {
     var project = ProjectUtilities.GetProject(@"{ }", @"foo", @"c:\foo\project.json");
     var builder = new InstallBuilder(project, null, null);
     Assert.True(builder.Build(@"c:\foo"));
 }
Exemple #12
0
 public void ProjectWithCommandsIsApplicationPackage()
 {
     var project = ProjectUtilities.GetProject(@"{ ""commands"" : { ""demo"":""demo"" } }", @"foo", @"c:\foo\project.json");
     var builder = new InstallBuilder(project, null, null);
     Assert.True(builder.IsApplicationPackage);
 }
Exemple #13
0
 public void NoCommandsIsNonApplicationPackage()
 {
     var project = ProjectUtilities.GetProject(@"{ }", @"foo", @"c:\foo\project.json");
     var builder = new InstallBuilder(project, null, null);
     Assert.False(builder.IsApplicationPackage);
 }