Move project info extraction off the main thread.

This fixes a deadlock issue in the GUI.

PiperOrigin-RevId: 222311850
diff --git a/src/Tulsi/TulsiProjectDocument.swift b/src/Tulsi/TulsiProjectDocument.swift
index 1f3d453..068bc73 100644
--- a/src/Tulsi/TulsiProjectDocument.swift
+++ b/src/Tulsi/TulsiProjectDocument.swift
@@ -571,9 +571,10 @@
     }
 
     processingTaskStarted()
-    infoExtractor = TulsiProjectInfoExtractor(bazelURL: concreteBazelURL, project: project)
 
     Thread.doOnQOSUserInitiatedThread() {
+      self.infoExtractor = TulsiProjectInfoExtractor(bazelURL: concreteBazelURL,
+                                                     project: self.project)
       let updatedRuleEntries = self.infoExtractor.extractTargetRules()
       Thread.doOnMainQueue() {
         self._ruleInfos = updatedRuleEntries