private Map<String, String> readVtagMap(String path) {
        Map<String, String> map = new HashMap<>();
        try {
            BufferedReader in = new BufferedReader(new FileReader(path));
            String line;
            while ((line = in.readLine()) != null) {
                if (line.isBlank()) continue;
                String[] elements = line.split("\\s+", 2);
                map.put(elements[0], elements[1]);
            }
        } catch (FileNotFoundException e) {
            // Use default values
            map.put("V_TAG", "NOTAG");
            map.put("V_TAG_DATE", "NOTAG");
            map.put("V_TAG_PKG", "8.9999.0");
            map.put("V_TAG_ARCH", "NOTAG");
            map.put("V_TAG_SYSTEM", "NOTAG");
            map.put("V_TAG_SYSTEM_REV", "NOTAG");
            map.put("V_TAG_BUILDER", "NOTAG");
            map.put("V_TAG_COMPONENT", "8.9999.0");
            map.put("V_TAG_COMMIT_SHA", "badc0ffe");
            map.put("V_TAG_COMMIT_DATE", "0");
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        return map;
    }
This class generates a java class based on the vtag.map file generated by dist/getversion.pl
vespajlib/src/main/java/com/yahoo/vespa/VersionTagger.java