• Jérémie Boulic's avatar
    [Files app]: Add scripts for JS modules conversion · 2ce3bfdf
    Jérémie Boulic authored
    Command:
    ui/file_manager/base/tools/modules.sh [1] [2]
    [1] build directory (e.g. out/Release)
    [2] path of JS file to convert (relative to chromium/src)
    
    What does the script do:
    1. Update BUILD.gn to enable conversion of JS file.
    2. Add exports.
    3. Run closure compiler.
    4. Parse closure compiler output to retrieve unknown types/variables/functions.
    6. Parse these dependencies to find relevant exported types/variables/functions.
    7. When found, update BUILD.gn and JS file.
    
    Made sure that:
    The script doesn't add any irrelevant import/export.
    No duplicate lines are added.
    
    Steps 3 to 7 are ran until the closure compiler output
    'X error(s), Y warning(s), Z% typed' doesn't change. The closure compiler
    is ran at least 3 times (except if no imports are found), sometimes more.
    
    Bug: 1133186
    Change-Id: I1528c8187bc1476d6add1bcb14a0d4fd1b64a4fe
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2550328
    Commit-Queue: Jeremie Boulic <jboulic@chromium.org>
    Reviewed-by: default avatarLuciano Pacheco <lucmult@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#834181}
    2ce3bfdf
modules.py 29.6 KB