• jamesr's avatar
    Add gclient hook to download prebuilt mojo_shell · e0985278
    jamesr authored
    This adds a gclient hook that downloads prebuilt mojo_shell binaries
    from google storage (linux only for now) and gyp/gn flags to toggle
    using these prebuilt binaries instead of ones built from source. This
    also adds a helper script that uploads a locally built mojo_shell binary
    to the appropriate place in google storage.  The versioning scheme is:
    
    *) mojo/public/VERSION contains an identifier (committish currently) for
      the mojo public SDK. The mojo_shell binary must match the interfaces
      defined in this version of mojo/public/.
    
    *) gs://mojo/shell/$VERSION/$PLATFORM.zip contains a prebuilt mojo_shell
      binary for a particular version. $PLATFORM for now must be linux-x64,
      but we can add more later as needed.
    
    gclient runhooks downloads the shell binary referred to by
    mojo/public/VERSION if it is available for the host platform to
    mojo/public/tools/prebuilt/ and updates mojo/public/tools/prebuilt/VERSION
    to tag the version downloaded if successful. On subsequent runs the hook
    will check this against mojo/public/VERSION and avoid downloading again if
    the binary is up to date.
    
    This also adds variables to the GYP and GN builds that control if building
    'mojo' builds a mojo_shell binary from source or copies the prebuilt binary
    into the outdir.  They both default to false for now.
    
    R=abarth@chromium.org
    
    Review URL: https://codereview.chromium.org/667853002
    
    Cr-Commit-Position: refs/heads/master@{#300600}
    e0985278
VERSION 41 Bytes