Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can we avoid maintaining CMSSW dependencies in BuildFiles? #5992

Open
davidlange6 opened this issue Jun 25, 2020 · 6 comments
Open

Can we avoid maintaining CMSSW dependencies in BuildFiles? #5992

davidlange6 opened this issue Jun 25, 2020 · 6 comments

Comments

@davidlange6
Copy link
Contributor

hi @smuzaffar (mostly)

having "cleaned up" (hopefully) a lot of CMSSW build files - I wonder if we can avoid altogether having developers maintain the lists of CMSSW packages in them? Eg, its easy to write a script (I did one) to find the set of packages with header dependencies and separately, those with dependencies in src (and plugins, etc).

BuildFiles could express external dependencies and other needed flags (well, many of those can be automated too but more complicated).

As an added bonus, this could allow us to separate include and lib dependencies if we wanted.

@cmsbuild
Copy link
Contributor

A new Issue was created by @davidlange6 David Lange.

@Dr15Jones, @silviodonato, @dpiparo, @smuzaffar, @makortel can you please review it and eventually sign/assign? Thanks.

cms-bot commands are listed here

@smuzaffar
Copy link
Contributor

assign core
@davidlange6 , yes this is doable. The only issue is that we have cyclic source level dependencies. If we can avoid that then it is trivial but will cost some extra build time as scram has to re-calculate it on every change in source file.

@cmsbuild
Copy link
Contributor

New categories assigned: core

@Dr15Jones,@smuzaffar,@makortel you have been requested to review this Pull request/Issue and eventually sign? Thanks

@Dr15Jones
Copy link

@davidlange6 How about we test BuildFile.xml for dependencies as part of the pull request checks? In that way we do not have to calculate the dependencies each time someone checks out the code.

@davidlange6
Copy link
Contributor Author

davidlange6 commented Jun 25, 2020 via email

@smuzaffar
Copy link
Contributor

smuzaffar commented Jun 23, 2021

yes it takes some time to find the correct dependencies specially if you have

#ifdef SOMETHING
#include "header1"
#else
#include "header2"
#endif

I agree with @Dr15Jones , we can run something for PR tests to make sure the dependency on CMSSW packages is clean. Externel tool deps is bit hard specially if there are multiple tools ( just like root which has rootcore, rootgui, rootmath, rootgl etc.) but only one include path then it is really hard to know which tool to use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants