diff options
author | gjoranv <gv@verizonmedia.com> | 2022-07-05 10:39:42 +0200 |
---|---|---|
committer | gjoranv <gv@verizonmedia.com> | 2022-07-05 10:39:42 +0200 |
commit | 8d7106d9e839a711008e169b14228c6366e2761e (patch) | |
tree | 2a9791596842a48884a27d723608ae178350b1b6 /configgen/src/main/java/com | |
parent | f2802027f402d5b16f5fffb9cfc5a3d7f7401ab4 (diff) |
Use a flag to enable warning(s) to System.err
- to avoid such warnings in the configserver log.
Diffstat (limited to 'configgen/src/main/java/com')
-rw-r--r-- | configgen/src/main/java/com/yahoo/config/codegen/DefParser.java | 16 | ||||
-rw-r--r-- | configgen/src/main/java/com/yahoo/config/codegen/MakeConfig.java | 3 |
2 files changed, 16 insertions, 3 deletions
diff --git a/configgen/src/main/java/com/yahoo/config/codegen/DefParser.java b/configgen/src/main/java/com/yahoo/config/codegen/DefParser.java index 2ed0bc62d0b..cebb7ca8108 100644 --- a/configgen/src/main/java/com/yahoo/config/codegen/DefParser.java +++ b/configgen/src/main/java/com/yahoo/config/codegen/DefParser.java @@ -18,8 +18,10 @@ public class DefParser { public static final String DEFAULT_PACKAGE_PREFIX = "com.yahoo."; static final Pattern commentPattern = Pattern.compile("^\\s*#+\\s*(.*?)\\s*$"); + // TODO: Version is ignored, remove in Vespa 9 public static final Pattern versionPattern = Pattern.compile("^(version\\s*=\\s*)([0-9][0-9-]*)$"); + // Namespace/package must start with a letter, since Java (Java language Spec, section 3.8) and C++ identifiers cannot start with a digit public static final Pattern namespacePattern = getNamespacePattern("namespace"); public static final Pattern packagePattern = getNamespacePattern("package"); @@ -32,7 +34,7 @@ public class DefParser { private final String name; private InnerCNode root = null; private NormalizedDefinition normalizedDefinition = null; - + private boolean systemErrEnabled = false; private String comment = ""; @@ -54,6 +56,10 @@ public class DefParser { } } + void enableSystemErr() { + systemErrEnabled = true; + } + // If name contains namespace, return just name private String createName(String name) { if (name.contains(".")) { @@ -127,7 +133,7 @@ public class DefParser { } Matcher versionMatch = versionPattern.matcher(line); if (versionMatch.matches()) { - System.err.println("Warning: In config definition '" + name + "': version is deprecated and ignored, please remove, support will be removed in Vespa 9"); + printSystemErr("Warning: In config definition '" + name + "': version is deprecated and ignored, please remove, support will be removed in Vespa 9"); return; } Matcher namespaceMatcher = namespacePattern.matcher(line); @@ -222,7 +228,11 @@ public class DefParser { } - class DefParserException extends Exception { + private void printSystemErr(String s) { + if (systemErrEnabled) System.err.println(s); + } + + static class DefParserException extends Exception { DefParserException(String s, Throwable cause) { super(s, cause); } diff --git a/configgen/src/main/java/com/yahoo/config/codegen/MakeConfig.java b/configgen/src/main/java/com/yahoo/config/codegen/MakeConfig.java index 684dd62a9a2..04f7c90c9b9 100644 --- a/configgen/src/main/java/com/yahoo/config/codegen/MakeConfig.java +++ b/configgen/src/main/java/com/yahoo/config/codegen/MakeConfig.java @@ -30,9 +30,12 @@ public class MakeConfig { for (File specFile : properties.specFiles) { String name = specFile.getName(); if (name.endsWith(".def")) name = name.substring(0, name.length() - 4); + DefParser parser = new DefParser(name, new FileReader(specFile)); + parser.enableSystemErr(); InnerCNode configRoot = parser.getTree(); checkNamespaceAndPacakge(name, configRoot, isCpp(properties)); + if (configRoot != null) { MakeConfig mc = new MakeConfig(configRoot, parser.getNormalizedDefinition(), properties); mc.buildClasses(); |