Fri, 18 Apr 2025 20:19:53 +0200
fix syntax error in check_cpp_compiler C++ test file
|
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; |
|
39
3ca85da78515
add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents:
8
diff
changeset
|
4 | |
|
72
d1e78c98a250
simplify code which computes the required languages
Mike Becker <universe@uap-core.de>
parents:
67
diff
changeset
|
5 | import java.util.*; |
|
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
6 | |
|
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
7 | public class Project { |
|
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
8 | private final HashMap<String, List<Dependency>> namedDependencies = new HashMap<>(); |
|
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
9 | private final List<Dependency> dependencies = new LinkedList<>(); |
|
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
10 | private final List<Target> targets = new LinkedList<>(); |
|
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
11 | private final List<Option> options = new LinkedList<>(); |
|
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
12 | private final List<Feature> features = new LinkedList<>(); |
|
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
13 | |
|
116
41981a23aff8
add platform attributes to config element
Mike Becker <universe@uap-core.de>
parents:
113
diff
changeset
|
14 | private final List<Config> configList = new LinkedList<>(); |
|
67
e43d30273f74
check compilers before any dependency checks
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
52
diff
changeset
|
15 | |
|
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
16 | private final Set<String> lang = new HashSet<>(); |
|
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
17 | |
|
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
18 | public Project(Element root) { |
|
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
19 | Util.getChildElements(root).forEach(element -> { |
|
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
20 | switch (element.getNodeName()) { |
|
116
41981a23aff8
add platform attributes to config element
Mike Becker <universe@uap-core.de>
parents:
113
diff
changeset
|
21 | case "config" -> configList.add(new Config(element)); |
|
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
22 | case "dependency" -> { |
|
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
23 | final var dependency = new Dependency(element); |
|
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
24 | lang.addAll(dependency.getLang()); |
|
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
25 | if (dependency.hasName()) { |
|
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
26 | namedDependencies.computeIfAbsent(dependency.getId(), k -> new LinkedList<>()).add(dependency); |
|
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
27 | } else { |
|
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
28 | dependencies.add(dependency); |
|
7
686991ae6e2f
add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
0
diff
changeset
|
29 | } |
|
686991ae6e2f
add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
0
diff
changeset
|
30 | } |
|
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
31 | case "target" -> { |
|
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
32 | final var target = new Target(element); |
|
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
33 | targets.add(target); |
|
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
34 | features.addAll(target.getFeatures()); |
|
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
35 | options.addAll(target.getOptions()); |
|
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
36 | } |
|
7
686991ae6e2f
add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
0
diff
changeset
|
37 | } |
|
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
38 | }); |
|
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
39 | |
|
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
40 | // add default target, if no target was specified |
|
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
41 | if (targets.isEmpty()) { |
|
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
42 | targets.add(Target.defaultTarget()); |
|
7
686991ae6e2f
add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
0
diff
changeset
|
43 | } |
|
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
44 | |
|
74
30b70a68ad26
make alldependencies element work - fixes #304
Mike Becker <universe@uap-core.de>
parents:
72
diff
changeset
|
45 | // check if some targets want all named dependencies |
|
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
46 | targets.stream().filter(Target::wantsAllDependencies) |
|
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
47 | .forEach(t -> t.replaceAllDependencies(namedDependencies.keySet())); |
|
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
48 | } |
|
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
49 | |
|
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
50 | public List<NamedDependency> getNamedDependencies() { |
|
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
51 | var ret = new LinkedList<NamedDependency>(); |
|
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
52 | for (var entry : namedDependencies.entrySet()) { |
|
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
109
diff
changeset
|
53 | ret.add(new NamedDependency(entry.getKey(), entry.getValue())); |
|
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
54 | } |
|
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
55 | return ret; |
|
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
56 | } |
|
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
57 | |
|
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
58 | public List<Dependency> getDependencies() { |
|
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
59 | return dependencies; |
|
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
60 | } |
|
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
61 | |
|
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
62 | public List<Target> getTargets() { |
|
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
63 | return targets; |
|
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
64 | } |
|
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
65 | |
|
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
66 | public List<Option> getOptions() { |
|
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
67 | return options; |
|
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
68 | } |
|
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
39
diff
changeset
|
69 | |
|
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
70 | public List<Feature> getFeatures() { |
|
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
71 | return features; |
|
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 | |
|
116
41981a23aff8
add platform attributes to config element
Mike Becker <universe@uap-core.de>
parents:
113
diff
changeset
|
74 | public List<Config> getConfig() { |
|
41981a23aff8
add platform attributes to config element
Mike Becker <universe@uap-core.de>
parents:
113
diff
changeset
|
75 | return configList; |
|
7
686991ae6e2f
add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
0
diff
changeset
|
76 | } |
|
67
e43d30273f74
check compilers before any dependency checks
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
52
diff
changeset
|
77 | |
|
72
d1e78c98a250
simplify code which computes the required languages
Mike Becker <universe@uap-core.de>
parents:
67
diff
changeset
|
78 | public Collection<String> getLang() { |
|
d1e78c98a250
simplify code which computes the required languages
Mike Becker <universe@uap-core.de>
parents:
67
diff
changeset
|
79 | return lang; |
|
67
e43d30273f74
check compilers before any dependency checks
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
52
diff
changeset
|
80 | } |
|
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
81 | } |