diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml index 539c76714..0c6b69b26 100644 --- a/.github/workflows/dart.yml +++ b/.github/workflows/dart.yml @@ -24,6 +24,9 @@ jobs: - name: dart pub get (working/macros/example) run: dart pub get working-directory: working/macros/example + - name: dart pub get (tools/corpus) + run: dart pub get + working-directory: tools/corpus/scripts - name: dart pub get (accepted/2.3/spread-collections/benchmarks) run: dart pub get working-directory: accepted/2.3/spread-collections/benchmarks diff --git a/tools/corpus/scripts/lib/utils.dart b/tools/corpus/scripts/lib/utils.dart index 2aa8fcafa..b9133d905 100644 --- a/tools/corpus/scripts/lib/utils.dart +++ b/tools/corpus/scripts/lib/utils.dart @@ -166,75 +166,3 @@ class Logger { _pool._releaseSlot(_slot); } } - -/* - -void _downloadLatest() async { - // Iterate through the pages (which are in most recent order) until we get - // enough packages. - var packagePage = Uri.parse("http://pub.dartlang.org/api/packages"); - var index = 1; - for (;;) { - print('${_slotLines()} Downloading index page $index...'); - var packages = jsonDecode((await _client.get(packagePage)).body); - - for (var package in packages["packages"]) { - var thisIndex = index; - - _downloadPool.withResource(() async { - var name = package["name"] as String; - var version = package["latest"]["version"] as String; - var archiveUrl = package["latest"]["archive_url"] as String; - - await _download(thisIndex, name, version, archiveUrl); - }); - - index++; - if (index > _totalPackages) return; - } - - var nextUrl = packages["next_url"]; - if (nextUrl is! String) break; - packagePage = Uri.parse(nextUrl); - } -} - -Future _download(int index, String name, String version, String url) async { - var slot = 0; - for (var i = 0; i < _maxConcurrency; i++) { - if (!_downloadSlots.contains(i)) { - slot = i; - _downloadSlots.add(i); - break; - } - } - - String slots([String current = '└']) => _slotLines(slot, current); - - var prefix = " [${index.toString().padLeft(4)} / ${_totalPackages.toString().padLeft(4)}]"; - - try { - print("${slots('┌')} $prefix Downloading $url..."); - var response = await _client.get(Uri.parse(url)); - var tarFile = "download/pub/$name-$version.tar.gz"; - await File(tarFile).writeAsBytes(response.bodyBytes); - - print("${slots('├')} $prefix Extracting $tarFile..."); - var outputDir = "download/pub/$name-$version"; - await Directory(outputDir).create(recursive: true); - var result = await Process.run("tar", ["-xf", tarFile, "-C", outputDir]); - - if (result.exitCode != 0) { - print("${slots()} $prefix Could not extract $tarFile:\n${result.stderr}"); - } else { - await File(tarFile).delete(); - print("${slots()} $prefix Finished $outputDir"); - } - } catch (error) { - print("${slots()} $prefix Error downloading $url:\n$error"); - } finally { - _downloadSlots.remove(slot); - } -} - -*/ diff --git a/tools/corpus/scripts/pubspec.yaml b/tools/corpus/scripts/pubspec.yaml index 57502dfe8..ec9cf6c25 100644 --- a/tools/corpus/scripts/pubspec.yaml +++ b/tools/corpus/scripts/pubspec.yaml @@ -2,7 +2,7 @@ name: corpus environment: sdk: '^3.0.0' dependencies: - args: any - http: any - path: "^1.0.0" - pool: any \ No newline at end of file + args: '^2.6.0' + http: '^1.2.2' + path: '^1.9.1' + pool: '^1.5.1'