Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(175)

Issue 2487763002: [Mac/GN] Re-do framework packaging to fix framework versioning. (Closed)

Created:
4 years, 1 month ago by Robert Sesek
Modified:
4 years, 1 month ago
Reviewers:
Dirk Pranke
CC:
chromium-reviews, mac-reviews_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[Mac/GN] Re-do framework packaging to fix framework versioning. Rather than trying to symlink as an action after producing the bundle, do it as an early-stage action. As part of this, mac_framework_bundle callers need to explicitly specify the top-level symlinks (framework_contents) that should be created. Frameworks are now packaged like so: 1. At `gn gen` time, an exec_script runs to write the framework_version to a file. If the previous value written does not match the new value, the entire framework output directory is clobbered. This must be done at gen-time to ensure nothing tries to clean the framework while also attempting to copy to it. 2. Also at `gn gen` time, a TOC file for the framework_contents is written. This allows the build to emulate depending on the presence of the top-level symlinks, since ninja does not stat symlinks correctly. https://github.com/ninja-build/ninja/issues/1186 3. The package_framework.py action now runs before the main create_bundle(). This action depends on the TOC file from (2) and will create all the required symlinks in the bundle. At the time this runs, the symlink target may not yet exist. 4. The create_bundle target is now always the leaf edge for mac_framework_bundle, and it copies all bundle contents to the fully versioned path (rather than through a symlink). This should resolve the issue of the build not stabilizing between specifying a framework_version and not. BUG=648757 Committed: https://crrev.com/9522ddcc745f739414607811da8a2c6a17dbb17a Cr-Commit-Position: refs/heads/master@{#430778}

Patch Set 1 #

Total comments: 7

Patch Set 2 : address comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+149 lines, -97 lines) Patch
M build/config/mac/package_framework.py View 1 2 chunks +38 lines, -43 lines 0 comments Download
M build/config/mac/rules.gni View 1 6 chunks +88 lines, -49 lines 0 comments Download
M chrome/BUILD.gn View 3 chunks +23 lines, -5 lines 0 comments Download

Messages

Total messages: 14 (7 generated)
Robert Sesek
4 years, 1 month ago (2016-11-08 19:19:42 UTC) #3
Dirk Pranke
lgtm, I think, though it's hard for me to keep all of the subtleties in ...
4 years, 1 month ago (2016-11-08 21:41:10 UTC) #4
Robert Sesek
Thanks! On 2016/11/08 21:41:10, Dirk Pranke wrote: > lgtm, I think, though it's hard for ...
4 years, 1 month ago (2016-11-08 21:55:33 UTC) #5
Dirk Pranke
https://codereview.chromium.org/2487763002/diff/1/build/config/mac/package_framework.py File build/config/mac/package_framework.py (right): https://codereview.chromium.org/2487763002/diff/1/build/config/mac/package_framework.py#newcode35 build/config/mac/package_framework.py:35: if args.contents: On 2016/11/08 21:55:33, Robert Sesek wrote: > ...
4 years, 1 month ago (2016-11-08 22:03:59 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2487763002/20001
4 years, 1 month ago (2016-11-08 23:30:27 UTC) #11
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 1 month ago (2016-11-09 00:05:23 UTC) #12
commit-bot: I haz the power
4 years, 1 month ago (2016-11-09 00:08:22 UTC) #14
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/9522ddcc745f739414607811da8a2c6a17dbb17a
Cr-Commit-Position: refs/heads/master@{#430778}

Powered by Google App Engine
This is Rietveld 408576698