blob: 2edb3234e449559c579013a466a28f5647db10ba [file] [edit]
// Copyright (c) 2026, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:convert';
import 'package:package_config/package_config.dart';
/// Helper to construct a [PackageConfig] for unit tests.
PackageConfig createPackageConfig({
List<Map<String, String>> packages = const [
{
'name': 'pkg_a',
'rootUri': '../../../../../../pkg_a/',
'packageUri': 'lib/',
},
{
'name': 'pkg_b',
'rootUri': '../../../../../../pkg_b/',
'packageUri': 'lib/',
},
],
String packagesPath = 'google3:///app/.dart_tool/package_config.json',
}) {
return PackageConfig.parseString(
jsonEncode({
'configVersion': 2,
'packages': [
for (final pkg in packages)
{
'name': pkg['name'],
'rootUri': pkg['rootUri'],
'packageUri': pkg['packageUri'],
'languageVersion': '3.4',
},
],
}),
Uri.parse(packagesPath),
);
}