@@ -17,6 +17,13 @@ part "src/namer.dart";
1717part "src/utils.dart" ;
1818part "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+
2027List <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