Tue, 30 Jan 2024 21:32:11 +0100
remove unnecessary double-quotes in vars.mk - fixes #370
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 | |
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
5 | import java.util.Arrays; |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
6 | import java.util.LinkedList; |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
7 | import java.util.List; |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
8 | import java.util.function.Predicate; |
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
9 | import java.util.stream.Collectors; |
39
3ca85da78515
add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents:
8
diff
changeset
|
10 | |
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
11 | public final class Dependency { |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
12 | private final String id; |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
13 | private final String name; |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
14 | private final String platform; |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
15 | private final String toolchain; |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
16 | private final String not; |
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
17 | |
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
18 | private final List<ConfigVar> flags = new LinkedList<>(); |
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
19 | private final List<PkgConfigPackage> pkgconfig = new LinkedList<>(); |
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
20 | private final List<String> tests = new LinkedList<>(); |
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
21 | private final List<String> make = new LinkedList<>(); |
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
22 | |
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
23 | private final List<String> lang = new LinkedList<>(); |
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
24 | |
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
25 | public Dependency(Element element) { |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
26 | name = element.getAttribute("name"); |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
27 | id = Util.shId(name); |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
28 | platform = element.getAttribute("platform"); |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
29 | toolchain = element.getAttribute("toolchain"); |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
30 | not = element.getAttribute("not"); |
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
31 | |
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
32 | Util.getChildElements(element).forEach(elm -> { |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
33 | switch (elm.getNodeName()) { |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
34 | case "cflags", "cxxflags", "ldflags" -> flags.add(new ConfigVar(elm, true)); |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
35 | case "pkgconfig" -> pkgconfig.add(new PkgConfigPackage(elm)); |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
36 | case "test" -> tests.add(Util.getContent(elm)); |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
37 | case "make" -> make.add(Util.getContent(elm)); |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
38 | case "lang" -> lang.add(Util.getContent(elm).toLowerCase()); |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
39 | } |
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
40 | }); |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
41 | } |
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
42 | |
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
43 | /** |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
44 | * Returns the ID of this dependency, if it has a name. |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
45 | * @return the ID that can be used for shell scripts - empty if dependency has not a name |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
46 | */ |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
47 | public String getId() { |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
48 | return id; |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
49 | } |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
50 | |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
51 | public boolean hasName() { |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
52 | return !name.isEmpty(); |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
53 | } |
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
54 | |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
55 | public String getName() { |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
56 | return name; |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
57 | } |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
58 | |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
59 | public String getPlatform() { |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
60 | return platform; |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
61 | } |
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
62 | |
39
3ca85da78515
add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents:
8
diff
changeset
|
63 | public String getFullName() { |
103
01ec9f32835e
add toolchain attribute - relates to #346
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
96
diff
changeset
|
64 | String fname = name; |
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
65 | if (!platform.isBlank()) { |
103
01ec9f32835e
add toolchain attribute - relates to #346
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
96
diff
changeset
|
66 | fname += " platform=\"" + platform + '"'; |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
67 | } |
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
68 | if (!toolchain.isBlank()) { |
103
01ec9f32835e
add toolchain attribute - relates to #346
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
96
diff
changeset
|
69 | fname += " toolchain=\"" + toolchain + '"'; |
01ec9f32835e
add toolchain attribute - relates to #346
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
96
diff
changeset
|
70 | } |
01ec9f32835e
add toolchain attribute - relates to #346
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
96
diff
changeset
|
71 | return fname; |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
72 | } |
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
73 | |
5
895bf81d3b6e
add missing source changes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
0
diff
changeset
|
74 | public List<String> getNotList() { |
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
75 | return Arrays.stream(not.split(",")) |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
76 | .map(String::trim) |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
77 | .filter(Predicate.not(String::isEmpty)) |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
78 | .collect(Collectors.toList()); |
103
01ec9f32835e
add toolchain attribute - relates to #346
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
96
diff
changeset
|
79 | } |
01ec9f32835e
add toolchain attribute - relates to #346
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
96
diff
changeset
|
80 | |
01ec9f32835e
add toolchain attribute - relates to #346
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
96
diff
changeset
|
81 | public String getToolchain() { return toolchain; } |
01ec9f32835e
add toolchain attribute - relates to #346
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
96
diff
changeset
|
82 | |
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
83 | public List<ConfigVar> getFlags() { |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
84 | return flags; |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
85 | } |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
86 | |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
87 | public List<PkgConfigPackage> getPkgconfig() { |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
88 | return pkgconfig; |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
89 | } |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
90 | |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
91 | public List<String> getTests() { |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
92 | return tests; |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
93 | } |
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
94 | |
5
895bf81d3b6e
add missing source changes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
0
diff
changeset
|
95 | public String getMake() { |
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
103
diff
changeset
|
96 | return String.join("\n", make); |
5
895bf81d3b6e
add missing source changes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
0
diff
changeset
|
97 | } |
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
98 | |
8
82cd9f1d94cb
add c++ compiler detection
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
5
diff
changeset
|
99 | public List<String> getLang() { |
82cd9f1d94cb
add c++ compiler detection
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
5
diff
changeset
|
100 | return lang; |
82cd9f1d94cb
add c++ compiler detection
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
5
diff
changeset
|
101 | } |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
102 | } |