001// SPDX-FileCopyrightText: 2021 Paul Schaub <vanitasvitae@fsfe.org> 002// 003// SPDX-License-Identifier: Apache-2.0 004 005package org.pgpainless.sop; 006 007import java.io.IOException; 008import java.io.InputStream; 009import java.util.Properties; 010 011import sop.operation.Version; 012 013public class VersionImpl implements Version { 014 @Override 015 public String getName() { 016 return "PGPainless-SOP"; 017 } 018 019 @Override 020 public String getVersion() { 021 // See https://stackoverflow.com/a/50119235 022 String version; 023 try { 024 Properties properties = new Properties(); 025 InputStream propertiesFileIn = getClass().getResourceAsStream("/version.properties"); 026 if (propertiesFileIn == null) { 027 throw new IOException("File version.properties not found."); 028 } 029 properties.load(propertiesFileIn); 030 version = properties.getProperty("version"); 031 } catch (IOException e) { 032 version = "DEVELOPMENT"; 033 } 034 return version; 035 } 036}