From 9ed57e36cd6ba4e06e178fcb8ad4ccf8b5c34818 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Tue, 4 Jan 2022 23:48:16 -0500 Subject: [PATCH] more dead code & reducing static magic --- .../main/java/com/rusefi/util/LazyFile.java | 11 +---------- java_tools/ConfigDefinition.jar | Bin 3613383 -> 3613135 bytes .../java/com/rusefi/ConfigDefinition.java | 12 +++--------- .../com/rusefi/output/CHeaderConsumer.java | 5 +++-- 4 files changed, 7 insertions(+), 21 deletions(-) diff --git a/java_console/logging/src/main/java/com/rusefi/util/LazyFile.java b/java_console/logging/src/main/java/com/rusefi/util/LazyFile.java index 01490b42bf..d100572339 100644 --- a/java_console/logging/src/main/java/com/rusefi/util/LazyFile.java +++ b/java_console/logging/src/main/java/com/rusefi/util/LazyFile.java @@ -11,7 +11,6 @@ import java.util.regex.Pattern; public class LazyFile implements Output { public static final String LAZY_FILE_TAG = "was generated automatically by rusEFI tool "; public static final String LAZY_FILE_TAG_LOWER = LAZY_FILE_TAG.toLowerCase(); - private static boolean isLazyCheckEnabled = true; private final String filename; @@ -38,7 +37,7 @@ public class LazyFile implements Output { String fileContent = unifySpaces(readCurrentContent(filename)); String newContent = unifySpaces(contentWithoutTag.toString()); - if (fileContent.equals(newContent) && LazyFile.isLazyCheckEnabled()) { + if (fileContent.equals(newContent)) { SystemOut.println(getClass().getSimpleName() + ": Not updating " + filename + " since looks to be the same content, new content size=" + contentWithoutTag.length()); return; } @@ -57,14 +56,6 @@ public class LazyFile implements Output { fw.close(); } - public static void setLazyFileEnabled(boolean isEnabled) { - LazyFile.isLazyCheckEnabled = isEnabled; - } - - public static boolean isLazyCheckEnabled() { - return LazyFile.isLazyCheckEnabled; - } - public static String unifySpaces(String line) { line = line.replace("\r", ""); return line.replaceAll("\n[\n]*", ""); diff --git a/java_tools/ConfigDefinition.jar b/java_tools/ConfigDefinition.jar index 5866c3367f52640f6e38e52ba8dcdcf7273c1d25..0157b3034491957f6385c516ee5433a42e7a9400 100644 GIT binary patch delta 58116 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%0Aw9K4C&-AQCfkx_-^W0(Xxjgc@ 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 b+s}+r{4x9|JyS`q@z)2LZF?S%7*YQRARA@5 delta 60368 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 HW6}Qu?c{Im diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/ConfigDefinition.java b/java_tools/configuration_definition/src/main/java/com/rusefi/ConfigDefinition.java index 39348aa790..5e86362dc2 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/ConfigDefinition.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/ConfigDefinition.java @@ -4,7 +4,6 @@ import com.rusefi.newparse.ParseState; import com.rusefi.newparse.parsing.Definition; import com.rusefi.output.*; import com.rusefi.util.IoUtils; -import com.rusefi.util.LazyFile; import com.rusefi.util.SystemOut; import java.io.*; @@ -26,9 +25,6 @@ public class ConfigDefinition { private static final String KEY_TS_DESTINATION = "-ts_destination"; private static final String KEY_C_DESTINATION = "-c_destination"; private static final String KEY_C_DEFINES = "-c_defines"; - /** - * @see CHeaderConsumer#withC_Defines - */ private static final String KEY_WITH_C_DEFINES = "-with_c_defines"; private static final String KEY_JAVA_DESTINATION = "-java_destination"; private static final String KEY_ROMRAIDER_DESTINATION = "-romraider_destination"; @@ -81,15 +77,13 @@ public class ConfigDefinition { String signatureDestination = null; String signaturePrependFile = null; List enumInputFiles = new ArrayList<>(); - CHeaderConsumer.withC_Defines = true; + boolean withC_Defines = true; File[] boardYamlFiles = null; String tsOutputsDestination = null; String definitionInputFile = null; // used to update other files List inputFiles = new ArrayList<>(); - // disable the lazy checks because we use timestamps to detect changes - LazyFile.setLazyFileEnabled(true); List destinations = new ArrayList<>(); ReaderState state = new ReaderState(); @@ -111,13 +105,13 @@ public class ConfigDefinition { tsOutputsDestination = args[i + 1]; break; case KEY_C_DESTINATION: - destinations.add(new CHeaderConsumer(state.variableRegistry, args[i + 1])); + destinations.add(new CHeaderConsumer(state.variableRegistry, args[i + 1], withC_Defines)); break; case KEY_ZERO_INIT: needZeroInit = Boolean.parseBoolean(args[i + 1]); break; case KEY_WITH_C_DEFINES: - CHeaderConsumer.withC_Defines = Boolean.parseBoolean(args[i + 1]); + withC_Defines = Boolean.parseBoolean(args[i + 1]); break; case KEY_C_DEFINES: destCDefinesFileName = args[i + 1]; diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/CHeaderConsumer.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/CHeaderConsumer.java index 044608f5f1..20827b2587 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/CHeaderConsumer.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/CHeaderConsumer.java @@ -16,12 +16,13 @@ public class CHeaderConsumer extends BaseCHeaderConsumer { * looks like sometimes we want to not include "define XXX value" into generated C headers * TODO: document the use-case better */ - public static boolean withC_Defines; + private final boolean withC_Defines; private final LazyFile cHeader; private final VariableRegistry variableRegistry; - public CHeaderConsumer(VariableRegistry variableRegistry, String destCHeader) { + public CHeaderConsumer(VariableRegistry variableRegistry, String destCHeader, boolean withC_Defines) { this.variableRegistry = variableRegistry; + this.withC_Defines = withC_Defines; SystemOut.println("Writing C header to " + destCHeader); cHeader = new LazyFile(destCHeader); cHeader.write("// this section " + ConfigDefinition.MESSAGE + EOL);