#!/usr/bin/env python # Copyright 2016 the V8 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. import os import sys import tarfile import time # In GN we expect the path to a stamp file as an argument. if len(sys.argv) == 2: STAMP_FILE = os.path.abspath(sys.argv[1]) os.chdir(os.path.dirname(os.path.abspath(__file__))) # Workaround for slow grp and pwd calls. tarfile.grp = None tarfile.pwd = None def filter_git(tar_info): if tar_info.name.startswith(os.path.join('data', '.git')) or \ tar_info.name.startswith(os.path.join('harness', '.git')): return None else: tar_info.uname = tar_info.gname = "test262" return tar_info with tarfile.open('data.tar', 'w') as tar: tar.add('data', filter=filter_git) tar.add('harness', filter=filter_git) # Workaround for GN. We can't specify the tarfile as output because it's # not in the product directory. Therefore we track running of this script # with an extra stamp file in the product directory. if len(sys.argv) == 2: with open(STAMP_FILE, 'w') as f: f.write(str(time.time()))