26 lines
719 B
Java
26 lines
719 B
Java
|
|
package fr.monlouyan.bakefile;
|
||
|
|
|
||
|
|
import java.util.List;
|
||
|
|
|
||
|
|
|
||
|
|
public class BakeEngine {
|
||
|
|
private BakeCLI cli;
|
||
|
|
private BakefileParser parser;
|
||
|
|
private DependencyResolver resolver;
|
||
|
|
private CommandExecutor executor;
|
||
|
|
|
||
|
|
public BakeEngine(BakeCLI cli) {
|
||
|
|
this.cli = cli;
|
||
|
|
this.parser = new BakefileParser("Bakefile");
|
||
|
|
this.resolver = new DependencyResolver();
|
||
|
|
this.executor = new CommandExecutor(cli.isDebug());
|
||
|
|
}
|
||
|
|
|
||
|
|
public void run() {
|
||
|
|
List<Target> targets = parser.parse();
|
||
|
|
List<Target> targetsToBuild = resolver.resolve(targets, cli.getTargets());
|
||
|
|
for (Target target : targetsToBuild) {
|
||
|
|
executor.execute(target);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|