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

More consistent dependency detection #519

Closed
wlandau opened this issue Sep 25, 2018 · 1 comment
Closed

More consistent dependency detection #519

wlandau opened this issue Sep 25, 2018 · 1 comment

Comments

@wlandau
Copy link
Member

wlandau commented Sep 25, 2018

The problem

Because of the way automatic dependency detection works at the moment, drake workflows tend to fall out of date rather easily. It can be hard to tell which symbols drake detects and if dependencies were added or removed since the last make(), so a project's shelf life is shorter than it should be.

Proposed solution

We should put clear and firm boundaries on the scope of dependency detection. In the dependency graph, only keep nodes that are (1) targets in the plan, (2) objects in the environment, or (3) namespaced objects (referenced with :: or :::).

Drawbacks

Most workflows built with a previous version of drake will fall out of date. This was going to happen anyway because of #509, so it is really not so bad in this particular case. But in general, we should try to minimize the number of releases that invalidate old projects. So I have decided to

  1. Postpone the upcoming CRAN release until the above changes are implemented, and
  2. Name the next version 6.0.0 instead of 5.5.0.

Unfortunately, (1) means that @mschubert's great recent work on clustermq will not be factored into production drake as soon as I originally promised. Sorry about that, everyone.

@wlandau
Copy link
Member Author

wlandau commented Sep 27, 2018

Fixed via #522. Unfortunately we still need codetools, so there is a little net gain in overhead. Makes #41 even more important.

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

1 participant