| OLD | NEW |
| 1 library discovery_api_client_generator; | 1 library discovery_api_client_generator; |
| 2 | 2 |
| 3 import "dart:io"; | 3 import "dart:io"; |
| 4 import "dart:async"; | 4 import "dart:async"; |
| 5 import "dart:convert"; | 5 import "dart:convert"; |
| 6 import 'package:google_discovery_v1_api/discovery_v1_api_client.dart'; | 6 import 'package:google_discovery_v1_api/discovery_v1_api_client.dart'; |
| 7 import 'package:google_discovery_v1_api/discovery_v1_api_console.dart'; | 7 import 'package:google_discovery_v1_api/discovery_v1_api_console.dart'; |
| 8 | 8 |
| 9 part "src/apis_package_generator.dart"; | 9 part "src/apis_package_generator.dart"; |
| 10 part "src/config.dart"; | 10 part "src/config.dart"; |
| 11 part "src/dart_api_library.dart"; | 11 part "src/dart_api_library.dart"; |
| 12 part "src/dart_api_test_library.dart"; | 12 part "src/dart_api_test_library.dart"; |
| 13 part "src/dart_comments.dart"; | 13 part "src/dart_comments.dart"; |
| 14 part "src/dart_resources.dart"; | 14 part "src/dart_resources.dart"; |
| 15 part "src/dart_schemas.dart"; | 15 part "src/dart_schemas.dart"; |
| 16 part "src/namer.dart"; | 16 part "src/namer.dart"; |
| 17 part "src/utils.dart"; | 17 part "src/utils.dart"; |
| 18 part "src/uri_template.dart"; | 18 part "src/uri_template.dart"; |
| 19 | 19 |
| 20 |
| 21 Future<List<DirectoryListItems>> listAllApis() { |
| 22 return _discoveryClient.apis.list().then((DirectoryList list) { |
| 23 return list.items; |
| 24 }); |
| 25 } |
| 26 |
| 20 List<GenerateResult> generateApiPackage( | 27 List<GenerateResult> generateApiPackage( |
| 21 List<RestDescription> descriptions, String outputDirectory) { | 28 List<RestDescription> descriptions, String outputDirectory) { |
| 22 var config = new Config('googleapis', '0.1.0-dev'); | 29 var config = new Config('googleapis', '0.1.0-dev'); |
| 23 var apisPackageGenerator = new ApisPackageGenerator( | 30 var apisPackageGenerator = new ApisPackageGenerator( |
| 24 descriptions, config, outputDirectory); | 31 descriptions, config, outputDirectory); |
| 25 | 32 |
| 26 return apisPackageGenerator.generateApiPackage(); | 33 return apisPackageGenerator.generateApiPackage(); |
| 27 } | 34 } |
| 28 | 35 |
| 29 List<GenerateResult> generateAllLibraries(String inputDirectory, | 36 List<GenerateResult> generateAllLibraries(String inputDirectory, |
| 30 String outputDirectory) { | 37 String outputDirectory) { |
| 31 var apiDescriptions = new Directory(inputDirectory).listSync() | 38 var apiDescriptions = new Directory(inputDirectory).listSync() |
| 32 .where((fse) => fse is File && fse.path.endsWith('.json')) | 39 .where((fse) => fse is File && fse.path.endsWith('.json')) |
| 33 .map((File file) { | 40 .map((File file) { |
| 34 return new RestDescription.fromJson(JSON.decode(file.readAsStringSync())); | 41 return new RestDescription.fromJson(JSON.decode(file.readAsStringSync())); |
| 35 }).toList(); | 42 }).toList(); |
| 36 return generateApiPackage(apiDescriptions, outputDirectory); | 43 return generateApiPackage(apiDescriptions, outputDirectory); |
| 37 } | 44 } |
| 38 | 45 |
| 39 Future<List<GenerateResult>> downloadDiscoveryDocuments(String outputDir) { | 46 Future<List<GenerateResult>> downloadDiscoveryDocuments( |
| 47 String outputDir, {List<String> ids}) { |
| 40 var apiDescriptions = <RestDescription>[]; | 48 var apiDescriptions = <RestDescription>[]; |
| 41 | 49 |
| 42 return _discoveryClient.apis.list().then((DirectoryList list) { | 50 return _discoveryClient.apis.list().then((DirectoryList list) { |
| 43 var futures = <Future>[]; | 51 var futures = <Future>[]; |
| 44 for (var item in list.items) { | 52 for (var item in list.items) { |
| 45 futures.add(_discoveryClient.apis.getRest(item.name, item.version) | 53 if (ids == null || ids.contains(item.id)) { |
| 46 .then((doc) { | 54 futures.add(_discoveryClient.apis.getRest(item.name, item.version) |
| 47 apiDescriptions.add(doc); | 55 .then((doc) { |
| 48 })); | 56 apiDescriptions.add(doc); |
| 57 })); |
| 58 } |
| 49 } | 59 } |
| 50 return Future.wait(futures); | 60 return Future.wait(futures); |
| 51 }).then((_) { | 61 }).then((_) { |
| 52 var directory = new Directory(outputDir); | 62 var directory = new Directory(outputDir); |
| 53 if (directory.existsSync()) { | 63 if (directory.existsSync()) { |
| 54 print('Deleting directory $outputDir.'); | 64 print('Deleting directory $outputDir.'); |
| 55 directory.deleteSync(recursive: true); | 65 directory.deleteSync(recursive: true); |
| 56 } | 66 } |
| 57 directory.createSync(); | 67 directory.createSync(recursive: true); |
| 58 | 68 |
| 59 for (var description in apiDescriptions) { | 69 for (var description in apiDescriptions) { |
| 60 var name = '$outputDir/${description.name}__${description.version}.json'; | 70 var name = '$outputDir/${description.name}__${description.version}.json'; |
| 61 var file = new File(name); | 71 var file = new File(name); |
| 62 var encoder = new JsonEncoder.withIndent(' '); | 72 var encoder = new JsonEncoder.withIndent(' '); |
| 63 file.writeAsStringSync(encoder.convert(description.toJson())); | 73 file.writeAsStringSync(encoder.convert(description.toJson())); |
| 64 print('Written: $name'); | 74 print('Written: $name'); |
| 65 } | 75 } |
| 66 }); | 76 }); |
| 67 } | 77 } |
| (...skipping 25 matching lines...) Expand all Loading... |
| 93 => cleanName("${apiName}_${apiVersion}_api").toLowerCase(); | 103 => cleanName("${apiName}_${apiVersion}_api").toLowerCase(); |
| 94 | 104 |
| 95 String toString() { | 105 String toString() { |
| 96 var flag = success ? '[SUCCESS]' : '[FAIL]'; | 106 var flag = success ? '[SUCCESS]' : '[FAIL]'; |
| 97 var msg = message != null && !message.isEmpty ? ':\n => $message' : ''; | 107 var msg = message != null && !message.isEmpty ? ':\n => $message' : ''; |
| 98 return '$flag $apiName $apiVersion @ $packagePath $msg'; | 108 return '$flag $apiName $apiVersion @ $packagePath $msg'; |
| 99 } | 109 } |
| 100 } | 110 } |
| 101 | 111 |
| 102 final _discoveryClient = new Discovery(); | 112 final _discoveryClient = new Discovery(); |
| OLD | NEW |