Windows tests and checkdeps function

This commit is contained in:
Michael Kalbermatten
2013-03-31 11:07:54 +02:00
parent dfe30f9feb
commit b9c804d3b3
+67 -12
View File
@@ -9,21 +9,65 @@ import re
import shutil import shutil
import sys import sys
from pake import Target, ifind, main, output, rule, target, variables, virtual from pake import Target, ifind, main, output, rule, target, variables, virtual, which
if sys.platform == 'win32': if sys.platform == 'win32':
ProgramFiles = os.environ.get('ProgramFiles', 'C:\\Program Files') """ windows_defaults assumes that jsdoc was installed at a specific place
ProgramFiles_X86 = os.environ.get('ProgramFiles(X86)', 'C:\\Program Files') (C:\jsdoc). It also fixes a certain version (1.9.0) of phantomjs which might
Python27 = os.environ.get('SystemDrive', 'C:') + '\\Python27' not anymore be proposed on
variables.GIT = os.path.join(ProgramFiles_X86, 'Git', 'bin', 'git.exe') http://code.google.com/p/phantomjs/downloads/list"""
variables.GJSLINT = os.path.join(Python27, 'Scripts', 'gjslint.exe')
variables.JAVA = os.path.join( windows_defaults = {
ProgramFiles, 'Java', 'jre7', 'bin', 'java.exe') 'ProgramFiles': os.environ.get('ProgramFiles', 'C:\\Program Files'),
variables.JSDOC = 'jsdoc' # FIXME 'Python27': os.environ.get('SystemDrive', 'C:') + '\\Python27',
variables.NODE = 'node' 'jsdoc': os.environ.get('SystemDrive', 'C:') + '\\jsdoc3',
variables.PYTHON = os.path.join(Python27, 'python.exe') 'phantomjs': os.environ.get('SystemDrive', 'C:') + \
variables.PHANTOMJS = 'phantomjs.exe' '\\phantomjs-1.9.0-windows'
}
if which('git.exe'):
variables.GIT = 'git.exe'
else:
variables.GIT = os.path.join(windows_defaults['ProgramFiles'],
'Git', 'bin', 'git.exe')
if which('gjslint.exe'):
variables.GJSLINT = 'gjslint.exe'
else:
variables.GJSLINT = os.path.join(windows_defaults['Python27'],
'Scripts', 'gjslint.exe')
if which('java.exe'):
variables.JAVA = 'java.exe'
else:
variables.JAVA = os.path.join(windows_defaults['ProgramFiles'],
'Java', 'jre7', 'bin', 'java.exe')
if which('jar.exe'):
variables.JAR = 'jar.exe'
else:
variables.JAR = os.path.join(windows_defaults['ProgramFiles'],
'Java', 'jdk1.7.0_17', 'bin', 'jar.exe')
if which('jsdoc.cmd'):
variables.JSDOC = 'jsdoc.cmd'
else:
variables.JSDOC = os.path.join(windows_defaults['jsdoc'],
'jsdoc.cmd')
if which('python.exe'):
variables.PYTHON = 'python.exe'
else:
variables.PYTHON = os.path.join(windows_defaults['Python27'],
'python.exe')
if which('phantomjs.exe'):
variables.PHANTOMJS = 'phantomjs.exe'
else:
variables.PHANTOMJS = os.path.join(windows_defaults['phantomjs'],
'phantomjs.exe')
else: else:
variables.GIT = 'git' variables.GIT = 'git'
variables.GJSLINT = 'gjslint' variables.GJSLINT = 'gjslint'
@@ -39,6 +83,9 @@ TEMPLATE_GLSL_COMPILER_JS = 'build/glsl-unit/bin/template_glsl_compiler.js'
variables.BRANCH = output( variables.BRANCH = output(
'%(GIT)s', 'rev-parse', '--abbrev-ref', 'HEAD').strip() '%(GIT)s', 'rev-parse', '--abbrev-ref', 'HEAD').strip()
EXECUTABLES = [variables.GIT, variables.GJSLINT, variables.JAVA, variables.JAR,
variables.JSDOC, variables.PYTHON, variables.PHANTOMJS]
EXPORTS = [path EXPORTS = [path
for path in ifind('src') for path in ifind('src')
if path.endswith('.exports') if path.endswith('.exports')
@@ -573,5 +620,13 @@ def reallyclean(t):
t.run('%(GIT)s', 'clean', '-X', '-d', '-f', '.') t.run('%(GIT)s', 'clean', '-X', '-d', '-f', '.')
@target('checkdeps')
def check_dependencies(t):
for exe in EXECUTABLES:
status = 'present' if which(exe) else 'MISSING'
print 'Program "%s" seems to be %s.' % (exe, status)
print 'For certain targets all above programs need to be present.'
if __name__ == '__main__': if __name__ == '__main__':
main() main()