GN: support code signing and validate device builds |
|||
Issue descriptionCode signing is required on iOS for device builds.
,
Jun 6 2016
,
Jun 6 2016
,
Jun 14 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/14ddbb64afb087115791aeb2237dc880eac6de12 commit 14ddbb64afb087115791aeb2237dc880eac6de12 Author: sdefresne <sdefresne@chromium.org> Date: Tue Jun 14 18:33:33 2016 [GN] Add support for code signing to "create_bundle" targets. To be able to run iOS application on device, they have to be code signed. The code signature needs all the files to have been copied in the bundle (as it embeds a manifest) and embeds the signature in the binary. This prevents running the code signature as a separate action (as it either run before the file have been copied into the bundle, or it modify the output of another target). This CL adds support for running a script to perform the code signing as the last step of creating the application bundle. If a script is defined, it is run after all files have been copied into the bundle. The script can add new file in the bundle but must not modify any file already there (on iOS this means that the script will copy the binary into the bundle). While adding support for code signing, found and fixed an issue where the input dependencies of the create_bundle targets was incorrect (files that are not generated were not listed as inputs). BUG= 600491 Review-Url: https://codereview.chromium.org/2060273002 Cr-Commit-Position: refs/heads/master@{#399755} [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/bundle_data.cc [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/bundle_data.h [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/command_desc.cc [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/create_bundle_target_generator.cc [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/create_bundle_target_generator.h [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/docs/reference.md [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/functions_target.cc [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/ninja_create_bundle_target_writer.cc [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/ninja_create_bundle_target_writer.h [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/ninja_create_bundle_target_writer_unittest.cc [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/variables.cc [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/variables.h
,
Jun 15 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/14ddbb64afb087115791aeb2237dc880eac6de12 commit 14ddbb64afb087115791aeb2237dc880eac6de12 Author: sdefresne <sdefresne@chromium.org> Date: Tue Jun 14 18:33:33 2016 [GN] Add support for code signing to "create_bundle" targets. To be able to run iOS application on device, they have to be code signed. The code signature needs all the files to have been copied in the bundle (as it embeds a manifest) and embeds the signature in the binary. This prevents running the code signature as a separate action (as it either run before the file have been copied into the bundle, or it modify the output of another target). This CL adds support for running a script to perform the code signing as the last step of creating the application bundle. If a script is defined, it is run after all files have been copied into the bundle. The script can add new file in the bundle but must not modify any file already there (on iOS this means that the script will copy the binary into the bundle). While adding support for code signing, found and fixed an issue where the input dependencies of the create_bundle targets was incorrect (files that are not generated were not listed as inputs). BUG= 600491 Review-Url: https://codereview.chromium.org/2060273002 Cr-Commit-Position: refs/heads/master@{#399755} [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/bundle_data.cc [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/bundle_data.h [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/command_desc.cc [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/create_bundle_target_generator.cc [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/create_bundle_target_generator.h [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/docs/reference.md [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/functions_target.cc [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/ninja_create_bundle_target_writer.cc [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/ninja_create_bundle_target_writer.h [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/ninja_create_bundle_target_writer_unittest.cc [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/variables.cc [modify] https://crrev.com/14ddbb64afb087115791aeb2237dc880eac6de12/tools/gn/variables.h
,
Jun 16 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/eecfedb63ad99ea127fd51bebf2c1b1e2e7785a0 commit eecfedb63ad99ea127fd51bebf2c1b1e2e7785a0 Author: sdefresne <sdefresne@chromium.org> Date: Thu Jun 16 19:30:13 2016 [iOS/GN] Add code signing rules to ios_app_bundle target. Add a new script build/config/ios/codesign.py that copy the application binary into the application bundle and code sign it. Call the script from the ios_app_bundle target when ios_enable_code_signing is true (default when targetting a device build) and remove some unused variables (the code signing identity is generally set for the whole build). BUG= 600491 Review-Url: https://codereview.chromium.org/2060943002 Cr-Commit-Position: refs/heads/master@{#400229} [add] https://crrev.com/eecfedb63ad99ea127fd51bebf2c1b1e2e7785a0/build/config/ios/codesign.py [modify] https://crrev.com/eecfedb63ad99ea127fd51bebf2c1b1e2e7785a0/build/config/ios/rules.gni [modify] https://crrev.com/eecfedb63ad99ea127fd51bebf2c1b1e2e7785a0/ios/web/shell/BUILD.gn [modify] https://crrev.com/eecfedb63ad99ea127fd51bebf2c1b1e2e7785a0/testing/test.gni
,
Jun 16 2016
The following revision refers to this bug: https://chrome-internal.googlesource.com/chrome/ios_internal.git/+/c7ef0ce063d1f84ba5d55489976e32c7b36566e8 commit c7ef0ce063d1f84ba5d55489976e32c7b36566e8 Author: sdefresne <sdefresne@google.com> Date: Thu Jun 16 22:00:22 2016
,
Jun 17 2016
The following revision refers to this bug: https://chrome-internal.googlesource.com/chrome/ios_internal.git/+/5d1436a42c5ca33c42d58c32e7c81ca7bd853743 commit 5d1436a42c5ca33c42d58c32e7c81ca7bd853743 Author: sdefresne <sdefresne@google.com> Date: Fri Jun 17 13:23:54 2016
,
Jun 17 2016
|
|||
►
Sign in to add a comment |
|||
Comment 1 by sdefresne@chromium.org
, Apr 11 2016