rosin-project / haros_catkin

1 stars 1 forks source link

Add run dependency on rosgraph #18

Closed gavanderhoorn closed 5 years ago

gavanderhoorn commented 5 years ago

As per subject.

Without this use of haros_catkin in a prerelease Docker environment (which supposedly is similar to the ROS buildfarm) will end in a failure to import the rosgraph Python module.

I'm not entirely sure I like this dependency here, but it makes things work, so until we have a better alternative this is acceptable.

gavanderhoorn commented 5 years ago

This will have to be updated if #15 gets merged.

nlimpert commented 5 years ago

Thanks for the changes!

Out of curiosity I checked whether this is really needed. So in https://github.com/nlimpert/haros_catkin/commit/1a459b096b5a7a6c49c2fab5acb703b8a2820f7f I reverted 1fe539ed12d425d62f4e94c2e667a35776d8898a and following the instructions at https://github.com/rosin-project/haros_catkin/issues/10 I still seem to get the same result:

mkdir /tmp/prerelease && cd /tmp/prerelease

# clone pkgs (replace 'catkin_workspace' with 'ws` if using HEAD of ros_buildfarm)
git clone -b temp_deps https://github.com/gavanderhoorn/catkin_virtualenv.git catkin_workspace/src/catkin_virtualenv
git clone -b working_snapshot https://github.com/nlimpert/haros_catkin.git catkin_workspace/src/haros_catkin
git clone https://github.com/ipa-jfh/haros_catkin_test.git catkin_workspace/src/haros_catkin_test

# generate prerelease scripts
generate_prerelease_script.py \
  https://raw.githubusercontent.com/nlimpert/ros_buildfarm_config/production/index.yaml \
  kinetic \
  default \
  ubuntu \
  xenial \
  amd64 \
  --output-dir .

# the argument -y suppresses the question if you want to continue with content already present in the workspace
./prerelease.sh -y

haros is executed fine:

==> make -j1 run_tests in '/tmp/catkin_workspace/build_isolated/test_pkg'
Scanning dependencies of target haros_catkin_generate_virtualenv
Built target haros_catkin_generate_virtualenv
Scanning dependencies of target haros_report_test_pkg
Executing Haros for /tmp/catkin_workspace/src/haros_catkin_test/test_pkg ..
[HAROS] It seems this is a first run.
[HAROS] Running initial setup operations...
[HAROS] Loading common definitions...
[HAROS] Loading plugins...
  > Loaded haros_plugin_cccc
  > Loaded haros_plugin_ccd
  > Loaded haros_plugin_cppcheck
  > Loaded haros_plugin_cpplint
  > Loaded haros_plugin_lizard
  > Loaded haros_plugin_mi_calculator
  > Loaded haros_plugin_pylint
  > Loaded haros_plugin_radon
[HAROS] Reading project and indexing source code...
[HAROS] Running analysis...
[HAROS] Saving analysis results...
Built target haros_report_test_pkg
Scanning dependencies of target haros_report
Built target haros_report
Scanning dependencies of target run_tests
Built target run_tests
<== Finished processing package [7 of 7]: 'test_pkg'

And catkin_workspace/build_isolated/test_pkg/ contains the generated test_results folder.

gavanderhoorn commented 5 years ago

Did you remove all build, devel and install isolated folders and delete the Docker images?

So a complete reset?

If I do that rosgraph cannot be found and haros aborts (although with https://github.com/git-afsantos/haros/pull/68 merged this is less of an issue now).

nlimpert commented 5 years ago

So I have deleted all docker images with docker rmi and removed the folders. It still seems to work with the above instructions. But I agree that git-afsantos/haros#68 seems have done the fix.

nlimpert commented 5 years ago

Please see https://github.com/rosin-project/haros_catkin/pull/17#issuecomment-500803996 - the same seems to apply here too.

gavanderhoorn commented 5 years ago

Closing as it's apparently not needed (any more).