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 CONTRIBUTORS.rst
include overviewer.py
include sample.settings.py
recursive-include contrib/ *.py
recursive-include overviewer_core/*.py
recursive-include overviewer_core/src/ *.c *.h

View File

@@ -39,7 +39,7 @@ try:
from overviewer_core import c_overviewer
except ImportError:
## 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):
print "Something has gone wrong importing the c_overviewer extension. Please"
print "make sure it is up-to-date (clean and rebuild)"
@@ -113,13 +113,14 @@ def main():
if options.version:
print "Minecraft-Overviewer"
print "Git version: %s" % util.findGitVersion()
try:
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 "Build machine: %s %s" % (overviewer_version.BUILD_PLATFORM, overviewer_version.BUILD_OS)
except:
print "version info not found"
pass
sys.exit(0)

View File

@@ -24,6 +24,7 @@ import json
import util
from c_overviewer import get_render_mode_inheritance
import overviewer_version
"""
This module has routines related to generating a Google Maps-based
@@ -132,7 +133,8 @@ class MapGen(object):
index = open(indexpath, 'r').read()
index = index.replace(
"{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:
output.write(index)

View File

@@ -21,6 +21,7 @@ import imp
import os
import os.path
import sys
from subprocess import Popen, PIPE
def get_program_path():
if hasattr(sys, "frozen") or imp.is_frozen("__main__"):
@@ -34,8 +35,8 @@ def get_program_path():
return os.path.dirname(sys.argv[0])
def findGitVersion():
# does not require git, very likely to work everywhere
def findGitHash():
this_dir = get_program_path()
if os.path.exists(os.path.join(this_dir,".git")):
with open(os.path.join(this_dir,".git","HEAD")) as f:
@@ -48,6 +49,24 @@ def findGitVersion():
else:
return data
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:
import overviewer_version
return overviewer_version.VERSION

View File

@@ -11,6 +11,7 @@ import os, os.path
import glob
import platform
import time
import overviewer_core.util as util
try:
import py2exe
@@ -28,11 +29,21 @@ setup_kwargs['options'] = {}
# 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['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_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
@@ -130,9 +141,9 @@ class CustomClean(clean):
def generate_version_py():
try:
import overviewer_core.util as util
outstr = ""
outstr += "VERSION=%r\n" % util.findGitVersion()
outstr += "HASH=%r\n" % util.findGitHash()
outstr += "BUILD_DATE=%r\n" % time.asctime()
outstr += "BUILD_PLATFORM=%r\n" % platform.processor()
outstr += "BUILD_OS=%r\n" % platform.platform()
@@ -153,6 +164,7 @@ class CustomBuild(build):
# generate the version file
generate_version_py()
build.run(self)
print "\nBuild Complete"
class CustomBuildExt(build_ext):
def build_extensions(self):
@@ -177,5 +189,3 @@ setup_kwargs['cmdclass']['build_ext'] = CustomBuildExt
setup(**setup_kwargs)
print "\nBuild Complete"