Skip to content

Commit ed7b8d6

Browse files
authored
Merge pull request swiftlang#153 from apple/latest-version
project_future: Add --only-latest-versions flag
2 parents c9a1809 + 99395a4 commit ed7b8d6

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

project_future.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -651,7 +651,8 @@ def __init__(self):
651651
self.subresults = {value: [] for value in ResultEnum.values}
652652

653653
def add(self, result):
654-
self.subresults[result.result].append(result)
654+
if result:
655+
self.subresults[result.result].append(result)
655656

656657
def xfails(self):
657658
return self.subresults[Result.XFAIL]
@@ -988,6 +989,7 @@ def __init__(self,
988989
added_xcodebuild_flags,
989990
skip_clean, build_config,
990991
strip_resource_phases,
992+
only_latest_versions,
991993
action, version, project):
992994
super(CompatActionBuilder, self).__init__(
993995
swiftc, swift_version, swift_branch,
@@ -999,9 +1001,17 @@ def __init__(self,
9991001
strip_resource_phases,
10001002
action, project
10011003
)
1004+
self.only_latest_versions = only_latest_versions
10021005
self.version = version
10031006

10041007
def dispatch(self, identifier, stdout=sys.stdout, stderr=sys.stderr):
1008+
if self.only_latest_versions:
1009+
if self.version['version'] != \
1010+
sorted(self.project['compatibility'],
1011+
reverse=True,
1012+
key=lambda x: [float(y) for y in x['version'].split('.')])[0]['version']:
1013+
return None
1014+
10051015
if not self.swift_version:
10061016
self.swift_version = self.version['version'].split('.')[0]
10071017
try:

runner.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ def parse_args():
2525
"""Return parsed command line arguments."""
2626
parser = argparse.ArgumentParser()
2727
project_future.add_arguments(parser)
28+
parser.add_argument('--only-latest-versions', action='store_true')
2829
return parser.parse_args()
2930

3031

@@ -54,7 +55,8 @@ def main():
5455
args.add_xcodebuild_flags,
5556
args.skip_clean,
5657
args.build_config,
57-
args.strip_resource_phases
58+
args.strip_resource_phases,
59+
args.only_latest_versions
5860
),
5961
),
6062
),

0 commit comments

Comments
 (0)