facebookexperimental / ExtendedAndroidTools

Extended Android Tools is a place to host and maintain a build environment and makefiles cross compiling Linux tools we all love for Android.
Apache License 2.0
189 stars 63 forks source link

CodeGen input and output streams #80

Closed Daquiver1 closed 1 year ago

michalgr commented 1 year ago

At this point, more than actual implementation we care about having the interface ready. It's fine to define those streams as abstract base classes.

We want asynchronous streams that can read and write all the PrimitiveTypes and IntegralTypes. Those streams will need to be implemented by hand (unfortunately) and they will need to depend on the types you generated in PR #76. Because of that I think we need to start building code you generated with BUCK. Before we get to this and later PRs we need to:

  1. Create a python_binary rule that prints code (new types to begin with) to stdout
  2. Add a genrule that runs the binary and produces a generated python file
  3. Add a python module (jdwp/runtime ?) that will contain the generated code and will be built by buck like any other python code we have
  4. Add the streams you're working on in this PR to that runtime module