Example #1
0
        static int Main(string[] args)
        {
            // Turn flag on in app.config to wait for debugger on launch
            if (ConfigurationManager.AppSettings["WaitForDebuggerOnStart"] == "true")
            {
                while (!Debugger.IsAttached)
                {
                    System.Threading.Thread.Sleep(100);
                }
            }

            if (args.Length < 2)
            {
                System.Console.WriteLine("Usage: kudu.exe appRoot wapTargets [deployer]");
                return 1;
            }

            // The post receive hook launches the exe from sh and intereprets newline differently.
            // This fixes very wacky issues with how the output shows up in the conosle on push
            System.Console.Error.NewLine = "\n";
            System.Console.Out.NewLine = "\n";

            System.Environment.SetEnvironmentVariable("GIT_DIR", null, System.EnvironmentVariableTarget.Process);

            var appRoot = args[0];
            var wapTargets = args[1];
            string deployer = args.Length == 2 ? null : args[2];

            IEnvironment env = GetEnvironment(appRoot);
            var settings = new XmlSettings.Settings(GetSettingsPath(env));
            var settingsManager = new DeploymentSettingsManager(settings);

            // Setup the trace
            TraceLevel level = settingsManager.GetTraceLevel();
            var tracer = GetTracer(env, level);
            var traceFactory = new TracerFactory(() => tracer);

            // Calculate the lock path
            string lockPath = Path.Combine(env.SiteRootPath, Constants.LockPath);
            string deploymentLockPath = Path.Combine(lockPath, Constants.DeploymentLockFile);
            var deploymentLock = new LockFile(traceFactory, deploymentLockPath);

            var fs = new FileSystem();
            var buildPropertyProvider = new BuildPropertyProvider();
            var serverRepository = new GitDeploymentRepository(env.RepositoryPath, env.SiteRootPath, traceFactory);
            var builderFactory = new SiteBuilderFactoryDispatcher(settingsManager, buildPropertyProvider, env);

            var logger = new ConsoleLogger();
            var deploymentManager = new DeploymentManager(serverRepository,
                                                          builderFactory,
                                                          env,
                                                          fs,
                                                          traceFactory,
                                                          settingsManager,
                                                          deploymentLock,
                                                          GetLogger(env, level, logger));

            var step = tracer.Step("Executing external process", new Dictionary<string, string>
            {
                { "type", "process" },
                { "path", "kudu.exe" },
                { "arguments", appRoot + " " + wapTargets }
            });

            using (step)
            {
                try
                {
                    deploymentManager.Deploy(deployer);
                }
                catch
                {
                    System.Console.Error.WriteLine(Resources.Log_DeploymentError);

                    throw;
                }
            }

            if (logger.HasErrors)
            {
                System.Console.Error.WriteLine(Resources.Log_DeploymentError);
                return 1;
            }

            return 0;
        }
Example #2
0
        static int Main(string[] args)
        {
            // Turn flag on in app.config to wait for debugger on launch
            if (ConfigurationManager.AppSettings["WaitForDebuggerOnStart"] == "true")
            {
                while (!Debugger.IsAttached)
                {
                    System.Threading.Thread.Sleep(100);
                }
            }

            if (args.Length < 2)
            {
                System.Console.WriteLine("Usage: kudu.exe appRoot wapTargets [deployer]");
                return(1);
            }

            // The post receive hook launches the exe from sh and intereprets newline differently.
            // This fixes very wacky issues with how the output shows up in the conosle on push
            System.Console.Error.NewLine = "\n";
            System.Console.Out.NewLine   = "\n";

            System.Environment.SetEnvironmentVariable("GIT_DIR", null, System.EnvironmentVariableTarget.Process);

            var    appRoot        = args[0];
            var    wapTargets     = args[1];
            string deployer       = args.Length == 2 ? null : args[2];
            string nugetCachePath = null;

            IEnvironment env             = GetEnvironment(appRoot, nugetCachePath);
            var          settings        = new XmlSettings.Settings(GetSettingsPath(env));
            var          settingsManager = new DeploymentSettingsManager(settings);

            // Setup the trace
            TraceLevel level        = settingsManager.GetTraceLevel();
            var        tracer       = GetTracer(env, level);
            var        traceFactory = new TracerFactory(() => tracer);

            // Calculate the lock path
            string lockPath           = Path.Combine(env.SiteRootPath, Constants.LockPath);
            string deploymentLockPath = Path.Combine(lockPath, Constants.DeploymentLockFile);
            var    deploymentLock     = new LockFile(traceFactory, deploymentLockPath);

            var fs = new FileSystem();
            var buildPropertyProvider = new BuildPropertyProvider();
            var serverRepository      = new GitDeploymentRepository(env.RepositoryPath, env.SiteRootPath, traceFactory);
            var builderFactory        = new SiteBuilderFactory(settingsManager, buildPropertyProvider, env);

            var logger            = new ConsoleLogger();
            var deploymentManager = new DeploymentManager(serverRepository,
                                                          builderFactory,
                                                          env,
                                                          fs,
                                                          traceFactory,
                                                          settingsManager,
                                                          deploymentLock,
                                                          GetLogger(env, level, logger));

            var step = tracer.Step("Executing external process", new Dictionary <string, string>
            {
                { "type", "process" },
                { "path", "kudu.exe" },
                { "arguments", appRoot + " " + wapTargets }
            });

            using (step)
            {
                try
                {
                    deploymentManager.Deploy(deployer);
                }
                catch
                {
                    System.Console.Error.WriteLine(Resources.Log_DeploymentError);

                    throw;
                }
            }

            if (logger.HasErrors)
            {
                System.Console.Error.WriteLine(Resources.Log_DeploymentError);
                return(1);
            }

            return(0);
        }
