2025-02-04 10:18:26 +01:00
|
|
|
package fr.monlouyan.bakefile;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
public class DependencyResolver {
|
2025-02-04 16:27:07 +01:00
|
|
|
private boolean debug;
|
|
|
|
|
|
|
|
public DependencyResolver(boolean debug) {
|
|
|
|
this.debug = debug;
|
|
|
|
}
|
|
|
|
|
2025-02-04 17:31:25 +01:00
|
|
|
public List<Rule> resolve(List<Rule> allRules, List<String> requestedRules) {
|
|
|
|
List<Rule> rulesToBuild = new ArrayList<>();
|
|
|
|
|
|
|
|
for (Rule rule : allRules) {
|
|
|
|
if (requestedRules.isEmpty() || requestedRules.contains(rule.getName()) || rule.isPhony()) {
|
2025-02-04 16:27:07 +01:00
|
|
|
if (debug){
|
2025-02-04 17:31:25 +01:00
|
|
|
System.out.println("Rule " + rule.getName() + " is requested");
|
2025-02-04 16:27:07 +01:00
|
|
|
}
|
2025-02-04 17:31:25 +01:00
|
|
|
rulesToBuild.add(rule);
|
2025-02-04 10:18:26 +01:00
|
|
|
}
|
|
|
|
}
|
2025-02-04 17:31:25 +01:00
|
|
|
return rulesToBuild;
|
2025-02-04 10:18:26 +01:00
|
|
|
}
|
|
|
|
}
|