You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Symbol graph support for swiftbuild build system (#8923)
Refactor the build system protocol to make symbol graphs and build plans
optional build outputs. Rewrite the dump-symbol-graph and the plugin
delegate to use this new protocol and get support from the swiftbuild build
system.
swiftCommandState.observabilityScope.emit(error:"Failed to emit symbol graph for '\(description.module.c99name)': \(String(decoding: value, as:UTF8.self))\(commandline)")
99
-
case.failure(let error):
100
-
swiftCommandState.observabilityScope.emit(error:"Internal error while emitting symbol graph for '\(description.module.c99name)': \(error)\(commandline)")
99
+
// Run the tool once for every library and executable target in the root package.
swiftCommandState.observabilityScope.emit(error:"Failed to emit symbol graph for '\(description.module.c99name)': \(String(decoding: value, as:UTF8.self))\(commandline)")
121
+
case.failure(let error):
122
+
swiftCommandState.observabilityScope.emit(error:"Internal error while emitting symbol graph for '\(description.module.c99name)': \(error)\(commandline)")
123
+
}
101
124
}
102
125
}
126
+
} else {
127
+
throwInternalError("Build system \(buildSystem) cannot produce a symbol graph.")
103
128
}
104
129
105
130
print("Files written to", symbolGraphDirectory.pathString)
// Build the product referenced by the tool, and add the executable to the tool map. Product dependencies are not supported within a package, so if the tool happens to be from the same package, we instead find the executable that corresponds to the product. There is always one, because of autogeneration of implicit executables with the same name as the target if there isn't an explicit one.
0 commit comments