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 10:18:26 +01:00
|
|
|
public List<Target> resolve(List<Target> allTargets, List<String> requestedTargets) {
|
|
|
|
List<Target> targetsToBuild = new ArrayList<>();
|
|
|
|
for (Target target : allTargets) {
|
|
|
|
if (requestedTargets.isEmpty() || requestedTargets.contains(target.getName())) {
|
2025-02-04 16:27:07 +01:00
|
|
|
if (debug){
|
|
|
|
System.out.println("Target " + target.getName() + " is requested");
|
|
|
|
}
|
2025-02-04 10:18:26 +01:00
|
|
|
targetsToBuild.add(target);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return targetsToBuild;
|
|
|
|
}
|
|
|
|
}
|