001/*
002 * Copyright 2015-2024 the original author or authors
003 *
004 * This software is licensed under the Apache License, Version 2.0,
005 * the GNU Lesser General Public License version 2 or later ("LGPL")
006 * and the WTFPL.
007 * You may choose either license to govern your use of this software only
008 * upon the condition that you accept all of the terms of either
009 * the Apache License 2.0, the LGPL 2.1+ or the WTFPL.
010 */
011package org.minidns;
012
013import java.io.BufferedReader;
014import java.io.IOException;
015import java.io.InputStream;
016import java.io.InputStreamReader;
017import java.nio.charset.StandardCharsets;
018import java.util.logging.Level;
019import java.util.logging.Logger;
020
021public class MiniDnsInitialization {
022
023    private static final Logger LOGGER = Logger.getLogger(MiniDnsInitialization.class.getName());
024
025    static final String VERSION;
026
027    static {
028        String miniDnsVersion;
029        BufferedReader reader = null;
030        try {
031            InputStream is = MiniDnsInitialization.class.getClassLoader().getResourceAsStream("org.minidns/version");
032            reader = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8));
033            miniDnsVersion = reader.readLine();
034        } catch (Exception e) {
035            LOGGER.log(Level.SEVERE, "Could not determine MiniDNS version", e);
036            miniDnsVersion = "unkown";
037        } finally {
038            if (reader != null) {
039                try {
040                    reader.close();
041                } catch (IOException e) {
042                    LOGGER.log(Level.WARNING, "IOException closing stream", e);
043                }
044            }
045        }
046        VERSION = miniDnsVersion;
047    }
048}