start method

Future<void> start(
  1. Set<String> options,
  2. DaemonBuilder builder,
  3. ChangeProvider changeProvider, {
  4. Serializers? serializersOverride,
  5. bool shouldBuild(
    1. BuildTarget,
    2. Iterable<WatchEvent>
    )?,
  6. Duration timeout = defaultIdleTimeout,
})

Implementation

Future<void> start(
  Set<String> options,
  DaemonBuilder builder,
  ChangeProvider changeProvider, {
  Serializers? serializersOverride,
  bool Function(BuildTarget, Iterable<WatchEvent>)? shouldBuild,
  Duration timeout = defaultIdleTimeout,
}) async {
  if (_server != null || _lock == null) return;
  _handleGracefulExit();

  _createVersionFile();
  _createOptionsFile(options);

  var server = _server = Server(
    builder,
    timeout,
    changeProvider,
    serializersOverride: serializersOverride,
    shouldBuild: shouldBuild,
  );
  var port = await server.listen();
  _createPortFile(port);

  unawaited(server.onDone.then((exitCode) async {
    await _cleanUp(exitCode);
  }));
}