GitHub PushEvent at 2014-08-08 13:57:13
Repository: catkin_tools
Actor: jbohren
Payload: {"shas":[["c26472f3e90ab8828b1bb30aaed699f319c1a3de","791a3e8ae0a4d5768a3489d25b940e0bdf65cf59@jhu.edu","MAJOR REFACTOR: Adding persistent context\n\n- Added context-aware building\n  - `catkin build --this` will determine the package name of the package\n    containing the current working directory and build it\n- Added `catkin config` verb\n  - Unified the build Context class to cover the config options, now in\n    catkin_tools.context module\n  - Context class now has *_space_abs attributes to distinguish from the\n    relative paths stored in the configuration\n  - This verb has most of the \"configuration-type\" options which were in\n    catkin build. It also has complementary options which un-set these\n    options. For example, `--install` also has `--no-install`.\n  - Calling config with no options just displays the config\n- Build configuration is now stored by the `config` verb\n- Re-worked the `catkin clean` interface to be more intuitive\n- Refactored many of the utility functions from `catkin build` to\n  separate out their build-specific functionalities from functionalities\n  which are useful for other verbs.\n  - color.py\n  - context.py\n  - common.py\n  - run*.py\n- Moved resultspace-processing functions into resultspace.py\n- Moved argument parsing from catkin_build.common to\n  catkin_tools.argument_parsing\n  - Modified _extract_cmake_and_make_arguments to return [] only if\n    `--no-cmake-args`, `--no-make-args`, `--no-catkin-make-args` are set\n    and `None` if they are not set and there aren't any special\n    arguments. This means that a parsed argument of `cmake_args = []`\n    means \"clear the cmake args\" and `cmake_args = None` means \"don't\n    modify the cmake args\" (similarly for make and catkin_make args)\n- Removed *space designation from `catkin build`\n- Other configuration options in `catkin build` are only applied\n  temporarily. If the user wants to save them, the `--save-config`\n  option can be used.\n- Main help now shows info for each verb and is sorted alphabetically\n- Modify --start-with so that it can be used with --this. i.e. `catkin\n  build --start-with --this` will build the package containing the\n  current working directory and all those which depend on it\n- Added a check for `catkin_make.cache` and `catkin_make_isolated.cache`\n  wherein catkin build will abort if these files are found and explain\n  to the user that he or she needs to use a different build directory\n- Added a check for basic build configuration flags which could change\n  between build (see catkin_build/build.py). This checks against a\n  hidden file called `.catkin_tools.yml` in the _buildspace_ which\n  always contains the last values of these options:\n  - workspace\n  - install\n  - install_space\n  - devel_space\n  - source_space\n  If any of these are different, then catkin build reports and error and\n  tells the user which are different\n- added option to suppress notifications\n- added warnings to the bottom of the Context summary\n- made context check for CMAKE_PREFIX_PATH configuration inconsistencies\n- documenting new features\n- autopep8-based fixup","Jonathan Bohren",true]],"size":1,"ref":"refs/heads/metadata-file","head":"c26472f3e90ab8828b1bb30aaed699f319c1a3de"}