Example #3
0
        static int Main(string[] args)
        {
            if (args.Length < 2)
            {
                System.Console.WriteLine("Usage: kudu.exe appRoot wapTargets [deployer]");
                return 1;
            }

            // The post receive hook launches the exe from sh and intereprets newline differently.
            // This fixes very wacky issues with how the output shows up in the conosle on push
            System.Console.Error.NewLine = "\n";
            System.Console.Out.NewLine = "\n";

            System.Environment.SetEnvironmentVariable("GIT_DIR", null, System.EnvironmentVariableTarget.Process);

            var appRoot = args[0];
            var wapTargets = args[1];
            string deployer = args.Length == 2 ? null : args[2];
            string nugetCachePath = null;

            IEnvironment env = GetEnvironment(appRoot, nugetCachePath);

            // Setup the trace
            string tracePath = Path.Combine(env.ApplicationRootPath, Constants.TracePath, Constants.TraceFile);
            var tracer = new Tracer(tracePath);
            var traceFactory = new TracerFactory(() => tracer);

            // Calculate the lock path
            string lockPath = Path.Combine(env.ApplicationRootPath, Constants.LockPath);
            string deploymentLockPath = Path.Combine(lockPath, Constants.DeploymentLockFile);
            var deploymentLock = new LockFile(traceFactory, deploymentLockPath);

            var fs = new FileSystem();
            var buildPropertyProvider = new BuildPropertyProvider();
            var builderFactory = new SiteBuilderFactory(buildPropertyProvider, env);
            var serverRepository = new GitDeploymentRepository(env.DeploymentRepositoryPath, traceFactory);
            var settings = new XmlSettings.Settings(GetSettingsPath(env));
            var settingsManager = new DeploymentSettingsManager(settings);

            var logger = new ConsoleLogger();
            var deploymentManager = new DeploymentManager(serverRepository,
                                                          builderFactory,
                                                          env,
                                                          fs,
                                                          traceFactory,
                                                          settingsManager,
                                                          deploymentLock,
                                                          logger);

            var step = tracer.Step("Executing external process", new Dictionary<string, string>
            {
                { "type", "process" },
                { "path", "kudu.exe" },
                { "arguments", appRoot + " " + wapTargets }
            });

            using (step)
            {
                try
                {
                    deploymentManager.Deploy(deployer);
                }
                catch
                {
                    System.Console.Error.WriteLine(Resources.Log_DeploymentError);

                    throw;
                }
            }

            if (logger.HasErrors)
            {
                System.Console.Error.WriteLine(Resources.Log_DeploymentError);
                return 1;
            }

            return 0;
        }
Example #4
0
 public SettingManager(string path)
 {
     _settings = new XmlSettings.Settings(path);
 }
Example #5
0
 public SettingManager(string path)
 {
     _settings = new XmlSettings.Settings(path);
 }
