Sun, 28 Jan 2024 14:02:41 +0100
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 | 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 | 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 | 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 | 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 | } |