src/main/java/de/unixwork/uwproj/TargetData.java

Sun, 28 Jan 2024 14:02:41 +0100

author
Mike Becker <universe@uap-core.de>
date
Sun, 28 Jan 2024 14:02:41 +0100
changeset 113
24f32dbd88cd
parent 92
5a32534f2604
permissions
-rw-r--r--

minimize application code

0
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
1 package de.unixwork.uwproj;
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
2
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
3 import org.w3c.dom.Element;
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
4
41
75ee588d5d9e some more code cleanup
Mike Becker <universe@uap-core.de>
parents: 40
diff changeset
5 import java.util.Arrays;
40
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 0
diff changeset
6 import java.util.LinkedList;
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 0
diff changeset
7 import java.util.List;
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 0
diff changeset
8
92
5a32534f2604 fix empty dependencies element producing broken configure script - fixes #336
Mike Becker <universe@uap-core.de>
parents: 78
diff changeset
9 import static java.util.function.Predicate.not;
78
c3a62e0baa9e fix special chars in dependency names are breaking configure - fixes #312
Mike Becker <universe@uap-core.de>
parents: 41
diff changeset
10
0
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
11 public class TargetData {
40
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 0
diff changeset
12 private final List<Define> defines = new LinkedList<>();
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 0
diff changeset
13 private final List<String> dependencies = new LinkedList<>();
113
24f32dbd88cd minimize application code
Mike Becker <universe@uap-core.de>
parents: 92
diff changeset
14 private final List<String> make = new LinkedList<>();
41
75ee588d5d9e some more code cleanup
Mike Becker <universe@uap-core.de>
parents: 40
diff changeset
15
113
24f32dbd88cd minimize application code
Mike Becker <universe@uap-core.de>
parents: 92
diff changeset
16 public TargetData(Element element) {
24f32dbd88cd minimize application code
Mike Becker <universe@uap-core.de>
parents: 92
diff changeset
17 Util.getChildElements(element).forEach(elm -> {
24f32dbd88cd minimize application code
Mike Becker <universe@uap-core.de>
parents: 92
diff changeset
18 switch (elm.getNodeName()) {
24f32dbd88cd minimize application code
Mike Becker <universe@uap-core.de>
parents: 92
diff changeset
19 case "define" -> defines.add(new Define(
24f32dbd88cd minimize application code
Mike Becker <universe@uap-core.de>
parents: 92
diff changeset
20 elm.getAttribute("name"),
24f32dbd88cd minimize application code
Mike Becker <universe@uap-core.de>
parents: 92
diff changeset
21 elm.getAttribute("value")
24f32dbd88cd minimize application code
Mike Becker <universe@uap-core.de>
parents: 92
diff changeset
22 ));
24f32dbd88cd minimize application code
Mike Becker <universe@uap-core.de>
parents: 92
diff changeset
23 case "dependencies" -> Arrays.stream(Util.getContent(elm).split(","))
24f32dbd88cd minimize application code
Mike Becker <universe@uap-core.de>
parents: 92
diff changeset
24 .map(String::trim)
24f32dbd88cd minimize application code
Mike Becker <universe@uap-core.de>
parents: 92
diff changeset
25 .filter(not(String::isBlank))
24f32dbd88cd minimize application code
Mike Becker <universe@uap-core.de>
parents: 92
diff changeset
26 .map(Util::shId)
24f32dbd88cd minimize application code
Mike Becker <universe@uap-core.de>
parents: 92
diff changeset
27 .forEach(dependencies::add);
24f32dbd88cd minimize application code
Mike Becker <universe@uap-core.de>
parents: 92
diff changeset
28 case "make" -> make.add(Util.getContent(elm));
0
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
29 }
113
24f32dbd88cd minimize application code
Mike Becker <universe@uap-core.de>
parents: 92
diff changeset
30 });
0
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
31 }
41
75ee588d5d9e some more code cleanup
Mike Becker <universe@uap-core.de>
parents: 40
diff changeset
32
0
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
33 public List<Define> getDefines() {
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
34 return defines;
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
35 }
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
36
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
37 public List<String> getDependencies() {
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
38 return dependencies;
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
39 }
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
40
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
41 public String getMake() {
113
24f32dbd88cd minimize application code
Mike Becker <universe@uap-core.de>
parents: 92
diff changeset
42 return String.join("\n", make);
0
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
43 }
41
75ee588d5d9e some more code cleanup
Mike Becker <universe@uap-core.de>
parents: 40
diff changeset
44
113
24f32dbd88cd minimize application code
Mike Becker <universe@uap-core.de>
parents: 92
diff changeset
45 public boolean hasMake() {
24f32dbd88cd minimize application code
Mike Becker <universe@uap-core.de>
parents: 92
diff changeset
46 return !make.isEmpty();
0
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
47 }
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
48 }

mercurial