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

Tue, 19 Sep 2023 19:29:19 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Tue, 19 Sep 2023 19:29:19 +0200
changeset 67
e43d30273f74
parent 42
becfbf7af928
child 81
ea79a383ad75
permissions
-rw-r--r--

check compilers before any dependency checks

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.apache.velocity.VelocityContext;
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
4 import org.apache.velocity.app.VelocityEngine;
42
becfbf7af928 add simple SLF4J provider - fixes #292
Mike Becker <universe@uap-core.de>
parents: 39
diff changeset
5 import org.slf4j.LoggerFactory;
39
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
6
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
7 import java.io.*;
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
8
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
9 public class Main {
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
10
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
11 static Project loadProjectFile(String fileName) {
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
12 try {
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
13 return new Project(new File(fileName));
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
14 } catch (Exception e) {
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
15 throw new RuntimeException(e);
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
16 }
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
17 }
0
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
18
39
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
19 static void writeConfigureScript(Writer out, String tplFileName, Project project) {
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
20 var context = new VelocityContext();
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
21 context.put("targets", project.getTargets());
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
22 context.put("namedDependencies", project.getNamedDependencies());
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
23 context.put("dependencies", project.getDependencies());
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
24 context.put("options", project.getOptions());
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
25 context.put("features", project.getFeatures());
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
26 context.put("project", project);
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
27 context.put("vars", project.getVars());
67
e43d30273f74 check compilers before any dependency checks
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 42
diff changeset
28 context.put("languages", project.getLang());
39
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
29 new VelocityEngine().getTemplate(tplFileName).merge(context, out);
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
30 }
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
31
42
becfbf7af928 add simple SLF4J provider - fixes #292
Mike Becker <universe@uap-core.de>
parents: 39
diff changeset
32 public static void main(String[] args) {
39
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
33 final var inFileName = "make/project.xml";
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
34 final var tplFileName = "make/configure.vm";
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
35 final var outFileName = "configure";
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
36
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
37 try (var out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFileName)))) {
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
38 writeConfigureScript(out, tplFileName, loadProjectFile(inFileName));
0
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
39 } catch (Exception ex) {
42
becfbf7af928 add simple SLF4J provider - fixes #292
Mike Becker <universe@uap-core.de>
parents: 39
diff changeset
40 LoggerFactory.getLogger(Main.class).error(
becfbf7af928 add simple SLF4J provider - fixes #292
Mike Becker <universe@uap-core.de>
parents: 39
diff changeset
41 "Uncaught Exception",
becfbf7af928 add simple SLF4J provider - fixes #292
Mike Becker <universe@uap-core.de>
parents: 39
diff changeset
42 ex
becfbf7af928 add simple SLF4J provider - fixes #292
Mike Becker <universe@uap-core.de>
parents: 39
diff changeset
43 );
0
38775db5fdf5 add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
44 }
39
3ca85da78515 add RegressionTest - fixes #264
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
45
42
becfbf7af928 add simple SLF4J provider - fixes #292
Mike Becker <universe@uap-core.de>
parents: 39
diff changeset
46 System.out.println("Out: " + outFileName);
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