florath / rmtoo

Free and Open Source Requirements Management TooL
http://rmtoo.florath.net
Other
207 stars 59 forks source link

Multiple requirement folders cause problems when sufolders of each other #31

Open christianlupus opened 5 years ago

christianlupus commented 5 years ago

I think (might be a documented feature as well) that the search path for requirements has a small bug. I show with an example what's up:

Take the example project and make a temporary copy of it:

cp /usr/share/rmtoo/contrib/template_project /tmp/rmtoo -r
christian@cwolf-work:~$ cd /tmp/rmtoo/

You can build using make the project successfully. Issue make clean to get back. Now add a new folder requirements/foo and move req1.req there.

mkdir requirements/foo
mv requirements/req1.req requirements/foo/

Modify the config file using your editor of choice and modify the line "requirements_dirs": [ "requirements"], within the topics section to "requirements_dirs": [ "requirements", "requirements/foo" ], When you issue make -B now, you get the following error:

rmtoo -j file://Config.json \
        --create-makefile-dependencies=.rmtoo_dependencies
2019-05-21 12:33:37,324;rmtoo;ERROR;RequirementSet;__resolve_solved_by_one_req_deps;340; 74:project:'Solved by' points to a non-existing requirement 'req1'
2019-05-21 12:33:37,324;rmtoo;ERROR;RequirementSet;_handle_modules;145; 43:there was a problem handling the requirement set modules
2019-05-21 12:33:37,324;rmtoo-trace;ERROR;TopicSet;__init__;48;Errors during reading the requirements.
+++ ERROR: topic continuum set is not usable.

When you exchange the order (i.e. set "requirements_dirs": [ "requirements/foo", "requirements" ],), it seems to work. If the folder foo is outside the requirements folder it works in any arbitrary order.