Allow cache cleanup in osx_properties. (#2242)

diff --git a/app_dart/lib/src/model/ci_yaml/target.dart b/app_dart/lib/src/model/ci_yaml/target.dart
index 1d6c586..812083b 100644
--- a/app_dart/lib/src/model/ci_yaml/target.dart
+++ b/app_dart/lib/src/model/ci_yaml/target.dart
@@ -140,6 +140,8 @@
     if (mergedProperties.containsKey('xcode')) {
       final Object xcodeVersion = <String, Object>{
         'sdk_version': mergedProperties['xcode']!,
+        if (mergedProperties.containsKey('cleanup_xcode_cache'))
+          'cleanup_cache': mergedProperties['cleanup_xcode_cache']!
       };
 
       if (iosPlatforms.contains(getPlatform())) {
diff --git a/app_dart/test/model/ci_yaml/target_test.dart b/app_dart/test/model/ci_yaml/target_test.dart
index cb51dde..2916016 100644
--- a/app_dart/test/model/ci_yaml/target_test.dart
+++ b/app_dart/test/model/ci_yaml/target_test.dart
@@ -151,6 +151,21 @@
         });
       });
 
+      test('platform properties with xcode and clean_cache', () {
+        final Target target = generateTarget(
+          1,
+          platform: 'Mac_ios',
+          platformProperties: <String, String>{'xcode': '12abc', 'cleanup_xcode_cache': 'true'},
+        );
+        expect(target.getProperties(), <String, Object>{
+          'xcode': '12abc',
+          'cleanup_xcode_cache': true,
+          'dependencies': <String>[],
+          '\$flutter/devicelab_osx_sdk': <String, Object>{'sdk_version': '12abc', 'cleanup_cache': true},
+          'bringup': false,
+        });
+      });
+
       test('platform properties with runtime_versions', () {
         final Target target = generateTarget(
           1,