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; }
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; }
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; }