Sun, 10 Sep 2023 12:59:04 +0200
add simple SLF4J provider - fixes #292
package de.unixwork.uwproj; import org.w3c.dom.Element; import java.util.List; import static de.unixwork.uwproj.Util.isNotNullOrBlank; public class Feature { private String name; private String arg; private boolean def; private TargetData targetData; public static Feature parse(Project project, Element e) throws Exception { Feature feature = new Feature(); String name = e.getAttribute("name"); String arg = e.getAttribute("arg"); String def = e.getAttribute("default"); if (name.isBlank()) { throw new Exception("feature element requires name attribute"); } String ld = def.toLowerCase(); boolean on = ld.equals("on") || ld.equals("true"); feature.setName(name); feature.setDefault(on); if (arg.isBlank()) { feature.setArg(name); } else { feature.setArg(arg); } feature.setTargetData(TargetData.parse(e)); project.addFeature(feature); return feature; } public String getVarName() { return "FEATURE_" + name.toUpperCase(); } public List<String> getDependencies() { return getTargetData().getDependencies(); } public List<Define> getDefines() { return getTargetData().getDefines(); } public String getMake() { return targetData.getMake(); } public boolean hasMake() { return isNotNullOrBlank(targetData.getMake()); } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getArg() { return arg; } public void setArg(String arg) { this.arg = arg; } public boolean isDefault() { return def; } public void setDefault(boolean def) { this.def = def; } public TargetData getTargetData() { return targetData; } public void setTargetData(TargetData targetData) { this.targetData = targetData; } }