--
You received this message because you are subscribed to the Google Groups "elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-co...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/e94a635e-393e-4f04-b1c1-7277ef492819n%40googlegroups.com.
Those all look great!1. Correct! We have recently changed --label compile so it considers transient dependencies, before it would only consider direct ones. I can think of two options here. One potential option here is to introduce a new label, called "--label transient-compile". Would that be feasible implementation wise?
If we go this route, I would probably rename --only-direct to --label direct-compile (of course, in a separate PR which I can also tackle).
2. The option `--only-nodes` can be nice, but often I wanted the reverse--only-nodes is really only useful with the --sink option. I think we can have two options here:a. Make --only-nodes show sinks unless the sink option is givenb. Introduce a new option called --only-sinks (and then perhaps rename --only-nodes to --only-sources
3. Sounds good to me! Our option parser even supports the :keep annotation, so this should hopefully be straightforward!
4. Which commands would you like to fail? Is there any command besides the cycle one?
Would `--label transient-compile` filter out all dependencies that are either not compile time, or those that are compile-time but towards a sink with no dependency?E.g.: A => B (runtime) => C (compile) => D (anything): clearly `B => C` needs to be selected, but would `A => B` also be selected (unless `--only-direct` is specified)?
Would `--label transient-compile` filter out all dependencies that are either not compile time, or those that are compile-time but towards a sink with no dependency?E.g.: A => B (runtime) => C (compile) => D (anything): clearly `B => C` needs to be selected, but would `A => B` also be selected (unless `--only-direct` is specified)?For the graph above, I believe today label=compile will show A => B => C. But it will only include D if it is compile time (or if something after D is compile time). So it includes direct dependencies and transitive dependencies. In this case, it is transitive because we are including a runtime dependency since there is a compile time node after. So yes, I agree my suggestion was bad/confusing. :)In your case, you only want to show the graph at all if there is a dependency after a compile-time node, so it is more like "compile-connected"? Does that make sense?
About 2, let's go with --only-sinks option (and I will rename later on --only-nodes to --only-sources).
About 4, what if we call it --fail-if-any? Or alternatively, --at-most=0 (and you can set it to any positive integer)?
> > About 4, what if we call it --fail-if-any? Or alternatively, --at-most=0 (and you can set it to any positive integer)?> `at-most` is short and sweet 👍I think it's important for this flag name to communicate that it will cause a failure. at-most sounds like it would simply limit graph depth, rather than return a non-zero status code if the graph is over a certain depth.Maybe --failure-depth=2 or --fail-at=3?
--
You received this message because you are subscribed to the Google Groups "elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-co...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/01896960-5f36-4a4d-859f-4f14dd4dc452n%40googlegroups.com.
You received this message because you are subscribed to a topic in the Google Groups "elixir-lang-core" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/elixir-lang-core/Hmg5y8S3v4E/unsubscribe.
To unsubscribe from this group and all its topics, send an email to elixir-lang-co...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4K%3DFzgrxfSy5L8y0EtOvJBKqJx1OUvyKhYfX9SFH3Eq8g%40mail.gmail.com.