public override void ExecuteBuild() { int WorkingCL = P4.CreateChange(P4Env.Client, String.Format("TestP4_StrandCheckout, head={0}", P4Env.Changelist)); LogInformation("Build from {0} Working in {1}", P4Env.Changelist, WorkingCL); List <string> Sign = new List <string>(); Sign.Add(CombinePaths(CmdEnv.LocalRoot, @"\Engine\Binaries\DotNET\AgentInterface.dll")); LogInformation("Signing and adding {0} build products to changelist {1}...", Sign.Count, WorkingCL); CodeSign.SignMultipleIfEXEOrDLL(this, Sign); foreach (var File in Sign) { P4.Sync("-f -k " + File + "#head"); // sync the file without overwriting local one if (!FileExists(File)) { throw new AutomationException("BUILD FAILED {0} was a build product but no longer exists", File); } P4.ReconcileNoDeletes(WorkingCL, File); } }