internal ProcessStartInfo MakeInfo(IBuildContext ctxt) { ArchKindResult.AssertCanExecute(Architecture); string args = GetOtherArgs(ctxt); string forced = ForcedArgs; if (forced != null) { if (args.Length > 0) { args += " " + forced; } else { args = forced; } } ProcessStartInfo si = new ProcessStartInfo(GetProgram(ctxt), args); foreach (string k in EnvironmentKeys) { si.EnvironmentVariables[k] = GetEnvironment(k); } return(si); }
protected override void CopyItems(Result[] r) { int t = base.TotalItems; base.CopyItems(r); r[t] = new MBString(ForcedArgs); r[t + 1] = environment; r[t + 2] = new ArchKindResult(Architecture); }
public static void AssertCanExecute(ArchKindResult akr) { AssertCanExecute(akr.Value); }