{"action":"created","issue":{"url":"https://api.github.com/repos/ev3dev/brickstrap/issues/19","labels_url":"https://api.github.com/repos/ev3dev/brickstrap/issues/19/labels{/name}","comments_url":"https://api.github.com/repos/ev3dev/brickstrap/issues/19/comments","events_url":"https://api.github.com/repos/ev3dev/brickstrap/issues/19/events","html_url":"https://github.com/ev3dev/brickstrap/pull/19","id":124495751,"number":19,"title":"Add support for a search path mechanism operating on a directory hierarchy.","user":{"login":"cmacq2","id":13215950,"avatar_url":"https://avatars.githubusercontent.com/u/13215950?v=3","gravatar_id":"","url":"https://api.github.com/users/cmacq2","html_url":"https://github.com/cmacq2","followers_url":"https://api.github.com/users/cmacq2/followers","following_url":"https://api.github.com/users/cmacq2/following{/other_user}","gists_url":"https://api.github.com/users/cmacq2/gists{/gist_id}","starred_url":"https://api.github.com/users/cmacq2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cmacq2/subscriptions","organizations_url":"https://api.github.com/users/cmacq2/orgs","repos_url":"https://api.github.com/users/cmacq2/repos","events_url":"https://api.github.com/users/cmacq2/events{/privacy}","received_events_url":"https://api.github.com/users/cmacq2/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-12-31T18:59:02Z","updated_at":"2016-01-01T02:37:39Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ev3dev/brickstrap/pulls/19","html_url":"https://github.com/ev3dev/brickstrap/pull/19","diff_url":"https://github.com/ev3dev/brickstrap/pull/19.diff","patch_url":"https://github.com/ev3dev/brickstrap/pull/19.patch"},"body":"Add support for a search path mechanism operating on a directory hierarchy.\r\n\r\nVariables are introduced to parameterise relative paths based on arch, board, distro and variant values.\r\n(See: br_find_path, br_locate_path, br_locate_directory)\r\n\r\nValidation of these variables is added (see: br_validate_search_path_vars).\r\nThis validation of such variables may be 'circumvented' by setting a corresponding variable\r\nnamed BR_IGNORE_INVALID_* (with * being the name of variable to trust blindly).\r\n\r\nAn override mechanism is introduced based on conceptual layers corresponding to the variables.\r\n(See br_find_path, br_consume_path_list_iterate_directories.)\r\n\r\nAdditional convenience functions are introduced for producing lists of all paths that match a relative base path.\r\n(See br_list_paths, br_list_directories)\r\n\r\nThese lists may be iterated over using br_consume_path_list and br_consume_path_list_iterate_directories.\r\nThe latter may be used to 'merge' the configuration files in directories.\r\n\r\nA few br_print_* functions are added, which could be exposed as debug tools for users of brickstrap (and were used to lightly test the brickstrap-paths.sh code).\r\n\r\nN.B.: the code hasn't been extensively tested to see how well it copes with 'special' characters (such as: \\, $, @, ', \") in various paths."},"comment":{"url":"https://api.github.com/repos/ev3dev/brickstrap/issues/comments/168278510","html_url":"https://github.com/ev3dev/brickstrap/pull/19#issuecomment-168278510","issue_url":"https://api.github.com/repos/ev3dev/brickstrap/issues/19","id":168278510,"user":{"login":"dlech","id":963645,"avatar_url":"https://avatars.githubusercontent.com/u/963645?v=3","gravatar_id":"","url":"https://api.github.com/users/dlech","html_url":"https://github.com/dlech","followers_url":"https://api.github.com/users/dlech/followers","following_url":"https://api.github.com/users/dlech/following{/other_user}","gists_url":"https://api.github.com/users/dlech/gists{/gist_id}","starred_url":"https://api.github.com/users/dlech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dlech/subscriptions","organizations_url":"https://api.github.com/users/dlech/orgs","repos_url":"https://api.github.com/users/dlech/repos","events_url":"https://api.github.com/users/dlech/events{/privacy}","received_events_url":"https://api.github.com/users/dlech/received_events","type":"User","site_admin":false},"created_at":"2016-01-01T02:37:39Z","updated_at":"2016-01-01T02:37:39Z","body":"FYI, we have a bash testing package that might be useful here. https://github.com/ev3dev/bats"}}