Example #6
0
        public void LoadConfiguration(string settingsFile)
        {
            if (!File.Exists(settingsFile))
            {
                MessageBox.Show("Settings file not found: " + settingsFile, "Settins File Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            Status = WGStatus.UNKNOWN;


            try
            {
                XmlSettings.Settings settings = new XmlSettings.Settings(settingsFile);

                DefaultTraceColorList = new List <Color>();

                LambdaComPortName            = settings.GetValue("MAIN", "LambdaComPortName");
                DBServerName                 = settings.GetValue("MAIN", "DBServerName");
                DBName                       = settings.GetValue("MAIN", "DBName");
                DBUsername                   = settings.GetValue("MAIN", "DBUsername");
                DBPassword                   = settings.GetValue("MAIN", "DBPassword");
                MaxPixelValue                = Convert.ToInt32(settings.GetValue("MAIN", "MaxPixelValue"));
                PixelWidth                   = Convert.ToInt32(settings.GetValue("MAIN", "CameraSensorPixelWidth"));
                PixelHeight                  = Convert.ToInt32(settings.GetValue("MAIN", "CameraSensorPixelHeight"));
                MaxNumberImagesPerExperiment = Convert.ToInt32(settings.GetValue("MAIN", "MaxNumberImagesPerExperiment"));


                switch (settings.GetValue("MAIN", "CompressionAlgorithm"))
                {
                case "GZIP":
                    CompressionAlgorithm = COMPRESSION_ALGORITHM.GZIP;
                    break;

                default:
                    CompressionAlgorithm = COMPRESSION_ALGORITHM.NONE;
                    break;
                }


                CameraTargetTemperature = Convert.ToInt32(settings.GetValue("MAIN", "CameraTargetTemperature"));
                CameraDefaultCycleTime  = Convert.ToInt32(settings.GetValue("MAIN", "CameraDefaultCycleTime"));
                InsideTargetTemperature = Convert.ToInt32(settings.GetValue("MAIN", "InsideTargetTemperature"));
                EventMarkerLatency      = Convert.ToInt32(settings.GetValue("MAIN", "EventMarkerLatency"));
                FilterChangeSpeed       = Convert.ToByte(settings.GetValue("MAIN", "FilterChangeSpeed"));
                ImageFileSaveLocation   = settings.GetValue("MAIN", "ImageFileSaveLocation");
                Color color = (Color)ColorConverter.ConvertFromString(settings.GetValue("MAIN", "Color1"));
                if (color != null)
                {
                    DefaultTraceColorList.Add(color);
                }
                color = (Color)ColorConverter.ConvertFromString(settings.GetValue("MAIN", "Color2"));
                if (color != null)
                {
                    DefaultTraceColorList.Add(color);
                }
                color = (Color)ColorConverter.ConvertFromString(settings.GetValue("MAIN", "Color3"));
                if (color != null)
                {
                    DefaultTraceColorList.Add(color);
                }
                color = (Color)ColorConverter.ConvertFromString(settings.GetValue("MAIN", "Color4"));
                if (color != null)
                {
                    DefaultTraceColorList.Add(color);
                }
                color = (Color)ColorConverter.ConvertFromString(settings.GetValue("MAIN", "Color5"));
                if (color != null)
                {
                    DefaultTraceColorList.Add(color);
                }
                color = (Color)ColorConverter.ConvertFromString(settings.GetValue("MAIN", "Color6"));
                if (color != null)
                {
                    DefaultTraceColorList.Add(color);
                }
                color = (Color)ColorConverter.ConvertFromString(settings.GetValue("MAIN", "Color7"));
                if (color != null)
                {
                    DefaultTraceColorList.Add(color);
                }
                color = (Color)ColorConverter.ConvertFromString(settings.GetValue("MAIN", "Color8"));
                if (color != null)
                {
                    DefaultTraceColorList.Add(color);
                }
                VWorksUsername = settings.GetValue("MAIN", "VWorksUsername");
                VWorksPassword = settings.GetValue("MAIN", "VWorksPassword");
                VWorksProtocolFileDirectory               = settings.GetValue("MAIN", "VWorksProtocolFileDirectory");
                UpSignalOptimizePercentCountThreshold     = Convert.ToInt32(settings.GetValue("MAIN", "UpSignalOptimizePercentCountThreshold"));
                DownSignalOptimizePercentCountThreshold   = Convert.ToInt32(settings.GetValue("MAIN", "DownSignalOptimizePercentCountThreshold"));
                UpDownSignalOptimizePercentCountThreshold = Convert.ToInt32(settings.GetValue("MAIN", "UpDownSignalOptimizePercentCountThreshold"));
                MaxCameraTemperatureThresholdDeviation    = Convert.ToInt32(settings.GetValue("MAIN", "MaxCameraTemperatureThresholdDeviation"));
                MaxInsideTemperatureThresholdDeviation    = Convert.ToInt32(settings.GetValue("MAIN", "MaxInsideTemperatureThresholdDeviation"));
                EnclosureCameraIPAddress            = settings.GetValue("MAIN", "EnclosureCameraIPAddress");
                DefaultExcelReportFileDirectory     = settings.GetValue("MAIN", "DefaultExcelReportFileDirectory");
                DefaultWaveGuideReportFileDirectory = settings.GetValue("MAIN", "DefaultWaveGuideReportFileDirectory");
                DefaultExcelFileNameFormat          = settings.GetValue("MAIN", "DefaultExcelFileNameFormat");
                DefaultWaveGuideFileNameFormat      = settings.GetValue("MAIN", "DefaultWaveGuideFileNameFormat");
                DefaultPixelMaskThresholdPercent    = Convert.ToDouble(settings.GetValue("MAIN", "DefaultPixelMaskThresholdPercent"));
                TempControllerIP        = settings.GetValue("MAIN", "TemperatureController_IP");
                EthernetIOModuleIP      = settings.GetValue("MAIN", "EthernetIOModule_IP");
                Enable_EthernetIOModule = settings.GetValue("MAIN", "Enable_EthernetIOModule").ToUpper() == "TRUE" ? true : false;
                Enable_EnclosureTemperatureController = settings.GetValue("MAIN", "Enable_EnclosureTemperatureController").ToUpper() == "TRUE" ? true : false;
                TCPCommand_Port = Convert.ToInt32(settings.GetValue("MAIN", "TCPCommand_Port"));


                DatabaseConnectionString = "Data Source=" + DBServerName + ";Initial Catalog=" + DBName +
                                           ";User ID=" + DBUsername + ";Password="******"Error reading Settings file: " + settingsFile, "Settins File Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }