{"push_id":1027447697,"size":8,"distinct_size":8,"ref":"refs/heads/add-adapter-modules","head":"bd57df156274f39466ad1e143d381096190f5d5b","before":"0f6cb7125fba0dce0422fb5a842a665025c41221","commits":[{"sha":"937900fc268c8cdef1d55c42648c133b2179e4cc","author":{"email":"649d1152bb80f39865b11b05bcf65515a12de820@jut.io","name":"Mark Stemm"},"message":"Add a loaded flag.\n\nAdd a loaded flag for each adapter object returned from list() that\nindicates whether or not the adapter was loaded successfully.","distinct":true,"url":"https://api.github.com/repos/juttle/juttle/commits/937900fc268c8cdef1d55c42648c133b2179e4cc"},{"sha":"3badeed32a7376d07971c6acaa46405da4ac2c39","author":{"email":"649d1152bb80f39865b11b05bcf65515a12de820@jut.io","name":"Mark Stemm"},"message":"Use a common function to read files.\n\nBoth _resolve_system_import and _resolve_local_import had common code\nto read the file wrapped in a try. Move this to a common function\n_read_file which returns the object on success, false on failure.","distinct":true,"url":"https://api.github.com/repos/juttle/juttle/commits/3badeed32a7376d07971c6acaa46405da4ac2c39"},{"sha":"490b3baa09a0b067ff4819867b28ef844b3ed0de","author":{"email":"649d1152bb80f39865b11b05bcf65515a12de820@jut.io","name":"Mark Stemm"},"message":"Add support for adapter modules.\n\nCreate the convention that adapters can publish modules below the\ndirectory module_root, which is a subdirectory below the directory\nwhere the adapter was loaded (e.g. juttle-XXX-adapter/module_root).\n\nIn import statements, the file is imported using \"import\nXXX/path-to-module-file\". Note that module_root is not directly\nvisible, replaced by the name of the adapter.\n\nThe file resolver calls adapters.list and for any available\nnon-built-in adapters adds <adapter install path>/module_root to a set\nof per-adapter search paths. In _search_system_import, take the first\nsubdirectory of any path suffix and see if it matches the name of an\nadapter. If so, swap out the adapter name and the adapter search path,\nand try to load the file.","distinct":true,"url":"https://api.github.com/repos/juttle/juttle/commits/490b3baa09a0b067ff4819867b28ef844b3ed0de"},{"sha":"3e07b31f9204dcd1f53711897e1ce034b081b5bc","author":{"email":"649d1152bb80f39865b11b05bcf65515a12de820@jut.io","name":"Mark Stemm"},"message":"Add docs describing per-adapter modules.\n\nAdd content to the module section describing what adapter modules are\nand content to the adapters api section describing the convention for\nadapter modules.","distinct":true,"url":"https://api.github.com/repos/juttle/juttle/commits/3e07b31f9204dcd1f53711897e1ce034b081b5bc"},{"sha":"0b9239f02404bea3ed96747861ce1d5dbbc6d463","author":{"email":"649d1152bb80f39865b11b05bcf65515a12de820@jut.io","name":"Mark Stemm"},"message":"Add tests for per-adapter modules.\n\nAdd a simple module to the test-adapter in test/runtime, which is\npicked up when loading juttle-test-utils.\n\nIn the file resolver test, try to load:\n - test/index.juttle: should work\n - test/: should work\n - noSuchAdapter: should fail, no adapter with that name exists\n - timeseriesAdapter: should fail, adapter exists, but does not have any modules.","distinct":true,"url":"https://api.github.com/repos/juttle/juttle/commits/0b9239f02404bea3ed96747861ce1d5dbbc6d463"},{"sha":"5fe0377822ec83e3fb59d0bd6b576044ec0c35ec","author":{"email":"649d1152bb80f39865b11b05bcf65515a12de820@jut.io","name":"Mark Stemm"},"message":"Move module_root to juttle-modules.","distinct":true,"url":"https://api.github.com/repos/juttle/juttle/commits/5fe0377822ec83e3fb59d0bd6b576044ec0c35ec"},{"sha":"564bbc4a23af35044ac92601f1659b17ce6fdf0e","author":{"email":"649d1152bb80f39865b11b05bcf65515a12de820@jut.io","name":"Mark Stemm"},"message":"Update docs for module_root -> juttle-modules switch.","distinct":true,"url":"https://api.github.com/repos/juttle/juttle/commits/564bbc4a23af35044ac92601f1659b17ce6fdf0e"},{"sha":"bd57df156274f39466ad1e143d381096190f5d5b","author":{"email":"649d1152bb80f39865b11b05bcf65515a12de820@jut.io","name":"Mark Stemm"},"message":"Address feedback.\n\n- module_root -> juttle-modules\n- Use adapter.builtin and (new) adapter.loaded instead of indirect examination of other properties.\n- Only add a root to adapter_roots if it exists and is a directory.\n- use _.findwhere instead of a loop","distinct":true,"url":"https://api.github.com/repos/juttle/juttle/commits/bd57df156274f39466ad1e143d381096190f5d5b"}]}