示例#1
0
        public static StepResults CopyFile(BuildStep step)
        {
            DateTime start = DateTime.Now;

            StepResults sr = new StepResults ();
            sr.Command = Path.GetFileName (step.Command);

            string source;
            string dest;

            try {
                source = step.Arguments.Split (' ')[0];
                dest = step.Arguments.Split (' ')[1];

            } catch (Exception) {
                sr.Log += string.Format ("CopyFile: Cannot determine source and destination.\nMust be of form: <source> <dest>\nFound: {0}\n", step.Arguments);
                sr.ExecutionTime = DateTime.Now.Subtract (start);
                sr.ExitCode = 1;
                return sr;
            }

            sr.Log += string.Format ("CopyFile: {0} => {1}\n", source, dest);

            try {
                File.Copy (source, dest, true);
                sr.Log += string.Format ("Success.");
                sr.ExitCode = 0;
            } catch (Exception ex) {
                sr.Log += string.Format ("Failed:\n{0}\n", ex.ToString ());
                sr.ExitCode = 1;
            }

            sr.ExecutionTime = DateTime.Now.Subtract (start);

            return sr;
        }
示例#2
0
        public static StepResults DownloadFile(BuildStep step)
        {
            DateTime start = DateTime.Now;

            StepResults sr = new StepResults ();
            sr.Command = Path.GetFileName (step.Command);

            sr.Log += string.Format ("DownloadFile: {0}\n", step.Arguments);

            try {
                if (!Directory.Exists (Path.GetDirectoryName (step.Arguments)))
                    Directory.CreateDirectory (Path.GetDirectoryName (step.Arguments));

                WebClient wc = new WebClient ();
                wc.DownloadFile (step.Arguments, Path.Combine (step.WorkingDirectory, Path.GetFileName (step.Arguments)));

                sr.Log += string.Format ("Success.");
                sr.ExitCode = 0;
            } catch (Exception ex) {
                sr.Log += string.Format ("Failed:\n{0}\n", ex.ToString ());
                sr.ExitCode = 1;
            }

            sr.ExecutionTime = DateTime.Now.Subtract (start);

            return sr;
        }
示例#3
0
        public static StepResults RemoveDirectory(BuildStep step)
        {
            DateTime start = DateTime.Now;

            StepResults sr = new StepResults ();
            sr.Command = Path.GetFileName (step.Command);

            sr.Log += string.Format ("RemoveDirectory: {0}\n", step.Arguments);

            try {
                Directory.Delete (step.Arguments, true);
                sr.Log += string.Format ("Success.");
                sr.ExitCode = 0;
            } catch (Exception ex) {
                sr.Log += string.Format ("Failed:\n{0}\n", ex.ToString ());
                sr.ExitCode = 1;
            }

            sr.ExecutionTime = DateTime.Now.Subtract (start);

            return sr;
        }