0

nice version numbers, and metadata update

This commit is contained in:
Aaron Griffith
2011-05-13 23:39:44 -04:00
parent 8aafd34769
commit c12f95b0a1
5 changed files with 44 additions and 11 deletions

View File

@@ -2,6 +2,7 @@ include COPYING.txt
include README.rst include README.rst
include CONTRIBUTORS.rst include CONTRIBUTORS.rst
include overviewer.py include overviewer.py
include sample.settings.py
recursive-include contrib/ *.py recursive-include contrib/ *.py
recursive-include overviewer_core/*.py recursive-include overviewer_core/*.py
recursive-include overviewer_core/src/ *.c *.h recursive-include overviewer_core/src/ *.c *.h

View File

@@ -39,7 +39,7 @@ try:
from overviewer_core import c_overviewer from overviewer_core import c_overviewer
except ImportError: except ImportError:
## try to find the build extension ## try to find the build extension
ext = os.path.join(this_dir, "c_overviewer.%s" % ("pyd" if platform.system() == "Windows" else "so")) ext = os.path.join(this_dir, "overviewer_core", "c_overviewer.%s" % ("pyd" if platform.system() == "Windows" else "so"))
if os.path.exists(ext): if os.path.exists(ext):
print "Something has gone wrong importing the c_overviewer extension. Please" print "Something has gone wrong importing the c_overviewer extension. Please"
print "make sure it is up-to-date (clean and rebuild)" print "make sure it is up-to-date (clean and rebuild)"
@@ -113,13 +113,14 @@ def main():
if options.version: if options.version:
print "Minecraft-Overviewer"
print "Git version: %s" % util.findGitVersion()
try: try:
import overviewer_core.overviewer_version as overviewer_version import overviewer_core.overviewer_version as overviewer_version
print "Minecraft-Overviewer %s" % overviewer_version.VERSION
print "Git commit: %s" % overviewer_version.HASH
print "built on %s" % overviewer_version.BUILD_DATE print "built on %s" % overviewer_version.BUILD_DATE
print "Build machine: %s %s" % (overviewer_version.BUILD_PLATFORM, overviewer_version.BUILD_OS) print "Build machine: %s %s" % (overviewer_version.BUILD_PLATFORM, overviewer_version.BUILD_OS)
except: except:
print "version info not found"
pass pass
sys.exit(0) sys.exit(0)

View File

@@ -24,6 +24,7 @@ import json
import util import util
from c_overviewer import get_render_mode_inheritance from c_overviewer import get_render_mode_inheritance
import overviewer_version
""" """
This module has routines related to generating a Google Maps-based This module has routines related to generating a Google Maps-based
@@ -132,7 +133,8 @@ class MapGen(object):
index = open(indexpath, 'r').read() index = open(indexpath, 'r').read()
index = index.replace( index = index.replace(
"{time}", str(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime()))) "{time}", str(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())))
index = index.replace("{version}", util.findGitVersion()) versionstr = "%s (%s)" % (overviewer_version.VERSION, overviewer_version.HASH[:7])
index = index.replace("{version}", versionstr)
with open(os.path.join(self.destdir, "index.html"), 'w') as output: with open(os.path.join(self.destdir, "index.html"), 'w') as output:
output.write(index) output.write(index)

View File

@@ -21,6 +21,7 @@ import imp
import os import os
import os.path import os.path
import sys import sys
from subprocess import Popen, PIPE
def get_program_path(): def get_program_path():
if hasattr(sys, "frozen") or imp.is_frozen("__main__"): if hasattr(sys, "frozen") or imp.is_frozen("__main__"):
@@ -34,8 +35,8 @@ def get_program_path():
return os.path.dirname(sys.argv[0]) return os.path.dirname(sys.argv[0])
# does not require git, very likely to work everywhere
def findGitVersion(): def findGitHash():
this_dir = get_program_path() this_dir = get_program_path()
if os.path.exists(os.path.join(this_dir,".git")): if os.path.exists(os.path.join(this_dir,".git")):
with open(os.path.join(this_dir,".git","HEAD")) as f: with open(os.path.join(this_dir,".git","HEAD")) as f:
@@ -48,6 +49,24 @@ def findGitVersion():
else: else:
return data return data
else: else:
try:
import overviewer_version
return overviewer_version.HASH
except:
return "unknown"
def findGitVersion():
try:
p = Popen(['git', 'describe', '--tags'], stdout=PIPE, stderr=PIPE)
p.stderr.close()
line = p.stdout.readlines()[0]
if line.startswith('release-'):
line = line.split('-', 1)[1]
# turn 0.1.2-50-somehash into 0.1.2-50
# and 0.1.3 into 0.1.3
line = '-'.join(line.split('-', 2)[:2])
return line.strip()
except:
try: try:
import overviewer_version import overviewer_version
return overviewer_version.VERSION return overviewer_version.VERSION

View File

@@ -11,6 +11,7 @@ import os, os.path
import glob import glob
import platform import platform
import time import time
import overviewer_core.util as util
try: try:
import py2exe import py2exe
@@ -28,11 +29,21 @@ setup_kwargs['options'] = {}
# metadata # metadata
# #
# Utility function to read the README file.
# Used for the long_description. It's nice, because now 1) we have a top level
# README file and 2) it's easier to type in the README file than to put a raw
# string in below ...
def read(fname):
return open(os.path.join(os.path.dirname(__file__), fname)).read()
setup_kwargs['name'] = 'Minecraft-Overviewer' setup_kwargs['name'] = 'Minecraft-Overviewer'
setup_kwargs['version'] = '0.0.0' # TODO useful version setup_kwargs['version'] = util.findGitVersion()
setup_kwargs['description'] = 'Generates large resolution images of a Minecraft map.'
setup_kwargs['url'] = 'http://overviewer.org/'
setup_kwargs['author'] = 'Andrew Brown' setup_kwargs['author'] = 'Andrew Brown'
setup_kwargs['author_email'] = 'brownan@gmail.com' setup_kwargs['author_email'] = 'brownan@gmail.com'
setup_kwargs['url'] = 'http://overviewer.org/' setup_kwargs['license'] = 'GNU General Public License v3'
setup_kwargs['long_description'] = read('README.rst')
# #
# py2exe options # py2exe options
@@ -130,9 +141,9 @@ class CustomClean(clean):
def generate_version_py(): def generate_version_py():
try: try:
import overviewer_core.util as util
outstr = "" outstr = ""
outstr += "VERSION=%r\n" % util.findGitVersion() outstr += "VERSION=%r\n" % util.findGitVersion()
outstr += "HASH=%r\n" % util.findGitHash()
outstr += "BUILD_DATE=%r\n" % time.asctime() outstr += "BUILD_DATE=%r\n" % time.asctime()
outstr += "BUILD_PLATFORM=%r\n" % platform.processor() outstr += "BUILD_PLATFORM=%r\n" % platform.processor()
outstr += "BUILD_OS=%r\n" % platform.platform() outstr += "BUILD_OS=%r\n" % platform.platform()
@@ -153,6 +164,7 @@ class CustomBuild(build):
# generate the version file # generate the version file
generate_version_py() generate_version_py()
build.run(self) build.run(self)
print "\nBuild Complete"
class CustomBuildExt(build_ext): class CustomBuildExt(build_ext):
def build_extensions(self): def build_extensions(self):
@@ -177,5 +189,3 @@ setup_kwargs['cmdclass']['build_ext'] = CustomBuildExt
setup(**setup_kwargs) setup(**setup_kwargs)
print "\nBuild Complete"