Files
SAE32_2024/src/fr/monlouyan/bakefile/BakeEngine.java

27 lines
731 B
Java
Raw Normal View History

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");
2025-02-04 17:31:25 +01:00
this.resolver = new DependencyResolver(BakeCLI.isDebug());
this.executor = new CommandExecutor(BakeCLI.isDebug());
}
public void run() {
2025-02-04 17:31:25 +01:00
List<Rule> rules = parser.parse();
List<Rule> rulesToBuild = resolver.resolve(rules, cli.getTargets());
for (Rule rule : rulesToBuild) {
executor.execute(rule);
}
}
2025-02-04 17:31:25 +01:00
}