import edu.isi.pegasus.planner.dax.*;
public class merge {
public static void main(String[] args) {
ADAG dax = new ADAG("merge");
String[] dirs = new String[] { "/bin","/usr/bin","/usr/local/bin" };
Job[] jobs = new Job[3];
File[] files = new File[3];
for (int i=0; i<3; i++) {
String dir = dirs[i];
Job ls = new Job("ID"+i, "ls");
jobs[i] = ls;
ls.addArgument("-l").addArgument(dir);
File f = new File("bin_"+i+".txt");
files[i] = f;
ls.uses(f, File.LINK.OUTPUT, File.TRANSFER.FALSE, false);
ls.setStdout(f);
dax.addJob(ls);
}
Job cat = new Job("ID3", "cat");
for (File f : files) {
cat.addArgument(f);
cat.uses(f, File.LINK.INPUT);
}
File output = new File("binaries.txt");
cat.setStdout(output);
cat.uses(output, File.LINK.OUTPUT, File.TRANSFER.TRUE, false);
dax.addJob(cat);
for (Job j : jobs) {
dax.addDependency(j, cat);
}
dax.writeToSTDOUT();
}
}