Use swift provider to fetch swift version

PiperOrigin-RevId: 185590347
diff --git a/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl b/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
index 955e964..72b0220 100644
--- a/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
+++ b/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
@@ -466,14 +466,6 @@
   return str(min_os)
 
 
-def _extract_swift_language_version(ctx):
-  """Returns the Swift version of a swift_library rule."""
-
-  if ctx.rule.kind != 'swift_library':
-    return None
-  return _get_label_attr(ctx, 'rule.attr.swift_version') or "3.0"
-
-
 def _collect_swift_modules(target):
   """Returns a depset of Swift modules found on the given target."""
   swift_modules = depset()
@@ -620,9 +612,9 @@
   bundle_id = _get_opt_attr(rule_attr, 'bundle_id')
 
   # Build up any local transitive attributes and apply them.
-  swift_language_version = _extract_swift_language_version(ctx)
-  if swift_language_version:
-    transitive_attributes['swift_language_version'] = swift_language_version
+  swift = _get_opt_attr(target, 'swift')
+  if swift:
+    transitive_attributes['swift_language_version'] = getattr(swift, 'swift_version', None)
     transitive_attributes['has_swift_dependency'] = True
 
   # Collect Info.plist files from an extension to figure out its type.