buildPackageGraph method
Implementation
@override
Future<PackageGraph> buildPackageGraph() async {
runtimeStats.resetAccumulators([
'elementTypeInstantiation',
'modelElementCacheInsertion',
]);
runtimeStats.startPerfTask('_calculatePackageMap');
await _calculatePackageMap();
runtimeStats.endPerfTask();
runtimeStats.startPerfTask('getLibraries');
var newGraph = PackageGraph.uninitialized(
_config,
_sdk,
_embedderSdkUris.isNotEmpty,
_packageMetaProvider,
_analysisContext,
);
await _getLibraries(newGraph);
runtimeStats.endPerfTask();
logDebug('${DateTime.now()}: Initializing package graph...');
runtimeStats.startPerfTask('initializePackageGraph');
try {
await newGraph.initializePackageGraph();
} finally {
await _dispose();
}
runtimeStats.endPerfTask();
runtimeStats.startPerfTask('initializeCategories');
newGraph.initializeCategories();
runtimeStats.endPerfTask();
return newGraph;
}