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
d6d87447
Unverified
Commit
d6d87447
authored
Apr 06, 2018
by
Zachary Anderson
Committed by
GitHub
Apr 06, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[fuchsia] Fixes for Fuchsia hot reload (#16317)
parent
037a4aef
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
25 additions
and
10 deletions
+25
-10
fuchsia_reload.dart
packages/flutter_tools/lib/src/commands/fuchsia_reload.dart
+25
-10
No files found.
packages/flutter_tools/lib/src/commands/fuchsia_reload.dart
View file @
d6d87447
...
...
@@ -4,6 +4,7 @@
import
'dart:async'
;
import
'dart:collection'
;
import
'dart:convert'
;
import
'../base/common.dart'
;
import
'../base/file_system.dart'
;
...
...
@@ -41,6 +42,10 @@ class FuchsiaReloadCommand extends FlutterCommand {
argParser
.
addOption
(
'gn-target'
,
abbr:
'g'
,
help:
'GN target of the application, e.g //path/to/app:app.'
);
argParser
.
addOption
(
'isolate-number'
,
abbr:
'i'
,
help:
'To reload only one instance, specify the isolate number, e.g. '
'the number in foo
\
$main
-###### given by --list.'
);
argParser
.
addFlag
(
'list'
,
abbr:
'l'
,
defaultsTo:
false
,
...
...
@@ -48,10 +53,10 @@ class FuchsiaReloadCommand extends FlutterCommand {
argParser
.
addOption
(
'name-override'
,
abbr:
'n'
,
help:
'On-device name of the application binary.'
);
argParser
.
add
Option
(
'isolate-number
'
,
abbr:
'
i
'
,
help:
'To reload only one instance, specify the isolate number, e.g. '
'the number in foo
\
$main
-###### given by --list
.'
);
argParser
.
add
Flag
(
'preview-dart-2
'
,
abbr:
'
2
'
,
defaultsTo:
false
,
help:
'Preview Dart 2.0 functionality
.'
);
argParser
.
addOption
(
'target'
,
abbr:
't'
,
defaultsTo:
flx
.
defaultMainPath
,
...
...
@@ -178,6 +183,8 @@ class FuchsiaReloadCommand extends FlutterCommand {
printTrace
(
'Looing for view
$viewFilter
'
);
final
List
<
int
>
result
=
<
int
>[];
for
(
FlutterView
v
in
await
_getViews
(
ports
))
{
if
(
v
.
uiIsolate
==
null
)
continue
;
final
Uri
addr
=
v
.
owner
.
vmService
.
httpAddress
;
printTrace
(
'At
$addr
, found view:
${v.uiIsolate.name}
'
);
if
(
v
.
uiIsolate
.
name
.
contains
(
viewFilter
))
...
...
@@ -355,11 +362,15 @@ class FuchsiaReloadCommand extends FlutterCommand {
return
<
String
>[
path
,
name
];
}
Future
<
List
<
_PortForwarder
>>
_forwardPorts
(
List
<
int
>
remotePorts
)
{
Future
<
List
<
_PortForwarder
>>
_forwardPorts
(
List
<
int
>
remotePorts
)
async
{
final
String
config
=
'
$_buildDir
/ssh-keys/ssh_config'
;
return
Future
.
wait
(
remotePorts
.
map
((
int
remotePort
)
{
return
_PortForwarder
.
start
(
config
,
_address
,
remotePort
);
}));
final
List
<
_PortForwarder
>
forwarders
=
<
_PortForwarder
>[];
for
(
int
port
in
remotePorts
)
{
final
_PortForwarder
f
=
await
_PortForwarder
.
start
(
config
,
_address
,
port
);
forwarders
.
add
(
f
);
}
return
forwarders
;
}
Future
<
List
<
int
>>
_getServicePorts
()
async
{
...
...
@@ -421,10 +432,14 @@ class _PortForwarder {
return
new
_PortForwarder
.
_
(
null
,
0
,
0
,
null
,
null
);
}
final
List
<
String
>
command
=
<
String
>[
'ssh'
,
'-F'
,
sshConfig
,
'-nNT'
,
'ssh'
,
'-F'
,
sshConfig
,
'-nNT'
,
'-vvv'
,
'-L'
,
'
$localPort
:
$ipv4Loopback
:
$remotePort
'
,
address
];
printTrace
(
"_PortForwarder running '
${command.join(' ')}
'"
);
final
Process
process
=
await
processManager
.
start
(
command
);
process
.
stderr
.
transform
(
utf8
.
decoder
)
.
transform
(
const
LineSplitter
())
.
listen
((
String
data
)
{
printTrace
(
data
);
});
process
.
exitCode
.
then
((
int
c
)
{
printTrace
(
"'
${command.join(' ')}
' exited with exit code
$c
"
);
});
...
...
@@ -440,7 +455,7 @@ class _PortForwarder {
}
// Cancel the forwarding request.
final
List
<
String
>
command
=
<
String
>[
'ssh'
,
'-F'
,
_sshConfig
,
'-O'
,
'cancel'
,
'ssh'
,
'-F'
,
_sshConfig
,
'-O'
,
'cancel'
,
'-vvv'
,
'-L'
,
'
$_localPort
:
$ipv4Loopback
:
$_remotePort
'
,
_remoteAddress
];
final
ProcessResult
result
=
await
processManager
.
run
(
command
);
printTrace
(
command
.
join
(
' '
));
...
...
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