b13dfbffd7
This makes it possible to compile on the bots without hardcoding paths to Ant, Java and ffmpeg deep into the Python scripts (hardcoded paths exists only in the buildbot configuration). For bots, the ANT_HOME, JAVA_HOME and FFMPEG_HOME environment variables must be set to the install locations for each of these dependencies, for Windows. This CL also improves the return code handling to make failures easier to detect when things break. TEST=running build_zxing.py without Ant or Java in the PATH, but with ANT_HOME, JAVA_HOME and FFMPEG_HOME set. Running Chromium's src/chrome/test/functional/webrtc_video_quality.py. BUG=none Review URL: https://webrtc-codereview.appspot.com/1002005 git-svn-id: http://webrtc.googlecode.com/svn/trunk@3311 4adac7df-926f-26a2-2b94-8c16560cd09d
44 lines
1.4 KiB
Python
Executable File
44 lines
1.4 KiB
Python
Executable File
#!/usr/bin/env python
|
|
# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
|
|
#
|
|
# Use of this source code is governed by a BSD-style license
|
|
# that can be found in the LICENSE file in the root of the source
|
|
# tree. An additional intellectual property rights grant can be found
|
|
# in the file PATENTS. All contributing project authors may
|
|
# be found in the AUTHORS file in the root of the source tree.
|
|
|
|
import os
|
|
import subprocess
|
|
import sys
|
|
|
|
|
|
def run_ant_build_command(path_to_ant_build_file):
|
|
"""Tries to build the passed build file with ant."""
|
|
ant_executable = 'ant'
|
|
if sys.platform == 'win32':
|
|
if os.getenv('ANT_HOME'):
|
|
ant_executable = os.path.join(os.getenv('ANT_HOME'), 'bin', 'ant.bat')
|
|
else:
|
|
ant_executable = 'ant.bat'
|
|
cmd = [ant_executable, '-buildfile', path_to_ant_build_file]
|
|
try:
|
|
process = subprocess.Popen(cmd, stdout=sys.stdout, stderr=sys.stderr)
|
|
process.wait()
|
|
if process.returncode != 0:
|
|
print >> sys.stderr, 'Failed to execute: %s' % ' '.join(cmd)
|
|
return process.returncode
|
|
except Exception as e:
|
|
print >> sys.stderr, 'Failed to execute: %s' % ' '.join(cmd)
|
|
return -1
|
|
|
|
def _main():
|
|
core_build = os.path.join('third_party', 'zxing', 'core', 'build.xml')
|
|
run_ant_build_command(core_build)
|
|
|
|
javase_build = os.path.join('third_party', 'zxing', 'javase', 'build.xml')
|
|
return run_ant_build_command(javase_build)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(_main())
|