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

Wed, 06 Sep 2023 21:08:04 +0200

author
Mike Becker <universe@uap-core.de>
date
Wed, 06 Sep 2023 21:08:04 +0200
changeset 39
3ca85da78515
parent 7
686991ae6e2f
child 42
becfbf7af928
permissions
-rw-r--r--

add RegressionTest - fixes #264

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

mercurial