blob: 9a52d6cb0c842b601af83e3cc0bed887776ab145 [file] [log] [blame]
Ben Murdoch097c5b22016-05-18 11:27:45 +01001#!/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
Ben Murdoch61f157c2016-09-16 13:49:30 +01007import sys
Ben Murdoch097c5b22016-05-18 11:27:45 +01008import tarfile
Ben Murdoch61f157c2016-09-16 13:49:30 +01009import 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])
Ben Murdoch097c5b22016-05-18 11:27:45 +010014
15os.chdir(os.path.dirname(os.path.abspath(__file__)))
16
Ben Murdochda12d292016-06-02 14:46:10 +010017# Workaround for slow grp and pwd calls.
18tarfile.grp = None
19tarfile.pwd = None
20
Ben Murdoch097c5b22016-05-18 11:27:45 +010021def filter_git(tar_info):
22 if tar_info.name.startswith(os.path.join('data', '.git')):
23 return None
24 else:
Ben Murdochda12d292016-06-02 14:46:10 +010025 tar_info.uname = tar_info.gname = "test262"
Ben Murdoch097c5b22016-05-18 11:27:45 +010026 return tar_info
27
28with tarfile.open('data.tar', 'w') as tar:
29 tar.add('data', filter=filter_git)
Ben Murdoch61f157c2016-09-16 13:49:30 +010030
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()))