Future
deriveApplicationLibraryDetails()
Source
Future deriveApplicationLibraryDetails() async {
// Find request sink type
var generator = new SourceGenerator(
(List<String> args, Map<String, dynamic> values) async {
var sinkType = RequestSink.defaultSinkType;
if (sinkType == null) {
return "null";
}
return MirrorSystem.getName(reflectClass(sinkType).simpleName);
}, imports: [
"package:aqueduct/aqueduct.dart",
"package:$packageName/$libraryName.dart",
"dart:isolate",
"dart:mirrors",
"dart:async"
]);
var executor = new IsolateExecutor(generator, [libraryName],
packageConfigURI: projectDirectory.uri.resolve(".packages"));
var result = await executor.execute(projectDirectory.uri);
if (result == "null") {
throw new CLIException(
"No RequestSink subclass found in $packageName/$libraryName");
}
derivedRequestSinkType = result;
}