package fr.monlouyan.bakefile; import java.util.List; public class BakeEngine { private BakefileParser parser; private DependencyResolver resolver; private CommandExecutor executor; public BakeEngine() { this.parser = new BakefileParser("Bakefile"); this.resolver = new DependencyResolver(BakeCLI.isDebug()); this.executor = new CommandExecutor(BakeCLI.isDebug()); } public void run() { List rules = parser.parse(); List rulesToBuild = resolver.resolve(rules, BakeCLI.getTargets()); for (Rule rule : rulesToBuild) { executor.execute(rule); } } }