{"push_id":781659370,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"16030aeec825577ab34b9475b344673d599c339f","before":"b1fc727e730649d76fa542e07189f03ba9d52329","commits":[{"sha":"16030aeec825577ab34b9475b344673d599c339f","author":{"email":"c2e19a1e38094975c1f22191ec8b9539b73fbbbe@mirantis.com","name":"Stan Lagun"},"message":"yaql context versioning\n\nThis commit reworks mechanism how context chain\nis built at each point. The goal was to make\nentire chain be dependent on format version\nnumber. This would allow for example to use\nyaql 1.0 legacy mode context for MuranoPL/1.0\nand not to use it for 2.0.\n\nNot the entire chain is built on demand up to the\nroot instead of attaching to existed parent context\nas it was before. DSL host (engine) is no more\nrequired to have custom MuranoDslExecutor implementation\nbut a new ContextManager interface that is used\nto control contexts on each layer. Engine uses\nthis interface to register system classes and\nengine level yaql functions. Also a ContextManager\nis a foundation for method mocking because now\nall MuranoPL methods are yaql functions stored\nin context and with ContextManager it is possible\nto inject/replace function in each scope (\nglobal, package, class, object)\n\nPartially implements: blueprint murano-versioning\n\nChange-Id: I0a553e8044061fe780a83bc04d70b8f80580988f","distinct":true,"url":"https://api.github.com/repos/openstack/murano/commits/16030aeec825577ab34b9475b344673d599c339f"}]}