@@ -227,6 +227,7 @@ class KernelCompiler {
227227 TargetModel targetModel = TargetModel .flutter,
228228 bool linkPlatformKernelIn = false ,
229229 bool aot = false ,
230+ String ? frontendServerStarterPath,
230231 List <String >? extraFrontEndOptions,
231232 List <String >? fileSystemRoots,
232233 String ? fileSystemScheme,
@@ -243,10 +244,12 @@ class KernelCompiler {
243244 String ? nativeAssets,
244245 }) async {
245246 final TargetPlatform ? platform = targetModel == TargetModel .dartdevc ? TargetPlatform .web_javascript : null ;
246- final String frontendServer = _artifacts.getArtifactPath (
247- Artifact .frontendServerSnapshotForEngineDartSdk,
248- platform: platform,
249- );
247+ final String frontendServer = (frontendServerStarterPath == null || frontendServerStarterPath.isEmpty)
248+ ? _artifacts.getArtifactPath (
249+ Artifact .frontendServerSnapshotForEngineDartSdk,
250+ platform: platform,
251+ )
252+ : frontendServerStarterPath;
250253 // This is a URI, not a file path, so the forward slash is correct even on Windows.
251254 if (! sdkRoot.endsWith ('/' )) {
252255 sdkRoot = '$sdkRoot /' ;
@@ -490,6 +493,7 @@ abstract class ResidentCompiler {
490493 bool assumeInitializeFromDillUpToDate,
491494 TargetModel targetModel,
492495 bool unsafePackageSerialization,
496+ String ? frontendServerStarterPath,
493497 List <String > extraFrontEndOptions,
494498 String platformDill,
495499 List <String >? dartDefines,
@@ -605,6 +609,7 @@ class DefaultResidentCompiler implements ResidentCompiler {
605609 this .assumeInitializeFromDillUpToDate = false ,
606610 this .targetModel = TargetModel .flutter,
607611 this .unsafePackageSerialization = false ,
612+ this .frontendServerStarterPath,
608613 this .extraFrontEndOptions,
609614 this .platformDill,
610615 List <String >? dartDefines,
@@ -635,6 +640,7 @@ class DefaultResidentCompiler implements ResidentCompiler {
635640 final String ? initializeFromDill;
636641 final bool assumeInitializeFromDillUpToDate;
637642 final bool unsafePackageSerialization;
643+ final String ? frontendServerStarterPath;
638644 final List <String >? extraFrontEndOptions;
639645 final List <String > dartDefines;
640646 final String ? librariesSpec;
@@ -771,10 +777,12 @@ class DefaultResidentCompiler implements ResidentCompiler {
771777 String ? nativeAssetsUri,
772778 }) async {
773779 final TargetPlatform ? platform = (targetModel == TargetModel .dartdevc) ? TargetPlatform .web_javascript : null ;
774- final String frontendServer = artifacts.getArtifactPath (
775- Artifact .frontendServerSnapshotForEngineDartSdk,
776- platform: platform,
777- );
780+ final String frontendServer = (frontendServerStarterPath == null || frontendServerStarterPath! .isEmpty)
781+ ? artifacts.getArtifactPath (
782+ Artifact .frontendServerSnapshotForEngineDartSdk,
783+ platform: platform,
784+ )
785+ : frontendServerStarterPath! ;
778786 final List <String > command = < String > [
779787 artifacts.getArtifactPath (Artifact .engineDartBinary, platform: platform),
780788 '--disable-dart-dev' ,
0 commit comments