Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
c627dbfb
Unverified
Commit
c627dbfb
authored
Sep 21, 2023
by
Derek Xu
Committed by
GitHub
Sep 21, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add `--frontend-server-starter-path` option to `flutter run` and `flutter test` (#135038)
parent
da1f801f
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
184 additions
and
8 deletions
+184
-8
macos_assemble.sh
packages/flutter_tools/bin/macos_assemble.sh
+1
-0
tool_backend.dart
packages/flutter_tools/bin/tool_backend.dart
+3
-0
xcode_backend.dart
packages/flutter_tools/bin/xcode_backend.dart
+1
-0
flutter.groovy
packages/flutter_tools/gradle/src/main/groovy/flutter.groovy
+10
-0
build_info.dart
packages/flutter_tools/lib/src/build_info.dart
+14
-0
common.dart
...es/flutter_tools/lib/src/build_system/targets/common.dart
+2
-0
run.dart
packages/flutter_tools/lib/src/commands/run.dart
+1
-0
test.dart
packages/flutter_tools/lib/src/commands/test.dart
+1
-0
compile.dart
packages/flutter_tools/lib/src/compile.dart
+16
-8
resident_runner.dart
packages/flutter_tools/lib/src/resident_runner.dart
+3
-0
flutter_command.dart
packages/flutter_tools/lib/src/runner/flutter_command.dart
+17
-0
test_compiler.dart
packages/flutter_tools/lib/src/test/test_compiler.dart
+1
-0
build_info_test.dart
...ges/flutter_tools/test/general.shard/build_info_test.dart
+6
-0
common_test.dart
.../test/general.shard/build_system/targets/common_test.dart
+47
-0
web_test.dart
...ols/test/general.shard/build_system/targets/web_test.dart
+32
-0
bundle_builder_test.dart
...flutter_tools/test/general.shard/bundle_builder_test.dart
+2
-0
resident_runner_test.dart
...lutter_tools/test/general.shard/resident_runner_test.dart
+22
-0
xcode_backend_test.dart
.../flutter_tools/test/general.shard/xcode_backend_test.dart
+5
-0
No files found.
packages/flutter_tools/bin/macos_assemble.sh
View file @
c627dbfb
...
@@ -123,6 +123,7 @@ BuildApp() {
...
@@ -123,6 +123,7 @@ BuildApp() {
"-dSplitDebugInfo=
${
SPLIT_DEBUG_INFO
}
"
"-dSplitDebugInfo=
${
SPLIT_DEBUG_INFO
}
"
"-dTrackWidgetCreation=
${
TRACK_WIDGET_CREATION
}
"
"-dTrackWidgetCreation=
${
TRACK_WIDGET_CREATION
}
"
"-dAction=
${
ACTION
}
"
"-dAction=
${
ACTION
}
"
"-dFrontendServerStarterPath=
${
FRONTEND_SERVER_STARTER_PATH
}
"
"--DartDefines=
${
DART_DEFINES
}
"
"--DartDefines=
${
DART_DEFINES
}
"
"--ExtraGenSnapshotOptions=
${
EXTRA_GEN_SNAPSHOT_OPTIONS
}
"
"--ExtraGenSnapshotOptions=
${
EXTRA_GEN_SNAPSHOT_OPTIONS
}
"
"--ExtraFrontEndOptions=
${
EXTRA_FRONT_END_OPTIONS
}
"
"--ExtraFrontEndOptions=
${
EXTRA_FRONT_END_OPTIONS
}
"
...
...
packages/flutter_tools/bin/tool_backend.dart
View file @
c627dbfb
...
@@ -13,6 +13,7 @@ Future<void> main(List<String> arguments) async {
...
@@ -13,6 +13,7 @@ Future<void> main(List<String> arguments) async {
final
String
?
dartDefines
=
Platform
.
environment
[
'DART_DEFINES'
];
final
String
?
dartDefines
=
Platform
.
environment
[
'DART_DEFINES'
];
final
bool
dartObfuscation
=
Platform
.
environment
[
'DART_OBFUSCATION'
]
==
'true'
;
final
bool
dartObfuscation
=
Platform
.
environment
[
'DART_OBFUSCATION'
]
==
'true'
;
final
String
?
frontendServerStarterPath
=
Platform
.
environment
[
'FRONTEND_SERVER_STARTER_PATH'
];
final
String
?
extraFrontEndOptions
=
Platform
.
environment
[
'EXTRA_FRONT_END_OPTIONS'
];
final
String
?
extraFrontEndOptions
=
Platform
.
environment
[
'EXTRA_FRONT_END_OPTIONS'
];
final
String
?
extraGenSnapshotOptions
=
Platform
.
environment
[
'EXTRA_GEN_SNAPSHOT_OPTIONS'
];
final
String
?
extraGenSnapshotOptions
=
Platform
.
environment
[
'EXTRA_GEN_SNAPSHOT_OPTIONS'
];
final
String
?
flutterEngine
=
Platform
.
environment
[
'FLUTTER_ENGINE'
];
final
String
?
flutterEngine
=
Platform
.
environment
[
'FLUTTER_ENGINE'
];
...
@@ -106,6 +107,8 @@ or
...
@@ -106,6 +107,8 @@ or
'--DartDefines=
$dartDefines
'
,
'--DartDefines=
$dartDefines
'
,
if
(
extraGenSnapshotOptions
!=
null
)
if
(
extraGenSnapshotOptions
!=
null
)
'--ExtraGenSnapshotOptions=
$extraGenSnapshotOptions
'
,
'--ExtraGenSnapshotOptions=
$extraGenSnapshotOptions
'
,
if
(
frontendServerStarterPath
!=
null
)
'-dFrontendServerStarterPath=
$frontendServerStarterPath
'
,
if
(
extraFrontEndOptions
!=
null
)
if
(
extraFrontEndOptions
!=
null
)
'--ExtraFrontEndOptions=
$extraFrontEndOptions
'
,
'--ExtraFrontEndOptions=
$extraFrontEndOptions
'
,
target
,
target
,
...
...
packages/flutter_tools/bin/xcode_backend.dart
View file @
c627dbfb
...
@@ -402,6 +402,7 @@ class Context {
...
@@ -402,6 +402,7 @@ class Context {
'-dTrackWidgetCreation=
${environment['TRACK_WIDGET_CREATION'] ?? ''}
'
,
'-dTrackWidgetCreation=
${environment['TRACK_WIDGET_CREATION'] ?? ''}
'
,
'-dDartObfuscation=
${environment['DART_OBFUSCATION'] ?? ''}
'
,
'-dDartObfuscation=
${environment['DART_OBFUSCATION'] ?? ''}
'
,
'-dAction=
${environment['ACTION'] ?? ''}
'
,
'-dAction=
${environment['ACTION'] ?? ''}
'
,
'-dFrontendServerStarterPath=
${environment['FRONTEND_SERVER_STARTER_PATH'] ?? ''}
'
,
'--ExtraGenSnapshotOptions=
${environment['EXTRA_GEN_SNAPSHOT_OPTIONS'] ?? ''}
'
,
'--ExtraGenSnapshotOptions=
${environment['EXTRA_GEN_SNAPSHOT_OPTIONS'] ?? ''}
'
,
'--DartDefines=
${environment['DART_DEFINES'] ?? ''}
'
,
'--DartDefines=
${environment['DART_DEFINES'] ?? ''}
'
,
'--ExtraFrontEndOptions=
${environment['EXTRA_FRONT_END_OPTIONS'] ?? ''}
'
,
'--ExtraFrontEndOptions=
${environment['EXTRA_FRONT_END_OPTIONS'] ?? ''}
'
,
...
...
packages/flutter_tools/gradle/src/main/groovy/flutter.groovy
View file @
c627dbfb
...
@@ -964,6 +964,10 @@ class FlutterPlugin implements Plugin<Project> {
...
@@ -964,6 +964,10 @@ class FlutterPlugin implements Plugin<Project> {
if
(
project
.
hasProperty
(
'track-widget-creation'
))
{
if
(
project
.
hasProperty
(
'track-widget-creation'
))
{
trackWidgetCreationValue
=
project
.
property
(
'track-widget-creation'
).
toBoolean
()
trackWidgetCreationValue
=
project
.
property
(
'track-widget-creation'
).
toBoolean
()
}
}
String
frontendServerStarterPathValue
=
null
if
(
project
.
hasProperty
(
'frontend-server-starter-path'
))
{
frontendServerStarterPathValue
=
project
.
property
(
'frontend-server-starter-path'
)
}
String
extraFrontEndOptionsValue
=
null
String
extraFrontEndOptionsValue
=
null
if
(
project
.
hasProperty
(
'extra-front-end-options'
))
{
if
(
project
.
hasProperty
(
'extra-front-end-options'
))
{
extraFrontEndOptionsValue
=
project
.
property
(
'extra-front-end-options'
)
extraFrontEndOptionsValue
=
project
.
property
(
'extra-front-end-options'
)
...
@@ -1052,6 +1056,7 @@ class FlutterPlugin implements Plugin<Project> {
...
@@ -1052,6 +1056,7 @@ class FlutterPlugin implements Plugin<Project> {
targetPlatformValues
=
targetPlatforms
targetPlatformValues
=
targetPlatforms
sourceDir
getFlutterSourceDirectory
()
sourceDir
getFlutterSourceDirectory
()
intermediateDir
project
.
file
(
"${project.buildDir}/$INTERMEDIATES_DIR/flutter/${variant.name}/"
)
intermediateDir
project
.
file
(
"${project.buildDir}/$INTERMEDIATES_DIR/flutter/${variant.name}/"
)
frontendServerStarterPath
frontendServerStarterPathValue
extraFrontEndOptions
extraFrontEndOptionsValue
extraFrontEndOptions
extraFrontEndOptionsValue
extraGenSnapshotOptions
extraGenSnapshotOptionsValue
extraGenSnapshotOptions
extraGenSnapshotOptionsValue
splitDebugInfo
splitDebugInfoValue
splitDebugInfo
splitDebugInfoValue
...
@@ -1290,6 +1295,8 @@ abstract class BaseFlutterTask extends DefaultTask {
...
@@ -1290,6 +1295,8 @@ abstract class BaseFlutterTask extends DefaultTask {
@Internal
@Internal
File
intermediateDir
File
intermediateDir
@Optional
@Input
@Optional
@Input
String
frontendServerStarterPath
@Optional
@Input
String
extraFrontEndOptions
String
extraFrontEndOptions
@Optional
@Input
@Optional
@Input
String
extraGenSnapshotOptions
String
extraGenSnapshotOptions
...
@@ -1394,6 +1401,9 @@ abstract class BaseFlutterTask extends DefaultTask {
...
@@ -1394,6 +1401,9 @@ abstract class BaseFlutterTask extends DefaultTask {
if
(
extraGenSnapshotOptions
!=
null
)
{
if
(
extraGenSnapshotOptions
!=
null
)
{
args
"--ExtraGenSnapshotOptions=${extraGenSnapshotOptions}"
args
"--ExtraGenSnapshotOptions=${extraGenSnapshotOptions}"
}
}
if
(
frontendServerStarterPath
!=
null
)
{
args
"-dFrontendServerStarterPath=${frontendServerStarterPath}"
}
if
(
extraFrontEndOptions
!=
null
)
{
if
(
extraFrontEndOptions
!=
null
)
{
args
"--ExtraFrontEndOptions=${extraFrontEndOptions}"
args
"--ExtraFrontEndOptions=${extraFrontEndOptions}"
}
}
...
...
packages/flutter_tools/lib/src/build_info.dart
View file @
c627dbfb
...
@@ -23,6 +23,7 @@ class BuildInfo {
...
@@ -23,6 +23,7 @@ class BuildInfo {
this
.
mode
,
this
.
mode
,
this
.
flavor
,
{
this
.
flavor
,
{
this
.
trackWidgetCreation
=
false
,
this
.
trackWidgetCreation
=
false
,
this
.
frontendServerStarterPath
,
List
<
String
>?
extraFrontEndOptions
,
List
<
String
>?
extraFrontEndOptions
,
List
<
String
>?
extraGenSnapshotOptions
,
List
<
String
>?
extraGenSnapshotOptions
,
List
<
String
>?
fileSystemRoots
,
List
<
String
>?
fileSystemRoots
,
...
@@ -82,6 +83,10 @@ class BuildInfo {
...
@@ -82,6 +83,10 @@ class BuildInfo {
/// Whether the build should track widget creation locations.
/// Whether the build should track widget creation locations.
final
bool
trackWidgetCreation
;
final
bool
trackWidgetCreation
;
/// If provided, the frontend server will be started in JIT mode from this
/// file.
final
String
?
frontendServerStarterPath
;
/// Extra command-line options for front-end.
/// Extra command-line options for front-end.
final
List
<
String
>
extraFrontEndOptions
;
final
List
<
String
>
extraFrontEndOptions
;
...
@@ -237,6 +242,8 @@ class BuildInfo {
...
@@ -237,6 +242,8 @@ class BuildInfo {
if
(
dartDefines
.
isNotEmpty
)
if
(
dartDefines
.
isNotEmpty
)
kDartDefines:
encodeDartDefines
(
dartDefines
),
kDartDefines:
encodeDartDefines
(
dartDefines
),
kDartObfuscation:
dartObfuscation
.
toString
(),
kDartObfuscation:
dartObfuscation
.
toString
(),
if
(
frontendServerStarterPath
!=
null
)
kFrontendServerStarterPath:
frontendServerStarterPath
!,
if
(
extraFrontEndOptions
.
isNotEmpty
)
if
(
extraFrontEndOptions
.
isNotEmpty
)
kExtraFrontEndOptions:
extraFrontEndOptions
.
join
(
','
),
kExtraFrontEndOptions:
extraFrontEndOptions
.
join
(
','
),
if
(
extraGenSnapshotOptions
.
isNotEmpty
)
if
(
extraGenSnapshotOptions
.
isNotEmpty
)
...
@@ -274,6 +281,8 @@ class BuildInfo {
...
@@ -274,6 +281,8 @@ class BuildInfo {
if
(
dartDefines
.
isNotEmpty
)
if
(
dartDefines
.
isNotEmpty
)
'DART_DEFINES'
:
encodeDartDefines
(
dartDefines
),
'DART_DEFINES'
:
encodeDartDefines
(
dartDefines
),
'DART_OBFUSCATION'
:
dartObfuscation
.
toString
(),
'DART_OBFUSCATION'
:
dartObfuscation
.
toString
(),
if
(
frontendServerStarterPath
!=
null
)
'FRONTEND_SERVER_STARTER_PATH'
:
frontendServerStarterPath
!,
if
(
extraFrontEndOptions
.
isNotEmpty
)
if
(
extraFrontEndOptions
.
isNotEmpty
)
'EXTRA_FRONT_END_OPTIONS'
:
extraFrontEndOptions
.
join
(
','
),
'EXTRA_FRONT_END_OPTIONS'
:
extraFrontEndOptions
.
join
(
','
),
if
(
extraGenSnapshotOptions
.
isNotEmpty
)
if
(
extraGenSnapshotOptions
.
isNotEmpty
)
...
@@ -310,6 +319,8 @@ class BuildInfo {
...
@@ -310,6 +319,8 @@ class BuildInfo {
if
(
dartDefines
.
isNotEmpty
)
if
(
dartDefines
.
isNotEmpty
)
'-Pdart-defines=
${encodeDartDefines(dartDefines)}
'
,
'-Pdart-defines=
${encodeDartDefines(dartDefines)}
'
,
'-Pdart-obfuscation=
$dartObfuscation
'
,
'-Pdart-obfuscation=
$dartObfuscation
'
,
if
(
frontendServerStarterPath
!=
null
)
'-Pfrontend-server-starter-path=
$frontendServerStarterPath
'
,
if
(
extraFrontEndOptions
.
isNotEmpty
)
if
(
extraFrontEndOptions
.
isNotEmpty
)
'-Pextra-front-end-options=
${extraFrontEndOptions.join(',')}
'
,
'-Pextra-front-end-options=
${extraFrontEndOptions.join(',')}
'
,
if
(
extraGenSnapshotOptions
.
isNotEmpty
)
if
(
extraGenSnapshotOptions
.
isNotEmpty
)
...
@@ -901,6 +912,9 @@ const String kTargetFile = 'TargetFile';
...
@@ -901,6 +912,9 @@ const String kTargetFile = 'TargetFile';
/// Whether to enable or disable track widget creation.
/// Whether to enable or disable track widget creation.
const
String
kTrackWidgetCreation
=
'TrackWidgetCreation'
;
const
String
kTrackWidgetCreation
=
'TrackWidgetCreation'
;
/// If provided, the frontend server will be started in JIT mode from this file.
const
String
kFrontendServerStarterPath
=
'FrontendServerStarterPath'
;
/// Additional configuration passed to the dart front end.
/// Additional configuration passed to the dart front end.
///
///
/// This is expected to be a comma separated list of strings.
/// This is expected to be a comma separated list of strings.
...
...
packages/flutter_tools/lib/src/build_system/targets/common.dart
View file @
c627dbfb
...
@@ -178,6 +178,7 @@ class KernelSnapshot extends Target {
...
@@ -178,6 +178,7 @@ class KernelSnapshot extends Target {
final
TargetPlatform
targetPlatform
=
getTargetPlatformForName
(
targetPlatformEnvironment
);
final
TargetPlatform
targetPlatform
=
getTargetPlatformForName
(
targetPlatformEnvironment
);
// This configuration is all optional.
// This configuration is all optional.
final
String
?
frontendServerStarterPath
=
environment
.
defines
[
kFrontendServerStarterPath
];
final
List
<
String
>
extraFrontEndOptions
=
decodeCommaSeparated
(
environment
.
defines
,
kExtraFrontEndOptions
);
final
List
<
String
>
extraFrontEndOptions
=
decodeCommaSeparated
(
environment
.
defines
,
kExtraFrontEndOptions
);
final
List
<
String
>?
fileSystemRoots
=
environment
.
defines
[
kFileSystemRoots
]?.
split
(
','
);
final
List
<
String
>?
fileSystemRoots
=
environment
.
defines
[
kFileSystemRoots
]?.
split
(
','
);
final
String
?
fileSystemScheme
=
environment
.
defines
[
kFileSystemScheme
];
final
String
?
fileSystemScheme
=
environment
.
defines
[
kFileSystemScheme
];
...
@@ -254,6 +255,7 @@ class KernelSnapshot extends Target {
...
@@ -254,6 +255,7 @@ class KernelSnapshot extends Target {
linkPlatformKernelIn:
forceLinkPlatform
||
buildMode
.
isPrecompiled
,
linkPlatformKernelIn:
forceLinkPlatform
||
buildMode
.
isPrecompiled
,
mainPath:
targetFileAbsolute
,
mainPath:
targetFileAbsolute
,
depFilePath:
environment
.
buildDir
.
childFile
(
'kernel_snapshot.d'
).
path
,
depFilePath:
environment
.
buildDir
.
childFile
(
'kernel_snapshot.d'
).
path
,
frontendServerStarterPath:
frontendServerStarterPath
,
extraFrontEndOptions:
extraFrontEndOptions
,
extraFrontEndOptions:
extraFrontEndOptions
,
fileSystemRoots:
fileSystemRoots
,
fileSystemRoots:
fileSystemRoots
,
fileSystemScheme:
fileSystemScheme
,
fileSystemScheme:
fileSystemScheme
,
...
...
packages/flutter_tools/lib/src/commands/run.dart
View file @
c627dbfb
...
@@ -315,6 +315,7 @@ class RunCommand extends RunCommandBase {
...
@@ -315,6 +315,7 @@ class RunCommand extends RunCommandBase {
requiresPubspecYaml
();
requiresPubspecYaml
();
usesFilesystemOptions
(
hide:
!
verboseHelp
);
usesFilesystemOptions
(
hide:
!
verboseHelp
);
usesExtraDartFlagOptions
(
verboseHelp:
verboseHelp
);
usesExtraDartFlagOptions
(
verboseHelp:
verboseHelp
);
usesFrontendServerStarterPathOption
(
verboseHelp:
verboseHelp
);
addEnableExperimentation
(
hide:
!
verboseHelp
);
addEnableExperimentation
(
hide:
!
verboseHelp
);
usesInitializeFromDillOption
(
hide:
!
verboseHelp
);
usesInitializeFromDillOption
(
hide:
!
verboseHelp
);
...
...
packages/flutter_tools/lib/src/commands/test.dart
View file @
c627dbfb
...
@@ -67,6 +67,7 @@ class TestCommand extends FlutterCommand with DeviceBasedDevelopmentArtifacts {
...
@@ -67,6 +67,7 @@ class TestCommand extends FlutterCommand with DeviceBasedDevelopmentArtifacts {
requiresPubspecYaml
();
requiresPubspecYaml
();
usesPubOption
();
usesPubOption
();
addNullSafetyModeOptions
(
hide:
!
verboseHelp
);
addNullSafetyModeOptions
(
hide:
!
verboseHelp
);
usesFrontendServerStarterPathOption
(
verboseHelp:
verboseHelp
);
usesTrackWidgetCreation
(
verboseHelp:
verboseHelp
);
usesTrackWidgetCreation
(
verboseHelp:
verboseHelp
);
addEnableExperimentation
(
hide:
!
verboseHelp
);
addEnableExperimentation
(
hide:
!
verboseHelp
);
usesDartDefineOption
();
usesDartDefineOption
();
...
...
packages/flutter_tools/lib/src/compile.dart
View file @
c627dbfb
...
@@ -227,6 +227,7 @@ class KernelCompiler {
...
@@ -227,6 +227,7 @@ class KernelCompiler {
TargetModel
targetModel
=
TargetModel
.
flutter
,
TargetModel
targetModel
=
TargetModel
.
flutter
,
bool
linkPlatformKernelIn
=
false
,
bool
linkPlatformKernelIn
=
false
,
bool
aot
=
false
,
bool
aot
=
false
,
String
?
frontendServerStarterPath
,
List
<
String
>?
extraFrontEndOptions
,
List
<
String
>?
extraFrontEndOptions
,
List
<
String
>?
fileSystemRoots
,
List
<
String
>?
fileSystemRoots
,
String
?
fileSystemScheme
,
String
?
fileSystemScheme
,
...
@@ -243,10 +244,12 @@ class KernelCompiler {
...
@@ -243,10 +244,12 @@ class KernelCompiler {
String
?
nativeAssets
,
String
?
nativeAssets
,
})
async
{
})
async
{
final
TargetPlatform
?
platform
=
targetModel
==
TargetModel
.
dartdevc
?
TargetPlatform
.
web_javascript
:
null
;
final
TargetPlatform
?
platform
=
targetModel
==
TargetModel
.
dartdevc
?
TargetPlatform
.
web_javascript
:
null
;
final
String
frontendServer
=
_artifacts
.
getArtifactPath
(
final
String
frontendServer
=
(
frontendServerStarterPath
==
null
||
frontendServerStarterPath
.
isEmpty
)
Artifact
.
frontendServerSnapshotForEngineDartSdk
,
?
_artifacts
.
getArtifactPath
(
platform:
platform
,
Artifact
.
frontendServerSnapshotForEngineDartSdk
,
);
platform:
platform
,
)
:
frontendServerStarterPath
;
// This is a URI, not a file path, so the forward slash is correct even on Windows.
// This is a URI, not a file path, so the forward slash is correct even on Windows.
if
(!
sdkRoot
.
endsWith
(
'/'
))
{
if
(!
sdkRoot
.
endsWith
(
'/'
))
{
sdkRoot
=
'
$sdkRoot
/'
;
sdkRoot
=
'
$sdkRoot
/'
;
...
@@ -490,6 +493,7 @@ abstract class ResidentCompiler {
...
@@ -490,6 +493,7 @@ abstract class ResidentCompiler {
bool
assumeInitializeFromDillUpToDate
,
bool
assumeInitializeFromDillUpToDate
,
TargetModel
targetModel
,
TargetModel
targetModel
,
bool
unsafePackageSerialization
,
bool
unsafePackageSerialization
,
String
?
frontendServerStarterPath
,
List
<
String
>
extraFrontEndOptions
,
List
<
String
>
extraFrontEndOptions
,
String
platformDill
,
String
platformDill
,
List
<
String
>?
dartDefines
,
List
<
String
>?
dartDefines
,
...
@@ -605,6 +609,7 @@ class DefaultResidentCompiler implements ResidentCompiler {
...
@@ -605,6 +609,7 @@ class DefaultResidentCompiler implements ResidentCompiler {
this
.
assumeInitializeFromDillUpToDate
=
false
,
this
.
assumeInitializeFromDillUpToDate
=
false
,
this
.
targetModel
=
TargetModel
.
flutter
,
this
.
targetModel
=
TargetModel
.
flutter
,
this
.
unsafePackageSerialization
=
false
,
this
.
unsafePackageSerialization
=
false
,
this
.
frontendServerStarterPath
,
this
.
extraFrontEndOptions
,
this
.
extraFrontEndOptions
,
this
.
platformDill
,
this
.
platformDill
,
List
<
String
>?
dartDefines
,
List
<
String
>?
dartDefines
,
...
@@ -635,6 +640,7 @@ class DefaultResidentCompiler implements ResidentCompiler {
...
@@ -635,6 +640,7 @@ class DefaultResidentCompiler implements ResidentCompiler {
final
String
?
initializeFromDill
;
final
String
?
initializeFromDill
;
final
bool
assumeInitializeFromDillUpToDate
;
final
bool
assumeInitializeFromDillUpToDate
;
final
bool
unsafePackageSerialization
;
final
bool
unsafePackageSerialization
;
final
String
?
frontendServerStarterPath
;
final
List
<
String
>?
extraFrontEndOptions
;
final
List
<
String
>?
extraFrontEndOptions
;
final
List
<
String
>
dartDefines
;
final
List
<
String
>
dartDefines
;
final
String
?
librariesSpec
;
final
String
?
librariesSpec
;
...
@@ -771,10 +777,12 @@ class DefaultResidentCompiler implements ResidentCompiler {
...
@@ -771,10 +777,12 @@ class DefaultResidentCompiler implements ResidentCompiler {
String
?
nativeAssetsUri
,
String
?
nativeAssetsUri
,
})
async
{
})
async
{
final
TargetPlatform
?
platform
=
(
targetModel
==
TargetModel
.
dartdevc
)
?
TargetPlatform
.
web_javascript
:
null
;
final
TargetPlatform
?
platform
=
(
targetModel
==
TargetModel
.
dartdevc
)
?
TargetPlatform
.
web_javascript
:
null
;
final
String
frontendServer
=
artifacts
.
getArtifactPath
(
final
String
frontendServer
=
(
frontendServerStarterPath
==
null
||
frontendServerStarterPath
!.
isEmpty
)
Artifact
.
frontendServerSnapshotForEngineDartSdk
,
?
artifacts
.
getArtifactPath
(
platform:
platform
,
Artifact
.
frontendServerSnapshotForEngineDartSdk
,
);
platform:
platform
,
)
:
frontendServerStarterPath
!;
final
List
<
String
>
command
=
<
String
>[
final
List
<
String
>
command
=
<
String
>[
artifacts
.
getArtifactPath
(
Artifact
.
engineDartBinary
,
platform:
platform
),
artifacts
.
getArtifactPath
(
Artifact
.
engineDartBinary
,
platform:
platform
),
'--disable-dart-dev'
,
'--disable-dart-dev'
,
...
...
packages/flutter_tools/lib/src/resident_runner.dart
View file @
c627dbfb
...
@@ -67,6 +67,7 @@ class FlutterDevice {
...
@@ -67,6 +67,7 @@ class FlutterDevice {
targetModel:
targetModel
,
targetModel:
targetModel
,
dartDefines:
buildInfo
.
dartDefines
,
dartDefines:
buildInfo
.
dartDefines
,
packagesPath:
buildInfo
.
packagesPath
,
packagesPath:
buildInfo
.
packagesPath
,
frontendServerStarterPath:
buildInfo
.
frontendServerStarterPath
,
extraFrontEndOptions:
buildInfo
.
extraFrontEndOptions
,
extraFrontEndOptions:
buildInfo
.
extraFrontEndOptions
,
artifacts:
globals
.
artifacts
!,
artifacts:
globals
.
artifacts
!,
processManager:
globals
.
processManager
,
processManager:
globals
.
processManager
,
...
@@ -155,6 +156,7 @@ class FlutterDevice {
...
@@ -155,6 +156,7 @@ class FlutterDevice {
),
),
assumeInitializeFromDillUpToDate:
buildInfo
.
assumeInitializeFromDillUpToDate
,
assumeInitializeFromDillUpToDate:
buildInfo
.
assumeInitializeFromDillUpToDate
,
targetModel:
TargetModel
.
dartdevc
,
targetModel:
TargetModel
.
dartdevc
,
frontendServerStarterPath:
buildInfo
.
frontendServerStarterPath
,
extraFrontEndOptions:
extraFrontEndOptions
,
extraFrontEndOptions:
extraFrontEndOptions
,
platformDill:
globals
.
fs
.
file
(
platformDillPath
).
absolute
.
uri
.
toString
(),
platformDill:
globals
.
fs
.
file
(
platformDillPath
).
absolute
.
uri
.
toString
(),
dartDefines:
buildInfo
.
dartDefines
,
dartDefines:
buildInfo
.
dartDefines
,
...
@@ -185,6 +187,7 @@ class FlutterDevice {
...
@@ -185,6 +187,7 @@ class FlutterDevice {
fileSystemScheme:
buildInfo
.
fileSystemScheme
,
fileSystemScheme:
buildInfo
.
fileSystemScheme
,
targetModel:
targetModel
,
targetModel:
targetModel
,
dartDefines:
buildInfo
.
dartDefines
,
dartDefines:
buildInfo
.
dartDefines
,
frontendServerStarterPath:
buildInfo
.
frontendServerStarterPath
,
extraFrontEndOptions:
extraFrontEndOptions
,
extraFrontEndOptions:
extraFrontEndOptions
,
initializeFromDill:
buildInfo
.
initializeFromDill
??
getDefaultCachedKernelPath
(
initializeFromDill:
buildInfo
.
initializeFromDill
??
getDefaultCachedKernelPath
(
trackWidgetCreation:
buildInfo
.
trackWidgetCreation
,
trackWidgetCreation:
buildInfo
.
trackWidgetCreation
,
...
...
packages/flutter_tools/lib/src/runner/flutter_command.dart
View file @
c627dbfb
...
@@ -112,6 +112,7 @@ class FlutterCommandResult {
...
@@ -112,6 +112,7 @@ class FlutterCommandResult {
/// Common flutter command line options.
/// Common flutter command line options.
abstract
final
class
FlutterOptions
{
abstract
final
class
FlutterOptions
{
static
const
String
kFrontendServerStarterPath
=
'frontend-server-starter-path'
;
static
const
String
kExtraFrontEndOptions
=
'extra-front-end-options'
;
static
const
String
kExtraFrontEndOptions
=
'extra-front-end-options'
;
static
const
String
kExtraGenSnapshotOptions
=
'extra-gen-snapshot-options'
;
static
const
String
kExtraGenSnapshotOptions
=
'extra-gen-snapshot-options'
;
static
const
String
kEnableExperiment
=
'enable-experiment'
;
static
const
String
kEnableExperiment
=
'enable-experiment'
;
...
@@ -849,6 +850,18 @@ abstract class FlutterCommand extends Command<void> {
...
@@ -849,6 +850,18 @@ abstract class FlutterCommand extends Command<void> {
);
);
}
}
void
usesFrontendServerStarterPathOption
({
required
bool
verboseHelp
})
{
argParser
.
addOption
(
FlutterOptions
.
kFrontendServerStarterPath
,
help:
'When this value is provided, the frontend server will be started '
'in JIT mode from the specified file, instead of from the AOT '
'snapshot shipped with the Dart SDK. The specified file can either '
'be a Dart source file, or an AppJIT snapshot. This option does '
'not affect web builds.'
,
hide:
!
verboseHelp
,
);
}
/// Enables support for the hidden options --extra-front-end-options and
/// Enables support for the hidden options --extra-front-end-options and
/// --extra-gen-snapshot-options.
/// --extra-gen-snapshot-options.
void
usesExtraDartFlagOptions
({
required
bool
verboseHelp
})
{
void
usesExtraDartFlagOptions
({
required
bool
verboseHelp
})
{
...
@@ -1239,6 +1252,10 @@ abstract class FlutterCommand extends Command<void> {
...
@@ -1239,6 +1252,10 @@ abstract class FlutterCommand extends Command<void> {
?
stringArg
(
'flavor'
)
?
stringArg
(
'flavor'
)
:
null
,
:
null
,
trackWidgetCreation:
trackWidgetCreation
,
trackWidgetCreation:
trackWidgetCreation
,
frontendServerStarterPath:
argParser
.
options
.
containsKey
(
FlutterOptions
.
kFrontendServerStarterPath
)
?
stringArg
(
FlutterOptions
.
kFrontendServerStarterPath
)
:
null
,
extraFrontEndOptions:
extraFrontEndOptions
.
isNotEmpty
extraFrontEndOptions:
extraFrontEndOptions
.
isNotEmpty
?
extraFrontEndOptions
?
extraFrontEndOptions
:
null
,
:
null
,
...
...
packages/flutter_tools/lib/src/test/test_compiler.dart
View file @
c627dbfb
...
@@ -121,6 +121,7 @@ class TestCompiler {
...
@@ -121,6 +121,7 @@ class TestCompiler {
initializeFromDill:
testFilePath
,
initializeFromDill:
testFilePath
,
dartDefines:
buildInfo
.
dartDefines
,
dartDefines:
buildInfo
.
dartDefines
,
packagesPath:
buildInfo
.
packagesPath
,
packagesPath:
buildInfo
.
packagesPath
,
frontendServerStarterPath:
buildInfo
.
frontendServerStarterPath
,
extraFrontEndOptions:
buildInfo
.
extraFrontEndOptions
,
extraFrontEndOptions:
buildInfo
.
extraFrontEndOptions
,
platform:
globals
.
platform
,
platform:
globals
.
platform
,
testCompilation:
true
,
testCompilation:
true
,
...
...
packages/flutter_tools/test/general.shard/build_info_test.dart
View file @
c627dbfb
...
@@ -175,6 +175,7 @@ void main() {
...
@@ -175,6 +175,7 @@ void main() {
dartDefines:
<
String
>[
'foo=2'
,
'bar=2'
],
dartDefines:
<
String
>[
'foo=2'
,
'bar=2'
],
dartObfuscation:
true
,
dartObfuscation:
true
,
splitDebugInfoPath:
'foo/'
,
splitDebugInfoPath:
'foo/'
,
frontendServerStarterPath:
'foo/bar/frontend_server_starter.dart'
,
extraFrontEndOptions:
<
String
>[
'--enable-experiment=non-nullable'
,
'bar'
],
extraFrontEndOptions:
<
String
>[
'--enable-experiment=non-nullable'
,
'bar'
],
extraGenSnapshotOptions:
<
String
>[
'--enable-experiment=non-nullable'
,
'fizz'
],
extraGenSnapshotOptions:
<
String
>[
'--enable-experiment=non-nullable'
,
'fizz'
],
bundleSkSLPath:
'foo/bar/baz.sksl.json'
,
bundleSkSLPath:
'foo/bar/baz.sksl.json'
,
...
@@ -190,6 +191,7 @@ void main() {
...
@@ -190,6 +191,7 @@ void main() {
'BuildMode'
:
'debug'
,
'BuildMode'
:
'debug'
,
'DartDefines'
:
'Zm9vPTI=,YmFyPTI='
,
'DartDefines'
:
'Zm9vPTI=,YmFyPTI='
,
'DartObfuscation'
:
'true'
,
'DartObfuscation'
:
'true'
,
'FrontendServerStarterPath'
:
'foo/bar/frontend_server_starter.dart'
,
'ExtraFrontEndOptions'
:
'--enable-experiment=non-nullable,bar'
,
'ExtraFrontEndOptions'
:
'--enable-experiment=non-nullable,bar'
,
'ExtraGenSnapshotOptions'
:
'--enable-experiment=non-nullable,fizz'
,
'ExtraGenSnapshotOptions'
:
'--enable-experiment=non-nullable,fizz'
,
'SplitDebugInfo'
:
'foo/'
,
'SplitDebugInfo'
:
'foo/'
,
...
@@ -211,6 +213,7 @@ void main() {
...
@@ -211,6 +213,7 @@ void main() {
dartDefines:
<
String
>[
'foo=2'
,
'bar=2'
],
dartDefines:
<
String
>[
'foo=2'
,
'bar=2'
],
dartObfuscation:
true
,
dartObfuscation:
true
,
splitDebugInfoPath:
'foo/'
,
splitDebugInfoPath:
'foo/'
,
frontendServerStarterPath:
'foo/bar/frontend_server_starter.dart'
,
extraFrontEndOptions:
<
String
>[
'--enable-experiment=non-nullable'
,
'bar'
],
extraFrontEndOptions:
<
String
>[
'--enable-experiment=non-nullable'
,
'bar'
],
extraGenSnapshotOptions:
<
String
>[
'--enable-experiment=non-nullable'
,
'fizz'
],
extraGenSnapshotOptions:
<
String
>[
'--enable-experiment=non-nullable'
,
'fizz'
],
bundleSkSLPath:
'foo/bar/baz.sksl.json'
,
bundleSkSLPath:
'foo/bar/baz.sksl.json'
,
...
@@ -226,6 +229,7 @@ void main() {
...
@@ -226,6 +229,7 @@ void main() {
'DART_DEFINES'
:
'Zm9vPTI=,YmFyPTI='
,
'DART_DEFINES'
:
'Zm9vPTI=,YmFyPTI='
,
'DART_OBFUSCATION'
:
'true'
,
'DART_OBFUSCATION'
:
'true'
,
'SPLIT_DEBUG_INFO'
:
'foo/'
,
'SPLIT_DEBUG_INFO'
:
'foo/'
,
'FRONTEND_SERVER_STARTER_PATH'
:
'foo/bar/frontend_server_starter.dart'
,
'EXTRA_FRONT_END_OPTIONS'
:
'--enable-experiment=non-nullable,bar'
,
'EXTRA_FRONT_END_OPTIONS'
:
'--enable-experiment=non-nullable,bar'
,
'EXTRA_GEN_SNAPSHOT_OPTIONS'
:
'--enable-experiment=non-nullable,fizz'
,
'EXTRA_GEN_SNAPSHOT_OPTIONS'
:
'--enable-experiment=non-nullable,fizz'
,
'BUNDLE_SKSL_PATH'
:
'foo/bar/baz.sksl.json'
,
'BUNDLE_SKSL_PATH'
:
'foo/bar/baz.sksl.json'
,
...
@@ -242,6 +246,7 @@ void main() {
...
@@ -242,6 +246,7 @@ void main() {
dartDefineConfigJsonMap:
<
String
,
Object
>{
'baz'
:
'2'
},
dartDefineConfigJsonMap:
<
String
,
Object
>{
'baz'
:
'2'
},
dartObfuscation:
true
,
dartObfuscation:
true
,
splitDebugInfoPath:
'foo/'
,
splitDebugInfoPath:
'foo/'
,
frontendServerStarterPath:
'foo/bar/frontend_server_starter.dart'
,
extraFrontEndOptions:
<
String
>[
'--enable-experiment=non-nullable'
,
'bar'
],
extraFrontEndOptions:
<
String
>[
'--enable-experiment=non-nullable'
,
'bar'
],
extraGenSnapshotOptions:
<
String
>[
'--enable-experiment=non-nullable'
,
'fizz'
],
extraGenSnapshotOptions:
<
String
>[
'--enable-experiment=non-nullable'
,
'fizz'
],
bundleSkSLPath:
'foo/bar/baz.sksl.json'
,
bundleSkSLPath:
'foo/bar/baz.sksl.json'
,
...
@@ -253,6 +258,7 @@ void main() {
...
@@ -253,6 +258,7 @@ void main() {
expect
(
buildInfo
.
toGradleConfig
(),
<
String
>[
expect
(
buildInfo
.
toGradleConfig
(),
<
String
>[
'-Pdart-defines=Zm9vPTI=,YmFyPTI='
,
'-Pdart-defines=Zm9vPTI=,YmFyPTI='
,
'-Pdart-obfuscation=true'
,
'-Pdart-obfuscation=true'
,
'-Pfrontend-server-starter-path=foo/bar/frontend_server_starter.dart'
,
'-Pextra-front-end-options=--enable-experiment=non-nullable,bar'
,
'-Pextra-front-end-options=--enable-experiment=non-nullable,bar'
,
'-Pextra-gen-snapshot-options=--enable-experiment=non-nullable,fizz'
,
'-Pextra-gen-snapshot-options=--enable-experiment=non-nullable,fizz'
,
'-Psplit-debug-info=foo/'
,
'-Psplit-debug-info=foo/'
,
...
...
packages/flutter_tools/test/general.shard/build_system/targets/common_test.dart
View file @
c627dbfb
...
@@ -217,6 +217,53 @@ native-assets: {}
...
@@ -217,6 +217,53 @@ native-assets: {}
expect
(
processManager
,
hasNoRemainingExpectations
);
expect
(
processManager
,
hasNoRemainingExpectations
);
});
});
testWithoutContext
(
'KernelSnapshot correctly forwards FrontendServerStarterPath'
,
()
async
{
fileSystem
.
file
(
'.dart_tool/package_config.json'
)
..
createSync
(
recursive:
true
)
..
writeAsStringSync
(
'{"configVersion": 2, "packages":[]}'
);
androidEnvironment
.
buildDir
.
childFile
(
'native_assets.yaml'
)
..
createSync
(
recursive:
true
)
..
writeAsStringSync
(
emptyNativeAssets
);
final
String
build
=
androidEnvironment
.
buildDir
.
path
;
final
String
flutterPatchedSdkPath
=
artifacts
.
getArtifactPath
(
Artifact
.
flutterPatchedSdkPath
,
platform:
TargetPlatform
.
android_arm
,
mode:
BuildMode
.
profile
,
);
processManager
.
addCommands
(<
FakeCommand
>[
FakeCommand
(
command:
<
String
>[
artifacts
.
getArtifactPath
(
Artifact
.
engineDartBinary
),
'--disable-dart-dev'
,
'path/to/frontend_server_starter.dart'
,
'--sdk-root'
,
'
$flutterPatchedSdkPath
/'
,
'--target=flutter'
,
'--no-print-incremental-dependencies'
,
...
buildModeOptions
(
BuildMode
.
profile
,
<
String
>[]),
'--track-widget-creation'
,
'--aot'
,
'--tfa'
,
'--target-os'
,
'android'
,
'--packages'
,
'/.dart_tool/package_config.json'
,
'--output-dill'
,
'
$build
/app.dill'
,
'--depfile'
,
'
$build
/kernel_snapshot.d'
,
'--native-assets'
,
'
$build
/native_assets.yaml'
,
'--verbosity=error'
,
'file:///lib/main.dart'
,
],
stdout:
'result
$kBoundaryKey
\n
$kBoundaryKey
\n
$kBoundaryKey
$build
/app.dill 0
\n
'
),
]);
await
const
KernelSnapshot
()
.
build
(
androidEnvironment
..
defines
[
kFrontendServerStarterPath
]
=
'path/to/frontend_server_starter.dart'
);
expect
(
processManager
,
hasNoRemainingExpectations
);
});
testWithoutContext
(
'KernelSnapshot correctly forwards ExtraFrontEndOptions'
,
()
async
{
testWithoutContext
(
'KernelSnapshot correctly forwards ExtraFrontEndOptions'
,
()
async
{
fileSystem
.
file
(
'.dart_tool/package_config.json'
)
fileSystem
.
file
(
'.dart_tool/package_config.json'
)
..
createSync
(
recursive:
true
)
..
createSync
(
recursive:
true
)
...
...
packages/flutter_tools/test/general.shard/build_system/targets/web_test.dart
View file @
c627dbfb
...
@@ -391,6 +391,38 @@ void main() {
...
@@ -391,6 +391,38 @@ void main() {
ProcessManager:
()
=>
processManager
,
ProcessManager:
()
=>
processManager
,
}));
}));
test
(
'Dart2JSTarget ignores frontend server starter path option when calling dart2js'
,
()
=>
testbed
.
run
(()
async
{
environment
.
defines
[
kBuildMode
]
=
'profile'
;
environment
.
defines
[
kFrontendServerStarterPath
]
=
'path/to/frontend_server_starter.dart'
;
processManager
.
addCommand
(
FakeCommand
(
command:
<
String
>[
...
_kDart2jsLinuxArgs
,
'-Ddart.vm.profile=true'
,
'--no-source-maps'
,
'-o'
,
environment
.
buildDir
.
childFile
(
'app.dill'
).
absolute
.
path
,
'--packages=.dart_tool/package_config.json'
,
'--cfe-only'
,
environment
.
buildDir
.
childFile
(
'main.dart'
).
absolute
.
path
,
]
));
processManager
.
addCommand
(
FakeCommand
(
command:
<
String
>[
...
_kDart2jsLinuxArgs
,
'-Ddart.vm.profile=true'
,
'--no-minify'
,
'--no-source-maps'
,
'-O4'
,
'-o'
,
environment
.
buildDir
.
childFile
(
'main.dart.js'
).
absolute
.
path
,
environment
.
buildDir
.
childFile
(
'app.dill'
).
absolute
.
path
,
]
));
await
Dart2JSTarget
(
WebRendererMode
.
auto
).
build
(
environment
);
},
overrides:
<
Type
,
Generator
>{
ProcessManager:
()
=>
processManager
,
}));
test
(
'Dart2JSTarget calls dart2js with expected args with enabled experiment'
,
()
=>
testbed
.
run
(()
async
{
test
(
'Dart2JSTarget calls dart2js with expected args with enabled experiment'
,
()
=>
testbed
.
run
(()
async
{
environment
.
defines
[
kBuildMode
]
=
'profile'
;
environment
.
defines
[
kBuildMode
]
=
'profile'
;
...
...
packages/flutter_tools/test/general.shard/bundle_builder_test.dart
View file @
c627dbfb
...
@@ -87,6 +87,7 @@ void main() {
...
@@ -87,6 +87,7 @@ void main() {
BuildMode
.
debug
,
BuildMode
.
debug
,
null
,
null
,
trackWidgetCreation:
true
,
trackWidgetCreation:
true
,
frontendServerStarterPath:
'path/to/frontend_server_starter.dart'
,
extraFrontEndOptions:
<
String
>[
'test1'
,
'test2'
],
extraFrontEndOptions:
<
String
>[
'test1'
,
'test2'
],
extraGenSnapshotOptions:
<
String
>[
'test3'
,
'test4'
],
extraGenSnapshotOptions:
<
String
>[
'test3'
,
'test4'
],
fileSystemRoots:
<
String
>[
'test5'
,
'test6'
],
fileSystemRoots:
<
String
>[
'test5'
,
'test6'
],
...
@@ -106,6 +107,7 @@ void main() {
...
@@ -106,6 +107,7 @@ void main() {
expect
(
env
!.
defines
[
kTargetPlatform
],
'ios'
);
expect
(
env
!.
defines
[
kTargetPlatform
],
'ios'
);
expect
(
env
!.
defines
[
kTargetFile
],
mainPath
);
expect
(
env
!.
defines
[
kTargetFile
],
mainPath
);
expect
(
env
!.
defines
[
kTrackWidgetCreation
],
'true'
);
expect
(
env
!.
defines
[
kTrackWidgetCreation
],
'true'
);
expect
(
env
!.
defines
[
kFrontendServerStarterPath
],
'path/to/frontend_server_starter.dart'
);
expect
(
env
!.
defines
[
kExtraFrontEndOptions
],
'test1,test2'
);
expect
(
env
!.
defines
[
kExtraFrontEndOptions
],
'test1,test2'
);
expect
(
env
!.
defines
[
kExtraGenSnapshotOptions
],
'test3,test4'
);
expect
(
env
!.
defines
[
kExtraGenSnapshotOptions
],
'test3,test4'
);
expect
(
env
!.
defines
[
kFileSystemRoots
],
'test5,test6'
);
expect
(
env
!.
defines
[
kFileSystemRoots
],
'test5,test6'
);
...
...
packages/flutter_tools/test/general.shard/resident_runner_test.dart
View file @
c627dbfb
...
@@ -1963,6 +1963,28 @@ flutter:
...
@@ -1963,6 +1963,28 @@ flutter:
ProcessManager:
()
=>
FakeProcessManager
.
any
(),
ProcessManager:
()
=>
FakeProcessManager
.
any
(),
});
});
testUsingContext
(
'FlutterDevice passes frontendServerStarterPath parameter if specified'
,
()
async
{
fakeVmServiceHost
=
FakeVmServiceHost
(
requests:
<
VmServiceExpectation
>[]);
final
FakeDevice
device
=
FakeDevice
();
final
DefaultResidentCompiler
?
residentCompiler
=
(
await
FlutterDevice
.
create
(
device
,
buildInfo:
const
BuildInfo
(
BuildMode
.
debug
,
''
,
treeShakeIcons:
false
,
frontendServerStarterPath:
'/foo/bar/frontend_server_starter.dart'
,
),
target:
null
,
platform:
FakePlatform
(),
)).
generator
as
DefaultResidentCompiler
?;
expect
(
residentCompiler
!.
frontendServerStarterPath
,
'/foo/bar/frontend_server_starter.dart'
);
},
overrides:
<
Type
,
Generator
>{
Artifacts:
()
=>
Artifacts
.
test
(),
FileSystem:
()
=>
MemoryFileSystem
.
test
(),
ProcessManager:
()
=>
FakeProcessManager
.
any
(),
});
testUsingContext
(
'Handle existing VM service clients DDS error'
,
()
=>
testbed
.
run
(()
async
{
testUsingContext
(
'Handle existing VM service clients DDS error'
,
()
=>
testbed
.
run
(()
async
{
fakeVmServiceHost
=
FakeVmServiceHost
(
requests:
<
VmServiceExpectation
>[]);
fakeVmServiceHost
=
FakeVmServiceHost
(
requests:
<
VmServiceExpectation
>[]);
final
FakeDevice
device
=
FakeDevice
()
final
FakeDevice
device
=
FakeDevice
()
...
...
packages/flutter_tools/test/general.shard/xcode_backend_test.dart
View file @
c627dbfb
...
@@ -51,6 +51,7 @@ void main() {
...
@@ -51,6 +51,7 @@ void main() {
'-dTrackWidgetCreation='
,
'-dTrackWidgetCreation='
,
'-dDartObfuscation='
,
'-dDartObfuscation='
,
'-dAction=build'
,
'-dAction=build'
,
'-dFrontendServerStarterPath='
,
'--ExtraGenSnapshotOptions='
,
'--ExtraGenSnapshotOptions='
,
'--DartDefines='
,
'--DartDefines='
,
'--ExtraFrontEndOptions='
,
'--ExtraFrontEndOptions='
,
...
@@ -103,6 +104,7 @@ void main() {
...
@@ -103,6 +104,7 @@ void main() {
'-dTrackWidgetCreation='
,
'-dTrackWidgetCreation='
,
'-dDartObfuscation='
,
'-dDartObfuscation='
,
'-dAction='
,
'-dAction='
,
'-dFrontendServerStarterPath='
,
'--ExtraGenSnapshotOptions='
,
'--ExtraGenSnapshotOptions='
,
'--DartDefines='
,
'--DartDefines='
,
'--ExtraFrontEndOptions='
,
'--ExtraFrontEndOptions='
,
...
@@ -136,6 +138,7 @@ void main() {
...
@@ -136,6 +138,7 @@ void main() {
const
String
expandedCodeSignIdentity
=
'F1326572E0B71C3C8442805230CB4B33B708A2E2'
;
const
String
expandedCodeSignIdentity
=
'F1326572E0B71C3C8442805230CB4B33B708A2E2'
;
const
String
extraFrontEndOptions
=
'--some-option'
;
const
String
extraFrontEndOptions
=
'--some-option'
;
const
String
extraGenSnapshotOptions
=
'--obfuscate'
;
const
String
extraGenSnapshotOptions
=
'--obfuscate'
;
const
String
frontendServerStarterPath
=
'/path/to/frontend_server_starter.dart'
;
const
String
sdkRoot
=
'/path/to/sdk'
;
const
String
sdkRoot
=
'/path/to/sdk'
;
const
String
splitDebugInfo
=
'/path/to/split/debug/info'
;
const
String
splitDebugInfo
=
'/path/to/split/debug/info'
;
const
String
trackWidgetCreation
=
'true'
;
const
String
trackWidgetCreation
=
'true'
;
...
@@ -154,6 +157,7 @@ void main() {
...
@@ -154,6 +157,7 @@ void main() {
'EXTRA_FRONT_END_OPTIONS'
:
extraFrontEndOptions
,
'EXTRA_FRONT_END_OPTIONS'
:
extraFrontEndOptions
,
'EXTRA_GEN_SNAPSHOT_OPTIONS'
:
extraGenSnapshotOptions
,
'EXTRA_GEN_SNAPSHOT_OPTIONS'
:
extraGenSnapshotOptions
,
'FLUTTER_ROOT'
:
flutterRoot
.
path
,
'FLUTTER_ROOT'
:
flutterRoot
.
path
,
'FRONTEND_SERVER_STARTER_PATH'
:
frontendServerStarterPath
,
'INFOPLIST_PATH'
:
'Info.plist'
,
'INFOPLIST_PATH'
:
'Info.plist'
,
'SDKROOT'
:
sdkRoot
,
'SDKROOT'
:
sdkRoot
,
'SPLIT_DEBUG_INFO'
:
splitDebugInfo
,
'SPLIT_DEBUG_INFO'
:
splitDebugInfo
,
...
@@ -177,6 +181,7 @@ void main() {
...
@@ -177,6 +181,7 @@ void main() {
'-dTrackWidgetCreation=
$trackWidgetCreation
'
,
'-dTrackWidgetCreation=
$trackWidgetCreation
'
,
'-dDartObfuscation=
$dartObfuscation
'
,
'-dDartObfuscation=
$dartObfuscation
'
,
'-dAction=install'
,
'-dAction=install'
,
'-dFrontendServerStarterPath=
$frontendServerStarterPath
'
,
'--ExtraGenSnapshotOptions=
$extraGenSnapshotOptions
'
,
'--ExtraGenSnapshotOptions=
$extraGenSnapshotOptions
'
,
'--DartDefines=
$dartDefines
'
,
'--DartDefines=
$dartDefines
'
,
'--ExtraFrontEndOptions=
$extraFrontEndOptions
'
,
'--ExtraFrontEndOptions=
$extraFrontEndOptions
'
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment