/** Run a job up to the <code>goal</code> pass. */ public boolean runToPass(Job job, Pass goal) { if (Report.should_report(Report.frontend, 1)) Report.report(1, "Running " + job + " to pass " + goal); while (!job.pendingPasses().isEmpty()) { Pass pass = (Pass) job.pendingPasses().get(0); try { runPass(job, pass); } catch (CyclicDependencyException e) { // cause the pass to fail. job.finishPass(pass, false); } if (pass == goal) { break; } } if (job.completed()) { if (Report.should_report(Report.frontend, 1)) Report.report(1, "Job " + job + " completed"); } return job.status(); }
/** Run a job until the <code>goal</code> pass completes. */ public boolean runToPass(Job job, Pass.ID goal) { if (Report.should_report(Report.frontend, 1)) Report.report(1, "Running " + job + " to pass named " + goal); if (job.completed(goal)) { return true; } Pass pass = job.passByID(goal); return runToPass(job, pass); }