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
cb3b7ab4
Unverified
Commit
cb3b7ab4
authored
Jan 29, 2020
by
Jonah Williams
Committed by
GitHub
Jan 29, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[flutter_tools] simplify symbol logic for iOS (#49628)
parent
de7da494
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
6 additions
and
65 deletions
+6
-65
module_test_ios.dart
dev/devicelab/bin/tasks/module_test_ios.dart
+0
-36
xcode_backend.sh
packages/flutter_tools/bin/xcode_backend.sh
+0
-24
build.dart
packages/flutter_tools/lib/src/base/build.dart
+1
-5
build_test.dart
...ges/flutter_tools/test/general.shard/base/build_test.dart
+5
-0
No files found.
dev/devicelab/bin/tasks/module_test_ios.dart
View file @
cb3b7ab4
...
...
@@ -57,13 +57,6 @@ Future<void> main() async {
);
}
if
(
await
_hasDebugSymbols
(
ephemeralReleaseHostApp
))
{
return
TaskResult
.
failure
(
"Ephemeral host app
${ephemeralReleaseHostApp.path}
's App.framework's "
"debug symbols weren't stripped in release mode"
);
}
section
(
'Clean build'
);
await
inDirectory
(
projectDir
,
()
async
{
...
...
@@ -97,12 +90,6 @@ Future<void> main() async {
);
}
if
(!
await
_hasDebugSymbols
(
ephemeralProfileHostApp
))
{
return
TaskResult
.
failure
(
"Ephemeral host app
${ephemeralProfileHostApp.path}
's App.framework does not contain debug symbols"
);
}
section
(
'Clean build'
);
await
inDirectory
(
projectDir
,
()
async
{
...
...
@@ -406,26 +393,3 @@ Future<bool> _isAppAotBuild(Directory app) async {
return
symbolTable
.
contains
(
'kDartIsolateSnapshotInstructions'
);
}
Future
<
bool
>
_hasDebugSymbols
(
Directory
app
)
async
{
final
String
binary
=
path
.
join
(
app
.
path
,
'Frameworks'
,
'App.framework'
,
'App'
,
);
final
String
symbolTable
=
await
eval
(
'dsymutil'
,
<
String
>
[
'--dump-debug-map'
,
binary
,
],
// The output is huge.
printStdout:
false
,
);
// Search for some random Flutter framework Dart function which should always
// be in App.framework.
return
symbolTable
.
contains
(
'BuildOwner_reassemble'
);
}
packages/flutter_tools/bin/xcode_backend.sh
View file @
cb3b7ab4
...
...
@@ -201,30 +201,6 @@ BuildApp() {
RunCommand
cp
-r
--
"
${
app_framework
}
"
"
${
derived_dir
}
"
if
[[
"
${
build_mode
}
"
==
"release"
]]
;
then
StreamOutput
" ├─Generating dSYM file..."
# Xcode calls `symbols` during app store upload, which uses Spotlight to
# find dSYM files for embedded frameworks. When it finds the dSYM file for
# `App.framework` it throws an error, which aborts the app store upload.
# To avoid this, we place the dSYM files in a folder ending with ".noindex",
# which hides it from Spotlight, https://github.com/flutter/flutter/issues/22560.
RunCommand
mkdir
-p
--
"
${
build_dir
}
/dSYMs.noindex"
RunCommand xcrun dsymutil
-o
"
${
build_dir
}
/dSYMs.noindex/App.framework.dSYM"
"
${
app_framework
}
/App"
if
[[
$?
-ne
0
]]
;
then
EchoError
"Failed to generate debug symbols (dSYM) file for
${
app_framework
}
/App."
exit
-1
fi
StreamOutput
"done"
StreamOutput
" ├─Stripping debug symbols..."
RunCommand xcrun strip
-x
-S
"
${
derived_dir
}
/App.framework/App"
if
[[
$?
-ne
0
]]
;
then
EchoError
"Failed to strip
${
derived_dir
}
/App.framework/App."
exit
-1
fi
StreamOutput
"done"
fi
else
RunCommand
mkdir
-p
--
"
${
derived_dir
}
/App.framework"
...
...
packages/flutter_tools/lib/src/base/build.dart
View file @
cb3b7ab4
...
...
@@ -138,11 +138,7 @@ class AOTSnapshotter {
outputPaths
.
add
(
assembly
);
genSnapshotArgs
.
add
(
'--snapshot_kind=app-aot-assembly'
);
genSnapshotArgs
.
add
(
'--assembly=
$assembly
'
);
// TODO(jonahwilliams): determine the correct time to use strip
// since this is required for the future dwarf strack traces option.
if
(
bitcode
&&
buildMode
==
BuildMode
.
release
)
{
genSnapshotArgs
.
add
(
'--strip'
);
}
genSnapshotArgs
.
add
(
'--strip'
);
}
else
{
final
String
aotSharedLibrary
=
globals
.
fs
.
path
.
join
(
outputDir
.
path
,
'app.so'
);
outputPaths
.
add
(
aotSharedLibrary
);
...
...
packages/flutter_tools/test/general.shard/base/build_test.dart
View file @
cb3b7ab4
...
...
@@ -326,6 +326,7 @@ void main() {
'--deterministic'
,
'--snapshot_kind=app-aot-assembly'
,
'--assembly=
$assembly
'
,
'--strip'
,
'--no-sim-use-hardfp'
,
'--no-use-integer-division'
,
'--no-causal-async-stacks'
,
...
...
@@ -444,6 +445,7 @@ void main() {
'--deterministic'
,
'--snapshot_kind=app-aot-assembly'
,
'--assembly=
$assembly
'
,
'--strip'
,
'--no-sim-use-hardfp'
,
'--no-use-integer-division'
,
'--no-causal-async-stacks'
,
...
...
@@ -493,6 +495,7 @@ void main() {
'--deterministic'
,
'--snapshot_kind=app-aot-assembly'
,
'--assembly=
${globals.fs.path.join(outputPath, 'snapshot_assembly.S')}
'
,
'--strip'
,
'--no-causal-async-stacks'
,
'--lazy-async-stacks'
,
'main.dill'
,
...
...
@@ -531,6 +534,7 @@ void main() {
'--deterministic'
,
'--snapshot_kind=app-aot-assembly'
,
'--assembly=
${globals.fs.path.join(outputPath, 'snapshot_assembly.S')}
'
,
'--strip'
,
'--no-sim-use-hardfp'
,
'--no-use-integer-division'
,
'--no-causal-async-stacks'
,
...
...
@@ -571,6 +575,7 @@ void main() {
'--deterministic'
,
'--snapshot_kind=app-aot-assembly'
,
'--assembly=
${globals.fs.path.join(outputPath, 'snapshot_assembly.S')}
'
,
'--strip'
,
'--no-causal-async-stacks'
,
'--lazy-async-stacks'
,
'main.dill'
,
...
...
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