)]}'
{"README.md":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"1ea0b453e006c1be93dc92fa8f34599f44ee0420","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"# Additional Projects"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"DevStack has a hook mechanism to call out to a dispatch script at specific points in the execution if `stack.sh`, `unstack.sh` and `clean.sh`.  This allows higher-level projects, especially those that the lower level projects have no dependency on, to be added to DevStack without modifying the scripts.  Tempest is built this way as an example of how to structure the dispatch script, see `extras.d/80-tempest.sh`.  See `extras.d/README.md` for more information."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"# Multi-Node Setup"},{"line_number":223,"context_line":""}],"source_content_type":"text/x-gfm","patch_set":1,"id":"AAAATH%2F%2FYsA%3D","line":220,"updated":"2013-10-16 20:34:16.000000000","message":"so if this gets respun, an 80 col wrap would be nice.","commit_id":"cdf3d766478d04e62a860754298e7d86f89b33a9"}],"clean.sh":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"1ea0b453e006c1be93dc92fa8f34599f44ee0420","unresolved":false,"context_lines":[{"line_number":71,"context_line":"# Phase: clean"},{"line_number":72,"context_line":"if [[ -d $TOP_DIR/extras.d ]]; then"},{"line_number":73,"context_line":"    for i in $TOP_DIR/extras.d/*.sh; do"},{"line_number":74,"context_line":"        [[ -r $i ]] \u0026\u0026 source $i clean"},{"line_number":75,"context_line":"    done"},{"line_number":76,"context_line":"fi"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"AAAATH%2F%2FYro%3D","line":74,"updated":"2013-10-16 20:34:16.000000000","message":"is source really what you want here?","commit_id":"cdf3d766478d04e62a860754298e7d86f89b33a9"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"e6735e85bcb7968e050df92dc272f0ea2b766533","unresolved":false,"context_lines":[{"line_number":71,"context_line":"# Phase: clean"},{"line_number":72,"context_line":"if [[ -d $TOP_DIR/extras.d ]]; then"},{"line_number":73,"context_line":"    for i in $TOP_DIR/extras.d/*.sh; do"},{"line_number":74,"context_line":"        [[ -r $i ]] \u0026\u0026 source $i clean"},{"line_number":75,"context_line":"    done"},{"line_number":76,"context_line":"fi"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"AAAATH%2F%2FYqg%3D","line":74,"updated":"2013-10-16 20:38:18.000000000","message":"so I see that this works, I\u0027m curious why source instead of a ./ to run, if there are any other implications.","commit_id":"cdf3d766478d04e62a860754298e7d86f89b33a9"}]}
