Skip to content
Snippets Groups Projects
  • Nick Alexander's avatar
    5893476b
    Bug 1508976 - Produce a multi-architecture GeckoView "fat AAR". r=glandium · 5893476b
    Nick Alexander authored
    This follows the model set down for EME artifacts:
    
    - a new tier is added that uses a new Python build action to fetch and
      artifacts
    - the action unpacks the fetched artifacts and moves specific inputs
      into places expected by the build and packager
    - in automation, MOZ_ARTIFACT_TASK* is used to ensure the artifacts
      come from the correct tasks
    
    In this case, the artifact fetching is done entirely in a new Python
    build action that internally uses `mach artifact install --job ...`.
    The action also verifies that the fetched artifacts are compatible and
    that we're not assembling a fat AAR that is nonsensical.  The specific
    inputs are not used in the Fennec APK that is produced; they're only
    used in the GeckoView AAR that is produced.
    
    The artifact fetching itself required tweaking to fetch only
    `target.maven.zip` artifacts and to not unpack them.
    
    The specific inputs used are the native libraries (libs/$ARCH/*.so)
    and the architecture-specific preference files ($ARCH/greprefs.js and
    defaults/pref/$ARCH/geckoview-prefs.js).  None of these inputs are
    impacted by l10n.
    
    Differential Revision: https://phabricator.services.mozilla.com/D31572
    
    --HG--
    extra : moz-landing-system : lando
    5893476b
    History
    Bug 1508976 - Produce a multi-architecture GeckoView "fat AAR". r=glandium
    Nick Alexander authored
    This follows the model set down for EME artifacts:
    
    - a new tier is added that uses a new Python build action to fetch and
      artifacts
    - the action unpacks the fetched artifacts and moves specific inputs
      into places expected by the build and packager
    - in automation, MOZ_ARTIFACT_TASK* is used to ensure the artifacts
      come from the correct tasks
    
    In this case, the artifact fetching is done entirely in a new Python
    build action that internally uses `mach artifact install --job ...`.
    The action also verifies that the fetched artifacts are compatible and
    that we're not assembling a fat AAR that is nonsensical.  The specific
    inputs are not used in the Fennec APK that is produced; they're only
    used in the GeckoView AAR that is produced.
    
    The artifact fetching itself required tweaking to fetch only
    `target.maven.zip` artifacts and to not unpack them.
    
    The specific inputs used are the native libraries (libs/$ARCH/*.so)
    and the architecture-specific preference files ($ARCH/greprefs.js and
    defaults/pref/$ARCH/geckoview-prefs.js).  None of these inputs are
    impacted by l10n.
    
    Differential Revision: https://phabricator.services.mozilla.com/D31572
    
    --HG--
    extra : moz-landing-system : lando