Skip to content
This repository was archived by the owner on Jan 26, 2021. It is now read-only.

Commit 9d94702

Browse files
committed
Add a few features
* List all APIs * Only download discovery documents for a set of ids R=kustermann@google.com BUG= Review URL: https://codereview.chromium.org//478663002
1 parent d450c4e commit 9d94702

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

lib/generator.dart

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,13 @@ part "src/namer.dart";
1717
part "src/utils.dart";
1818
part "src/uri_template.dart";
1919

20+
21+
Future<List<DirectoryListItems>> listAllApis() {
22+
return _discoveryClient.apis.list().then((DirectoryList list) {
23+
return list.items;
24+
});
25+
}
26+
2027
List<GenerateResult> generateApiPackage(
2128
List<RestDescription> descriptions, String outputDirectory) {
2229
var config = new Config('googleapis', '0.1.0-dev');
@@ -36,16 +43,19 @@ List<GenerateResult> generateAllLibraries(String inputDirectory,
3643
return generateApiPackage(apiDescriptions, outputDirectory);
3744
}
3845

39-
Future<List<GenerateResult>> downloadDiscoveryDocuments(String outputDir) {
46+
Future<List<GenerateResult>> downloadDiscoveryDocuments(
47+
String outputDir, {List<String> ids}) {
4048
var apiDescriptions = <RestDescription>[];
4149

4250
return _discoveryClient.apis.list().then((DirectoryList list) {
4351
var futures = <Future>[];
4452
for (var item in list.items) {
45-
futures.add(_discoveryClient.apis.getRest(item.name, item.version)
46-
.then((doc) {
47-
apiDescriptions.add(doc);
48-
}));
53+
if (ids == null || ids.contains(item.id)) {
54+
futures.add(_discoveryClient.apis.getRest(item.name, item.version)
55+
.then((doc) {
56+
apiDescriptions.add(doc);
57+
}));
58+
}
4959
}
5060
return Future.wait(futures);
5161
}).then((_) {
@@ -54,7 +64,7 @@ Future<List<GenerateResult>> downloadDiscoveryDocuments(String outputDir) {
5464
print('Deleting directory $outputDir.');
5565
directory.deleteSync(recursive: true);
5666
}
57-
directory.createSync();
67+
directory.createSync(recursive: true);
5868

5969
for (var description in apiDescriptions) {
6070
var name = '$outputDir/${description.name}__${description.version}.json';

0 commit comments

Comments
 (0)