catkin_tools icon indicating copy to clipboard operation
catkin_tools copied to clipboard

whitelist and blacklist don't work nicely for metapkgs

Open wmmc88 opened this issue 4 years ago • 0 comments

System Info

  • Operating System: Linux 5.4.0-59-generic #65-Ubuntu SMP Thu Dec 10 12:01:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

  • Python Version: Python 3.8.5

  • Version of catkin_tools: catkin --version says catkin_tools 0.5.0 but I installed on Jan 18 2021 with pip3 install -U "git+https://github.com/catkin/catkin_tools.git#egg=catkin_tools" which i believe installs latest master

  • ROS Distro: `noetic

Build / Run Issue

catkin config --blacklist and catkin config --whitelist don't work nicely on metapkgs. Instead of black/whitelisting all the packages withing the metapkg, it just black/whitelists the metapkg package(the thing that contains only a bare CMakelists with catkin_metapkg and package.xml)

Expected Behavior

I think it should blacklist/whitelist all the packages in the metapkg recursively. Or at least there should be a flag that lets you do that.

Actual Behavior

catkin_config --whitelist ros_controllers will have a config with Whitelisted Packages: ros_controllers but if you catkin build you will only build the stub metapkg package instead of all the packages within that metapkg (ex. diff_drive_controller, ackermann_steering_controlle, etc.)

Output for VERBOSE=1 catkin build -p1 -v after catkin clean -y:

------------------------------------------------------------------------------
Profile:                     default
Extending:             [env] /opt/ros/noetic:/home/wmmc88/uwrt_catkin_ws/devel
Workspace:                   /home/wmmc88/uwrt_catkin_ws
------------------------------------------------------------------------------
Build Space:        [exists] /home/wmmc88/uwrt_catkin_ws/build
Devel Space:        [exists] /home/wmmc88/uwrt_catkin_ws/devel
Install Space:      [unused] /home/wmmc88/uwrt_catkin_ws/install
Log Space:         [missing] /home/wmmc88/uwrt_catkin_ws/logs
Source Space:       [exists] /home/wmmc88/uwrt_catkin_ws/src
DESTDIR:            [unused] None
------------------------------------------------------------------------------
Devel Space Layout:          linked
Install Space Layout:        None
------------------------------------------------------------------------------
Additional CMake Args:       None
Additional Make Args:        None
Additional catkin Make Args: None
Internal Make Job Server:    True
Cache Job Environments:      False
------------------------------------------------------------------------------
Whitelisted Packages:        ros_controllers
Blacklisted Packages:        None
------------------------------------------------------------------------------
Workspace configuration appears valid.

NOTE: Forcing CMake to run for each package.
------------------------------------------------------------------------------
[build] Found '36' packages in 0.0 seconds.                                                                                                                                                                                                       
[build] Updating package table.                                                                                                                                                                                                                   
Starting  >>> catkin_tools_prebuild                                                                                                                                                                                                               
Starting   >> catkin_tools_prebuild:loadenv                                                                                                                                                                                                       
Output     << catkin_tools_prebuild:loadenv /home/wmmc88/uwrt_catkin_ws/logs/catkin_tools_prebuild/build.loadenv.000.log                                                                                                                          
Loading environment from: /home/wmmc88/uwrt_catkin_ws/devel/env.sh
Finished   << catkin_tools_prebuild:loadenv                                                                                                                                                                                                       
Starting   >> catkin_tools_prebuild:mkdir                                                                                                                                                                                                         
Starting   >> catkin_tools_prebuild:mkdir                                                                                                                                                                                                         
Starting   >> catkin_tools_prebuild:cache-manifest                                                                                                                                                                                                
Starting   >> catkin_tools_prebuild:cmake                                                                                                                                                                                                         
Subprocess  > catkin_tools_prebuild:cmake `cd /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild; catkin build --get-env catkin_tools_prebuild | catkin env -si  /usr/bin/cmake /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild --no-warn-unused-cli -DCATKIN_DEVEL_PREFIX=/home/wmmc88/uwrt_catkin_ws/devel/.private/catkin_tools_prebuild -DCMAKE_INSTALL_PREFIX=/home/wmmc88/uwrt_catkin_ws/install; cd -`
Output     << catkin_tools_prebuild:cmake /home/wmmc88/uwrt_catkin_ws/logs/catkin_tools_prebuild/build.cmake.000.log                                                                                                                              
Not searching for unused variables given on the command line.
Re-run cmake no build system arguments
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using CATKIN_DEVEL_PREFIX: /home/wmmc88/uwrt_catkin_ws/devel/.private/catkin_tools_prebuild
-- Using CMAKE_PREFIX_PATH: /opt/ros/noetic;/home/wmmc88/uwrt_catkin_ws/devel
-- This workspace overlays: /opt/ros/noetic;/home/wmmc88/uwrt_catkin_ws/devel
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.8.5", minimum required is "3")
-- Using PYTHON_EXECUTABLE: /usr/bin/python3
-- Using Debian Python package layout
-- Found PY_em: /usr/lib/python3/dist-packages/em.py
-- Using empy: /usr/lib/python3/dist-packages/em.py
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild/test_results
-- Forcing gtest/gmock from source, though one was otherwise available.
-- Found gtest sources under '/usr/src/googletest': gtests will be built
-- Found gmock sources under '/usr/src/googletest': gmock will be built
-- Found PythonInterp: /usr/bin/python3 (found version "3.8.5")
-- Found Threads: TRUE
-- Using Python nosetests: /usr/bin/nosetests3
-- catkin 0.8.9
-- BUILD_SHARED_LIBS is on
-- Configuring done
-- Generating done
-- Build files have been written to: /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild
cd /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild; catkin build --get-env catkin_tools_prebuild | catkin env -si  /usr/bin/cmake /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild --no-warn-unused-cli -DCATKIN_DEVEL_PREFIX=/home/wmmc88/uwrt_catkin_ws/devel/.private/catkin_tools_prebuild -DCMAKE_INSTALL_PREFIX=/home/wmmc88/uwrt_catkin_ws/install; cd -
Finished   << catkin_tools_prebuild:cmake                                                                                                                                                                                                         
Starting   >> catkin_tools_prebuild:make                                                                                                                                                                                                          
Subprocess  > catkin_tools_prebuild:make `cd /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild; catkin build --get-env catkin_tools_prebuild | catkin env -si  /usr/bin/make --jobserver-auth=3,4; cd -`                                    
Output     << catkin_tools_prebuild:make /home/wmmc88/uwrt_catkin_ws/logs/catkin_tools_prebuild/build.make.000.log                                                                                                                                
/usr/bin/cmake -S/home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild -B/home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild/CMakeFiles /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild/CMakeFiles/progress.marks
/usr/bin/make -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild'
/usr/bin/cmake -E cmake_progress_start /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild/CMakeFiles 0
cd /home/wmmc88/uwrt_catkin_ws/build/catkin_tools_prebuild; catkin build --get-env catkin_tools_prebuild | catkin env -si  /usr/bin/make --jobserver-auth=3,4; cd -
Finished   << catkin_tools_prebuild:make                                                                                                                                                                                                          
Starting   >> catkin_tools_prebuild:symlink                                                                                                                                                                                                       
Output     << catkin_tools_prebuild:symlink /home/wmmc88/uwrt_catkin_ws/logs/catkin_tools_prebuild/build.symlink.000.log                                                                                                                          
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/./env.sh
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/./setup.bash
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/./setup.zsh
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/./local_setup.sh
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/./setup.sh
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/./local_setup.zsh
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/./cmake.lock
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/./local_setup.bash
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/./_setup_util.py
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/share/catkin_tools_prebuild/cmake/catkin_tools_prebuildConfig-version.cmake
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/share/catkin_tools_prebuild/cmake/catkin_tools_prebuildConfig.cmake
Symlinking /home/wmmc88/uwrt_catkin_ws/devel/lib/pkgconfig/catkin_tools_prebuild.pc
Finished   << catkin_tools_prebuild:symlink                                                                                                                                                                                                       
Finished  <<< catkin_tools_prebuild                [ 1.0 seconds ]                                                                                                                                                                                
Starting  >>> ros_controllers                                                                                                                                                                                                                     
Starting   >> ros_controllers:loadenv                                                                                                                                                                                                             
Output     << ros_controllers:loadenv /home/wmmc88/uwrt_catkin_ws/logs/ros_controllers/build.loadenv.000.log                                                                                                                                      
Loading environment from: /home/wmmc88/uwrt_catkin_ws/devel/env.sh
Finished   << ros_controllers:loadenv                                                                                                                                                                                                             
Starting   >> ros_controllers:mkdir                                                                                                                                                                                                               
Starting   >> ros_controllers:mkdir                                                                                                                                                                                                               
Starting   >> ros_controllers:cache-manifest                                                                                                                                                                                                      
Starting   >> ros_controllers:cmake                                                                                                                                                                                                               
Subprocess  > ros_controllers:cmake `cd /home/wmmc88/uwrt_catkin_ws/build/ros_controllers; catkin build --get-env ros_controllers | catkin env -si  /usr/bin/cmake /home/wmmc88/uwrt_catkin_ws/src/ros_controllers/ros_controllers --no-warn-unused-cli -DCATKIN_DEVEL_PREFIX=/home/wmmc88/uwrt_catkin_ws/devel/.private/ros_controllers -DCMAKE_INSTALL_PREFIX=/home/wmmc88/uwrt_catkin_ws/install; cd -`
Output     << ros_controllers:cmake /home/wmmc88/uwrt_catkin_ws/logs/ros_controllers/build.cmake.000.log                                                                                                                                          
Not searching for unused variables given on the command line.
Re-run cmake no build system arguments
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using CATKIN_DEVEL_PREFIX: /home/wmmc88/uwrt_catkin_ws/devel/.private/ros_controllers
-- Using CMAKE_PREFIX_PATH: /opt/ros/noetic;/home/wmmc88/uwrt_catkin_ws/devel
-- This workspace overlays: /opt/ros/noetic;/home/wmmc88/uwrt_catkin_ws/devel
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.8.5", minimum required is "3")
-- Using PYTHON_EXECUTABLE: /usr/bin/python3
-- Using Debian Python package layout
-- Found PY_em: /usr/lib/python3/dist-packages/em.py
-- Using empy: /usr/lib/python3/dist-packages/em.py
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/wmmc88/uwrt_catkin_ws/build/ros_controllers/test_results
-- Forcing gtest/gmock from source, though one was otherwise available.
-- Found gtest sources under '/usr/src/googletest': gtests will be built
-- Found gmock sources under '/usr/src/googletest': gmock will be built
-- Found PythonInterp: /usr/bin/python3 (found version "3.8.5")
-- Found Threads: TRUE
-- Using Python nosetests: /usr/bin/nosetests3
-- catkin 0.8.9
-- BUILD_SHARED_LIBS is on
-- Configuring done
-- Generating done
-- Build files have been written to: /home/wmmc88/uwrt_catkin_ws/build/ros_controllers
cd /home/wmmc88/uwrt_catkin_ws/build/ros_controllers; catkin build --get-env ros_controllers | catkin env -si  /usr/bin/cmake /home/wmmc88/uwrt_catkin_ws/src/ros_controllers/ros_controllers --no-warn-unused-cli -DCATKIN_DEVEL_PREFIX=/home/wmmc88/uwrt_catkin_ws/devel/.private/ros_controllers -DCMAKE_INSTALL_PREFIX=/home/wmmc88/uwrt_catkin_ws/install; cd -
Finished   << ros_controllers:cmake                                                                                                                                                                                                               
Starting   >> ros_controllers:make                                                                                                                                                                                                                
Subprocess  > ros_controllers:make `cd /home/wmmc88/uwrt_catkin_ws/build/ros_controllers; catkin build --get-env ros_controllers | catkin env -si  /usr/bin/make --jobserver-auth=3,4; cd -`                                                      
Output     << ros_controllers:make /home/wmmc88/uwrt_catkin_ws/logs/ros_controllers/build.make.000.log                                                                                                                                            
/usr/bin/cmake -S/home/wmmc88/uwrt_catkin_ws/src/ros_controllers/ros_controllers -B/home/wmmc88/uwrt_catkin_ws/build/ros_controllers --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/wmmc88/uwrt_catkin_ws/build/ros_controllers/CMakeFiles /home/wmmc88/uwrt_catkin_ws/build/ros_controllers/CMakeFiles/progress.marks
/usr/bin/make -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/wmmc88/uwrt_catkin_ws/build/ros_controllers'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/wmmc88/uwrt_catkin_ws/build/ros_controllers'
/usr/bin/cmake -E cmake_progress_start /home/wmmc88/uwrt_catkin_ws/build/ros_controllers/CMakeFiles 0
cd /home/wmmc88/uwrt_catkin_ws/build/ros_controllers; catkin build --get-env ros_controllers | catkin env -si  /usr/bin/make --jobserver-auth=3,4; cd -
Finished   << ros_controllers:make                                                                                                                                                                                                                
Starting   >> ros_controllers:symlink                                                                                                                                                                                                             
Finished  <<< ros_controllers                      [ 1.0 seconds ]                                                                                                                                                                                
[build] Summary: All 2 packages succeeded!                                                                                                                                                                                                        
[build]   Ignored:   35 packages were skipped or are blacklisted.                                                                                                                                                                                 
[build]   Warnings:  None.                                                                                                                                                                                                                        
[build]   Abandoned: None.                                                                                                                                                                                                                        
[build]   Failed:    None.                                                                                                                                                                                                                        
[build] Runtime: 2.1 seconds total.                                                                                                                                                                                                               
[build] Note: Workspace packages have changed, please re-source setup files to use them.

wmmc88 avatar Jan 18 '21 13:01 wmmc88