Skip to content

Commit 4bbdc39

Browse files
authored
Merge pull request #34903 from CodaFi/target-acquired
[NFC] Move Migrated SDK Target List into StdlibDeploymentTarget
2 parents 57a2e11 + f3666d0 commit 4bbdc39

File tree

3 files changed

+23
-14
lines changed

3 files changed

+23
-14
lines changed

utils/build_swift/build_swift/migration.py

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,6 @@
3333
]
3434

3535

36-
_SDK_TARGETS = {
37-
'OSX': StdlibDeploymentTarget.OSX.targets,
38-
'IOS': StdlibDeploymentTarget.iOS.targets,
39-
'IOS_SIMULATOR': StdlibDeploymentTarget.iOSSimulator.targets,
40-
'TVOS': StdlibDeploymentTarget.AppleTV.targets,
41-
'TVOS_SIMULATOR': StdlibDeploymentTarget.AppleTVSimulator.targets,
42-
'WATCHOS': StdlibDeploymentTarget.AppleWatch.targets,
43-
'WATCHOS_SIMULATOR': StdlibDeploymentTarget.AppleWatchSimulator.targets,
44-
}
45-
46-
4736
# -----------------------------------------------------------------------------
4837

4938
class UnknownSDKError(Exception):
@@ -70,7 +59,7 @@ def _flatten(iterable):
7059
return itertools.chain.from_iterable(iterable)
7160

7261
def _swift_sdk_to_stdlib_targets(sdk):
73-
targets = _SDK_TARGETS.get(sdk, None)
62+
targets = StdlibDeploymentTarget.get_migrated_targets_for_sdk(sdk)
7463
if targets is None:
7564
raise UnknownSDKError(sdk)
7665

utils/build_swift/tests/build_swift/test_migration.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,16 @@
1818

1919
import six
2020

21+
from swift_build_support.swift_build_support.targets import StdlibDeploymentTarget
22+
2123

2224
# -----------------------------------------------------------------------------
2325
# Helpers
2426

2527
def _get_sdk_targets(sdk_names):
2628
targets = []
2729
for sdk_name in sdk_names:
28-
targets += migration._SDK_TARGETS[sdk_name]
30+
targets += StdlibDeploymentTarget.get_migrated_targets_for_sdk(sdk_name)
2931

3032
return targets
3133

@@ -43,7 +45,7 @@ class TestMigrateSwiftSDKsMeta(type):
4345

4446
def __new__(cls, name, bases, attrs):
4547
# Generate tests for migrating each Swift SDK
46-
for sdk_name in migration._SDK_TARGETS.keys():
48+
for sdk_name in StdlibDeploymentTarget.get_all_migrated_sdks():
4749
test_name = 'test_migrate_swift_sdk_{}'.format(sdk_name)
4850
attrs[test_name] = cls.generate_migrate_swift_sdks_test(sdk_name)
4951

utils/swift_build_support/swift_build_support/targets.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,16 @@ class StdlibDeploymentTarget(object):
227227
for platform in known_platforms
228228
for target in platform.targets)
229229

230+
_sdk_targets = {
231+
'OSX': OSX.targets,
232+
'IOS': iOS.targets,
233+
'IOS_SIMULATOR': iOSSimulator.targets,
234+
'TVOS': AppleTV.targets,
235+
'TVOS_SIMULATOR': AppleTVSimulator.targets,
236+
'WATCHOS': AppleWatch.targets,
237+
'WATCHOS_SIMULATOR': AppleWatchSimulator.targets,
238+
}
239+
230240
@staticmethod
231241
def host_target():
232242
"""
@@ -308,6 +318,14 @@ def get_target_names(cls):
308318
return sorted([name for (name, target) in
309319
cls._targets_by_name.items()])
310320

321+
@classmethod
322+
def get_migrated_targets_for_sdk(cls, sdk_name):
323+
return cls._sdk_targets.get(sdk_name, None)
324+
325+
@classmethod
326+
def get_all_migrated_sdks(cls):
327+
return cls._sdk_targets.keys()
328+
311329

312330
def install_prefix():
313331
"""

0 commit comments

Comments
 (0)