nice version numbers, and metadata update
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
20
setup.py
20
setup.py
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user