Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix openr.thrift Python Module Build #96

Closed
wants to merge 2 commits into from

Commits on May 21, 2021

  1. Add breeze only Dockerfile

    - Add a build_breeze.sh
    - Have a Docker file that only builds breeze
      - Make both Docker files use new build_breeze.sh so there is no copy pasta
    - Make a common.sh shareing what common code we can
    - Refactor thrift install into a seperate Docker step + scripts (out of setup.py)
    - Generate mstch_cpp2 + mstch_py3
    
    TODO: Workout how to use cython to compule thrift.py.* + openr.thrift.* .so's
    
    Test Plan:
    - Bulld both containers
    - `breeze --help`
    cooperlees authored and MatthewWEdwards committed May 21, 2021
    Configuration menu
    Copy the full SHA
    5a1d4d9 View commit details
    Browse the repository at this point in the history
  2. Fix openr.thrift Python Build

    Summary:
    Add Dockerfile build for openr.thrift python module.
    
    The python module is built by:
    1. Building and installing Facebook libraries with fbcode_builder
    2. Building Open/R
    3. Generating Cython files from thrift files with the FB thrift compiler
    4. Generating C++ files from the Cython modules with the Cython compiler
    5. Compiling the C++ modules into shared objects
    
    Future work for building and distributing Breeze:
    
    - Fix the hacks in build_breeze.sh, see comments therein
    - Use a staged Dockerfile build for the Open/R and Breeze build
    - Install openr.thrift. The openr.thrift shared objects are build and
      stored in the Docker image generated by Dockerfile, but are unused.
    - Install all the openr python submodules in a single openr site-package
    - Add cross-compilation to the openr.thrift build. This is needed for
      Terragraph
    - Upload the openr python package to PyPi
    MatthewWEdwards committed May 21, 2021
    Configuration menu
    Copy the full SHA
    a8b5ee4 View commit details
    Browse the repository at this point in the history