1#!/usr/bin/env python 2# Copyright 2016 the V8 project authors. All rights reserved. 3# Use of this source code is governed by a BSD-style license that can be 4# found in the LICENSE file. 5 6import os 7import sys 8import tarfile 9import time 10 11# In GN we expect the path to a stamp file as an argument. 12if len(sys.argv) == 2: 13 STAMP_FILE = os.path.abspath(sys.argv[1]) 14 15os.chdir(os.path.dirname(os.path.abspath(__file__))) 16 17# Workaround for slow grp and pwd calls. 18tarfile.grp = None 19tarfile.pwd = None 20 21def filter_git(tar_info): 22 if tar_info.name.startswith(os.path.join('data', '.git')): 23 return None 24 else: 25 tar_info.uname = tar_info.gname = "test262" 26 return tar_info 27 28with tarfile.open('data.tar', 'w') as tar: 29 tar.add('data', filter=filter_git) 30 31# Workaround for GN. We can't specify the tarfile as output because it's 32# not in the product directory. Therefore we track running of this script 33# with an extra stamp file in the product directory. 34if len(sys.argv) == 2: 35 with open(STAMP_FILE, 'w') as f: 36 f.write(str(time.time())) 37