Skip to content

GSoC 18 Weekly Updates

RamyElkest edited this page Aug 13, 2018 · 26 revisions

This page details a summary of the activities undertaken for each week.


Final Week (Aug 6)


Week 12 (July 30)


Week 10 (July 16) & Week 11 (July 23)

  • Major refactoring to allow:
    • Adding file dependencies at runtime
    • Adding ability to override default generators (and manual implementations)
    • Adding support to generate library level functions (eg. libvirt.open, etc.)
    • Adding support to generated enums at library level
  • Started Architecture documentation

Week 9 (July 9)


Week 8 (July 2)


Week 7 (June 25)

  • Refactoring generators
  • Following functions are now generated using the parser and a whitelist with Generating most manual functions
    • virConnectOpen
    • virConnectClose
    • virDomainLookupByName
    • virDomainGetID
    • virDomainGetURI

Week 6 (June 18)


Week 5 (June 11)

  • Repository (branch) cleanup to move things along
  • Created travis CI to run on PRs
  • Opened PR for initial Override and manual infrastructure to enable overridding generated functions (although we don't have the generated stubs yet)
  • Committed manual implementation of virConnectClose and partial virConnectRegisterCloseCallback (but still requires some work before PR)..
  • (Started work on API parser, but nothing useful yet)

Week 4 (June 4)

  • Created a PR to create generation infrastructure, this includes
    • A generator script that (for now) just outputs the previous manual code to files
    • A bunch of npm scripts to:
      • check libvirt version / api xmls / etc.
      • run the generate script
      • install and test
    • a makefile to wrap the npm scripts
  • Created proof of concept for defining js interface using node-addon-api (wrapping c++ objects).
    • My main aim was to highlight that we can arrive to something like this where with a bit of framework forwarding calls is a(n easily generatable) one liner
    • However I still stand by our decision to expose the API as a JS API. I think we're now in a good position to fill out the JS vs. C(++) API design decision
  • I tried to get in touch with the node-libvirt contributors in hope to schedule a few minutes to discuss any difficulties/hacks they had etc. however no response just yet.

Week 3 (May 28)


Week 2 (May 21)


Week 1 (May 14)