@@ -61,112 +61,128 @@ private class ToolWorkspaceDelegate: WorkspaceDelegate {
61
61
}
62
62
63
63
func fetchingWillBegin( repository: String , fetchDetails: RepositoryManager . FetchDetails ? ) {
64
- stdoutStream <<< " Fetching \( repository) "
65
- if let fetchDetails = fetchDetails {
66
- if fetchDetails. fromCache {
67
- stdoutStream <<< " from cache "
64
+ queue. async {
65
+ self . stdoutStream <<< " Fetching \( repository) "
66
+ if let fetchDetails = fetchDetails {
67
+ if fetchDetails. fromCache {
68
+ self . stdoutStream <<< " from cache "
69
+ }
68
70
}
71
+ self . stdoutStream <<< " \n "
72
+ self . stdoutStream. flush ( )
69
73
}
70
- stdoutStream <<< " \n "
71
- stdoutStream. flush ( )
72
74
}
73
75
74
76
func fetchingDidFinish( repository: String , fetchDetails: RepositoryManager . FetchDetails ? , diagnostic: Diagnostic ? ) {
75
77
}
76
78
77
79
func repositoryWillUpdate( _ repository: String ) {
78
- stdoutStream <<< " Updating \( repository) "
79
- stdoutStream <<< " \n "
80
- stdoutStream. flush ( )
80
+ queue. async {
81
+ self . stdoutStream <<< " Updating \( repository) "
82
+ self . stdoutStream <<< " \n "
83
+ self . stdoutStream. flush ( )
84
+ }
81
85
}
82
86
83
87
func repositoryDidUpdate( _ repository: String ) {
84
88
}
85
89
86
90
func dependenciesUpToDate( ) {
87
- stdoutStream <<< " Everything is already up-to-date "
88
- stdoutStream <<< " \n "
89
- stdoutStream. flush ( )
91
+ queue. async {
92
+ self . stdoutStream <<< " Everything is already up-to-date "
93
+ self . stdoutStream <<< " \n "
94
+ self . stdoutStream. flush ( )
95
+ }
90
96
}
91
97
92
98
func cloning( repository: String ) {
93
- stdoutStream <<< " Cloning \( repository) "
94
- stdoutStream <<< " \n "
95
- stdoutStream. flush ( )
99
+ queue. async {
100
+ self . stdoutStream <<< " Cloning \( repository) "
101
+ self . stdoutStream <<< " \n "
102
+ self . stdoutStream. flush ( )
103
+ }
96
104
}
97
105
98
106
func checkingOut( repository: String , atReference reference: String , to path: AbsolutePath ) {
99
- stdoutStream <<< " Resolving \( repository) at \( reference) "
100
- stdoutStream <<< " \n "
101
- stdoutStream. flush ( )
107
+ queue. async {
108
+ self . stdoutStream <<< " Resolving \( repository) at \( reference) "
109
+ self . stdoutStream <<< " \n "
110
+ self . stdoutStream. flush ( )
111
+ }
102
112
}
103
113
104
114
func removing( repository: String ) {
105
- stdoutStream <<< " Removing \( repository) "
106
- stdoutStream <<< " \n "
107
- stdoutStream. flush ( )
115
+ queue. async {
116
+ self . stdoutStream <<< " Removing \( repository) "
117
+ self . stdoutStream <<< " \n "
118
+ self . stdoutStream. flush ( )
119
+ }
108
120
}
109
121
110
122
func warning( message: String ) {
111
123
// FIXME: We should emit warnings through the diagnostic engine.
112
- stdoutStream <<< " warning: " <<< message
113
- stdoutStream <<< " \n "
114
- stdoutStream. flush ( )
124
+ queue. async {
125
+ self . stdoutStream <<< " warning: " <<< message
126
+ self . stdoutStream <<< " \n "
127
+ self . stdoutStream. flush ( )
128
+ }
115
129
}
116
130
117
131
func willResolveDependencies( reason: WorkspaceResolveReason ) {
118
132
guard isVerbose else { return }
119
133
120
- stdoutStream <<< " Running resolver because "
121
-
122
- switch reason {
123
- case . forced:
124
- stdoutStream <<< " it was forced "
125
- case . newPackages( let packages) :
126
- let dependencies = packages. lazy. map ( { " ' \( $0. path) ' " } ) . joined ( separator: " , " )
127
- stdoutStream <<< " the following dependencies were added: \( dependencies) "
128
- case . packageRequirementChange( let package , let state, let requirement) :
129
- stdoutStream <<< " dependency ' \( package . name) ' was "
130
-
131
- switch state {
132
- case . checkout( let checkoutState) ? :
133
- switch checkoutState. requirement {
134
- case . versionSet( . exact( let version) ) :
135
- stdoutStream <<< " resolved to ' \( version) ' "
136
- case . versionSet( _) :
137
- // Impossible
138
- break
139
- case . revision( let revision) :
140
- stdoutStream <<< " resolved to ' \( revision) ' "
141
- case . unversioned:
142
- stdoutStream <<< " unversioned "
134
+ queue. sync {
135
+ self . stdoutStream <<< " Running resolver because "
136
+
137
+ switch reason {
138
+ case . forced:
139
+ self . stdoutStream <<< " it was forced "
140
+ case . newPackages( let packages) :
141
+ let dependencies = packages. lazy. map ( { " ' \( $0. path) ' " } ) . joined ( separator: " , " )
142
+ self . stdoutStream <<< " the following dependencies were added: \( dependencies) "
143
+ case . packageRequirementChange( let package , let state, let requirement) :
144
+ self . stdoutStream <<< " dependency ' \( package . name) ' was "
145
+
146
+ switch state {
147
+ case . checkout( let checkoutState) ? :
148
+ switch checkoutState. requirement {
149
+ case . versionSet( . exact( let version) ) :
150
+ self . stdoutStream <<< " resolved to ' \( version) ' "
151
+ case . versionSet( _) :
152
+ // Impossible
153
+ break
154
+ case . revision( let revision) :
155
+ self . stdoutStream <<< " resolved to ' \( revision) ' "
156
+ case . unversioned:
157
+ self . stdoutStream <<< " unversioned "
158
+ }
159
+ case . edited? :
160
+ self . stdoutStream <<< " edited "
161
+ case . local? :
162
+ self . stdoutStream <<< " versioned "
163
+ case nil :
164
+ self . stdoutStream <<< " root "
143
165
}
144
- case . edited? :
145
- stdoutStream <<< " edited "
146
- case . local? :
147
- stdoutStream <<< " versioned "
148
- case nil :
149
- stdoutStream <<< " root "
150
- }
151
166
152
- stdoutStream <<< " but now has a "
167
+ self . stdoutStream <<< " but now has a "
153
168
154
- switch requirement {
155
- case . versionSet:
156
- stdoutStream <<< " different version-based "
157
- case . revision:
158
- stdoutStream <<< " different revision-based "
159
- case . unversioned:
160
- stdoutStream <<< " unversioned "
169
+ switch requirement {
170
+ case . versionSet:
171
+ self . stdoutStream <<< " different version-based "
172
+ case . revision:
173
+ self . stdoutStream <<< " different revision-based "
174
+ case . unversioned:
175
+ self . stdoutStream <<< " unversioned "
176
+ }
177
+
178
+ self . stdoutStream <<< " requirement. "
179
+ default :
180
+ self . stdoutStream <<< " requirements have changed. "
161
181
}
162
182
163
- stdoutStream <<< " requirement. "
164
- default :
165
- stdoutStream <<< " requirements have changed. "
183
+ self . stdoutStream <<< " \n "
184
+ stdoutStream. flush ( )
166
185
}
167
-
168
- stdoutStream <<< " \n "
169
- stdoutStream. flush ( )
170
186
}
171
187
172
188
func downloadingBinaryArtifact( from url: String , bytesDownloaded: Int64 , totalBytesToDownload: Int64 ? ) {
0 commit comments