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
dfad0395
Unverified
Commit
dfad0395
authored
Jul 30, 2019
by
xster
Committed by
GitHub
Jul 30, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
do not strip symbols when building profile (#37210)
parent
d208ce2d
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
57 additions
and
19 deletions
+57
-19
module_test_ios.dart
dev/devicelab/bin/tasks/module_test_ios.dart
+36
-0
xcode_backend.sh
packages/flutter_tools/bin/xcode_backend.sh
+21
-19
No files found.
dev/devicelab/bin/tasks/module_test_ios.dart
View file @
dfad0395
...
...
@@ -59,6 +59,13 @@ 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
{
...
...
@@ -92,6 +99,12 @@ 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
{
...
...
@@ -290,3 +303,26 @@ 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 @
dfad0395
...
...
@@ -201,27 +201,29 @@ BuildApp() {
RunCommand
cp
-r
--
"
${
app_framework
}
"
"
${
derived_dir
}
"
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"
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
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
StreamOutput
"done"
else
RunCommand
mkdir
-p
--
"
${
derived_dir
}
/App.framework"
...
...
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