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;
}