@@ -166,6 +166,7 @@ func (cmd *initCommand) Run(ctx *dep.Ctx, args []string) error {
166
166
if err := sw .WriteAllSafe (false ); err != nil {
167
167
return errors .Wrap (err , "safe write of manifest and lock" )
168
168
}
169
+
169
170
return nil
170
171
}
171
172
@@ -237,6 +238,15 @@ func getProjectData(ctx *dep.Ctx, pkgT gps.PackageTree, cpr string, sm *gps.Sour
237
238
packages := make (map [string ]bool )
238
239
notondisk := make (map [gps.ProjectRoot ]bool )
239
240
ondisk := make (map [gps.ProjectRoot ]gps.Version )
241
+
242
+ syncDep := func (pr gps.ProjectRoot , sm * gps.SourceMgr ) {
243
+ message := "Cached"
244
+ if err := sm .SyncSourceFor (gps.ProjectIdentifier {ProjectRoot : pr }); err != nil {
245
+ message = "Unable to cache"
246
+ }
247
+ fmt .Fprintf (os .Stderr , "%s %s\n " , message , pr )
248
+ }
249
+
240
250
for _ , v := range pkgT .Packages {
241
251
// TODO: Some errors maybe should not be skipped ;-)
242
252
if v .Err != nil {
@@ -266,6 +276,8 @@ func getProjectData(ctx *dep.Ctx, pkgT gps.PackageTree, cpr string, sm *gps.Sour
266
276
267
277
continue
268
278
}
279
+ go syncDep (pr , sm )
280
+
269
281
vlogf ("Package %q has import %q, analyzing..." , v .P .ImportPath , ip )
270
282
271
283
dependencies [pr ] = []string {ip }
@@ -363,6 +375,7 @@ func getProjectData(ctx *dep.Ctx, pkgT gps.PackageTree, cpr string, sm *gps.Sour
363
375
}
364
376
} else {
365
377
dependencies [pr ] = []string {pkg }
378
+ go syncDep (pr , sm )
366
379
}
367
380
368
381
// project must be on disk at this point; question is
0 commit comments