X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=kona%2Fsrc%2Forg%2Fgffs%2Fversion%2FVersionManager.java;fp=kona%2Fsrc%2Forg%2Fgffs%2Fversion%2FVersionManager.java;h=16d9b50596341cac67ae0b7b7c80c239aca85091;hb=13679382916f379ef7fc0cf02693f0186a905835;hp=0000000000000000000000000000000000000000;hpb=909697fd6009240b5bf2643d54b129b06b733953;p=feisty_meow.git diff --git a/kona/src/org/gffs/version/VersionManager.java b/kona/src/org/gffs/version/VersionManager.java new file mode 100644 index 00000000..16d9b505 --- /dev/null +++ b/kona/src/org/gffs/version/VersionManager.java @@ -0,0 +1,41 @@ +package org.gffs.version; + +import java.io.File; +import java.io.IOException; + +import org.gffs.application.ProgramTools; + +public class VersionManager +{ + static private final String VERSION_FILENAME = "current.version"; + + private Version _currentVersion; + private File _versionFile; + + public VersionManager() + { + _versionFile = new File(ProgramTools.getInstallationDirectory(), VERSION_FILENAME); + _currentVersion = null; + } + + public Version getCurrentVersion() throws IOException + { + if (_currentVersion == null) { + // we go with the installer scheme to start with, where there's a current.version in the + // top-level. + if (!_versionFile.exists()) { + // try failing over to the source code's version of the file inside the installer + // directory. + _versionFile = new File(ProgramTools.getInstallationDirectory(), "installer/" + VERSION_FILENAME); + if (!_versionFile.exists()) { + _currentVersion = Version.EMPTY_VERSION; + } + } + if (_versionFile.exists()) { + _currentVersion = new Version(_versionFile); + } + } + + return _currentVersion; + } +}