forked from swiftlang/swift-source-compat-suite
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cleanup
executable file
·95 lines (80 loc) · 2.53 KB
/
cleanup
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!/usr/bin/env python3
# ===--- cleanup ----------------------------------------------------------===
#
# This source file is part of the Swift.org open source project
#
# Copyright (c) 2014 - 2022 Apple Inc. and the Swift project authors
# Licensed under Apache License v2.0 with Runtime Library Exception
#
# See https://swift.org/LICENSE.txt for license information
# See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
#
# ===----------------------------------------------------------------------===
"""A cleanup script to be executed as a Jenkins post-build step."""
import sys
import os
import argparse
import platform
import glob
import common
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument('swift_branch')
parser.add_argument('--skip-ci-steps',
action='store_true')
parser.add_argument('--cleanup-cache',
action='store_true')
return parser.parse_args()
def main():
common.debug_print('** CLEANUP **')
os.chdir(os.path.dirname(__file__))
args = parse_args()
common.set_swift_branch(args.swift_branch)
paths = [
'build',
'swift',
'llvm-project',
'swift-llvm-bindings',
'llvm',
'clang',
'compiler-rt',
'cmark',
'ninja',
'llbuild',
'swiftpm',
'swift-corelibs-foundation',
'swift-corelibs-libdispatch',
'swift-corelibs-xctest',
'swift-stress-tester',
'swift-syntax',
'swift-driver',
'swift-argument-parser',
'yams',
'swift-tools-support-core',
'swift-crypto',
'swift-certificates',
'swift-asn1',
'swift-atomics',
'swift-collections',
'swift-numerics',
'swift-system',
'swift-experimental-string-processing',
'swift-syntax',
]
if args.cleanup_cache:
paths.append('project_cache')
with open('/dev/null', 'w') as devnull:
common.debug_print('Deleting build and source directories...')
for path in paths:
common.check_execute([
'rm', '-rf', common.private_workspace(path)
], stdout=devnull, stderr=devnull)
common.debug_print('Deleting log files...')
for log in glob.glob('*.log'):
common.check_execute(['rm', log], stdout=devnull, stderr=devnull)
if not args.skip_ci_steps:
if platform.system() == 'Darwin':
pass
return 0
if __name__ == '__main__':
sys.exit(main())