LiveData source files list is now defined in yaml format

This commit is contained in:
rusefi 2019-08-31 22:54:45 -04:00
parent 999542172a
commit 3f0665255d
4 changed files with 51 additions and 17 deletions

View File

@ -2,11 +2,6 @@ rem TODO better place for this stuff, more automation so that each file does not
rm gen_config2.log
set LIVE_DOCS_COMMAND=java -DSystemOut.name=gen_config2 ^
-cp ../java_tools/ConfigDefinition.jar ^
com.rusefi.ldmp.LiveDocsMetaParser ^
"../"
java -DSystemOut.name=gen_config2 ^
-jar ../java_tools/ConfigDefinition.jar ^
-definition integration/engine_state.txt ^
@ -29,14 +24,6 @@ java -DSystemOut.name=gen_config2 ^
-java_destination ../java_console/models/src/com/rusefi/config/generated/TriggerState.java ^
-c_destination controllers/generated/trigger_structs.h
%LIVE_DOCS_COMMAND% controllers/actuators/idle_thread.cpp
%LIVE_DOCS_COMMAND% controllers/trigger/trigger_decoder.cpp
%LIVE_DOCS_COMMAND% controllers/sensors/thermistors.cpp
%LIVE_DOCS_COMMAND% controllers/sensors/tps.cpp
%LIVE_DOCS_COMMAND% controllers/math/speed_density.cpp
%LIVE_DOCS_COMMAND% controllers/algo/fuel_math.cpp
%LIVE_DOCS_COMMAND% controllers/actuators/electronic_throttle.cpp
java -DSystemOut.name=gen_config2 ^
-jar ../java_tools/ConfigDefinition.jar ^
-definition integration/wall_fuel.txt ^
@ -44,4 +31,6 @@ java -DSystemOut.name=gen_config2 ^
-java_destination ../java_console/models/src/com/rusefi/config/generated/WallFuelState.java ^
-c_destination controllers/generated/wall_fuel.h
%LIVE_DOCS_COMMAND% controllers/algo/accel_enrichment.cpp
java -DSystemOut.name=gen_config2 ^
-cp ../java_tools/ConfigDefinition.jar;../java_tools/configuration_definition/lib/snakeyaml.jar ^
com.rusefi.ldmp.UsagesReader integration/LiveData.yaml

View File

@ -0,0 +1,11 @@
Destination: "../java_console"
Usages:
- "controllers/actuators/idle_thread.cpp"
- "controllers/trigger/trigger_decoder.cpp"
- "controllers/sensors/thermistors.cpp"
- "controllers/sensors/tps.cpp"
- "controllers/math/speed_density.cpp"
- "controllers/algo/fuel_math.cpp"
- "controllers/actuators/electronic_throttle.cpp"
- "controllers/algo/accel_enrichment.cpp"

View File

@ -37,12 +37,16 @@ public class LiveDocsMetaParser {
throw new IllegalArgumentException("Two arguments expected but " + Arrays.toString(args));
String destinationPath = args[0];
String fileName = args[1];
MetaInfo metaInfo = getMetaFromFile(fileName);
handleMetaData(destinationPath, fileName);
}
public static void handleMetaData(String destinationPath, String inputFileName) throws IOException {
MetaInfo metaInfo = getMetaFromFile(inputFileName);
SystemOut.println(metaInfo);
String className = getClassName(fileName);
String className = getClassName(inputFileName);
String javaCode = generateJavaCode(metaInfo, className);
FileWriter fw = new FileWriter(destinationPath + "java_console/ui/src/com/rusefi/ldmp/generated/" + className + ".java");
FileWriter fw = new FileWriter(destinationPath + "/ui/src/com/rusefi/ldmp/generated/" + className + ".java");
fw.write(javaCode);
fw.close();
SystemOut.close();

View File

@ -0,0 +1,30 @@
package com.rusefi.ldmp;
import com.rusefi.util.SystemOut;
import org.yaml.snakeyaml.Yaml;
import java.io.FileReader;
import java.io.IOException;
import java.util.List;
import java.util.Map;
public class UsagesReader {
public static void main(String[] args) throws IOException {
if (args.length != 1) {
System.err.println("One parameter expected: name of live data yaml input file");
System.exit(-1);
}
String yamlFileName = args[0];
Yaml yaml = new Yaml();
Map<String, Object> data = yaml.load(new FileReader(yamlFileName));
SystemOut.println(data);
String destination = (String) data.get("Destination");
List<String> usages = (List) data.get("Usages");
SystemOut.println("Usages: " + usages);
for (String fileName : usages) {
LiveDocsMetaParser.handleMetaData(destination, fileName);
}
}
}