-
Notifications
You must be signed in to change notification settings - Fork 521
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
"Skipping" messages get overwhelming #1105
Comments
The skipping is only printed during the first run, since the run will produce a lock file and there are no skipping messages if the dep being skipped is locked. |
Hrm ... I don't think I understand. I see those skipping messages every time I run Here's what I just did:
So there are fewer "skipping" messages ... but I'm still getting a lot of them. After the This doesn't happen for most projects? |
Do your plugins also have a |
Ah, this, I think is the problem ... the bit I was missing. None of my projects have a Thanks for the help and insights, guys! |
Yea, don't ignore those :). But I'd also be open to a patch that doesn't display the skip if the one being skipped is the same as the one already picked. No reason to tell the user it is skipping if they both ask for the same version. |
Okay, I think most of the LFE projects I manage that had updated to use rebar3 have had a That done, I still do get a fair number of "skipping" messages for projects with lots of LFE project deps. For example, when running the unit tests for the LFE lhc project:
===> Skipping lfe (from {git,"git://github.com/rvirding/lfe.git",
{ref,
"d7bc80da04aedd0a607f17d8d149eba363872b4b"}}) as an app of the same name has already been fetched
===> Skipping lfe (from {git,"git://github.com/rvirding/lfe.git",
{ref,
"d7bc80da04aedd0a607f17d8d149eba363872b4b"}}) as an app of the same name has already been fetched
===> Skipping lfe (from {git,"git://github.com/rvirding/lfe.git",
{ref,
"d7bc80da04aedd0a607f17d8d149eba363872b4b"}}) as an app of the same name has already been fetched
===> Skipping clj (from {git,"git://github.com/lfex/clj.git",
{ref,
"3cc502b150ff2a631719f063c0b8a7a3643f420e"}}) as an app of the same name has already been fetched
===> Skipping lfe (from {git,"git://github.com/rvirding/lfe.git",
{ref,
"d7bc80da04aedd0a607f17d8d149eba363872b4b"}}) as an app of the same name has already been fetched
===> Skipping lfe (from {git,"git://github.com/rvirding/lfe.git",
{ref,
"d7bc80da04aedd0a607f17d8d149eba363872b4b"}}) as an app of the same name has already been fetched
===> Skipping lfe (from {git,"git://github.com/rvirding/lfe.git",
{ref,
"d7bc80da04aedd0a607f17d8d149eba363872b4b"}}) as an app of the same name has already been fetched
===> Skipping lfe (from {git,"git://github.com/rvirding/lfe.git",
{ref,
"d7bc80da04aedd0a607f17d8d149eba363872b4b"}}) as an app of the same name has already been fetched
===> Skipping lfe (from {git,"git://github.com/rvirding/lfe.git",
{ref,
"d7bc80da04aedd0a607f17d8d149eba363872b4b"}}) as an app of the same name has already been fetched
===> Skipping lfe (from {git,"git://github.com/rvirding/lfe.git",
{ref,
"d7bc80da04aedd0a607f17d8d149eba363872b4b"}}) as an app of the same name has already been fetched
===> Skipping clj (from {git,"git://github.com/lfex/clj.git",
{ref,
"3cc502b150ff2a631719f063c0b8a7a3643f420e"}}) as an app of the same name has already been fetched
===> Skipping lfe (from {git,"git://github.com/rvirding/lfe.git",
{ref,
"d7bc80da04aedd0a607f17d8d149eba363872b4b"}}) as an app of the same name has already been fetched
===> Skipping lfe (from {git,"git://github.com/rvirding/lfe.git",
{ref,
"d7bc80da04aedd0a607f17d8d149eba363872b4b"}}) as an app of the same name has already been fetched
===> Skipping lfe (from {git,"git://github.com/rvirding/lfe.git",
{ref,
"d7bc80da04aedd0a607f17d8d149eba363872b4b"}}) as an app of the same name has already been fetched
===> Skipping lfe (from {git,"git://github.com/rvirding/lfe.git",
{ref,
"d7bc80da04aedd0a607f17d8d149eba363872b4b"}}) as an app of the same name has already been fetched
===> Skipping lfe (from {git,"git://github.com/rvirding/lfe.git",
{ref,
"d7bc80da04aedd0a607f17d8d149eba363872b4b"}}) as an app of the same name has already been fetched
===> Skipping lfe (from {git,"git://github.com/rvirding/lfe.git",
{ref,
"d7bc80da04aedd0a607f17d8d149eba363872b4b"}}) as an app of the same name has already been fetched
===> Skipping clj (from {git,"git://github.com/lfex/clj.git",
{ref,
"3cc502b150ff2a631719f063c0b8a7a3643f420e"}}) as an app of the same name has already been fetched
===> Skipping lfe (from {git,"git://github.com/rvirding/lfe.git",
{ref,
"d7bc80da04aedd0a607f17d8d149eba363872b4b"}}) as an app of the same name has already been fetched
===> Skipping lfe (from {git,"git://github.com/rvirding/lfe.git",
{ref,
"d7bc80da04aedd0a607f17d8d149eba363872b4b"}}) as an app of the same name has already been fetched
===> Skipping lfe (from {git,"git://github.com/rvirding/lfe.git",
{ref,
"d7bc80da04aedd0a607f17d8d149eba363872b4b"}}) as an app of the same name has already been fetched
===> Verifying dependencies...
===> Compiling lhc
~~> Finding .lfe files ...
~~> Compiling ./test/unit-lhc-util-tests.lfe ...
===> Performing EUnit tests...
..........................................
Top 10 slowest tests (0.004 seconds, 2.0% of total time):
unit-lhc-url-tests:->string_test/0
0.004 seconds
unit-lhc-url-tests:parse-user-host_test/0
0.000 seconds
unit-lhc-url-tests:parse-error_test/0
0.000 seconds
unit-lhc-url-tests:get-path_test/0
0.000 seconds
unit-lhc-url-tests:parse-no-user-password-short-query_test/0
0.000 seconds
unit-lhc-url-tests:parse-all-short-path-query-frag_test/0
0.000 seconds
unit-lhc-tests:noop_test/0: module 'unit-lhc-tests'
0.000 seconds
unit-lhc-url-tests:parse-netloc-user-pass-host-port_test/0
0.000 seconds
unit-lhc-url-tests:parse-netloc-host-port_test/0
0.000 seconds
unit-lhc-url-tests:parse-netloc-host_test/0
0.000 seconds
Finished in 0.202 seconds
42 tests, 0 failures As a sanity check, I captured the output of that to a file and then did a I think this brings us to the last note by @tsloughter indicating that there is no check for skips that are for the same version that has already been picked. As you can see from the output, this is a significant distractor for command line use :-/ I'll put this on my to-do list and keep this ticket open for a patch that addresses this. Thanks again for your help. |
Yeah. There's also the fact that since we don't generate a lock file for plugins (and Tristan and I briefly tried -- but the model is hard to make work right now given plugins have to be fetched differently from deps since plugins may contain custom dependency providers which ultimately may affect deps!), the top-level resolving is never encoded in lock files and gets to be repeated time and time again. Hiding the same versions (assuming they have the same sources, since git tags and branches are mutable) could reduce some of the noise, but you just need two top-level plugins with different version dependencies to always get warnings. I think the full solution for us will be to either figure out a scheme for locking plugins, or a scheme to suppress their output on subsequent fetches which we know could be conflicting and therefore useless since we warned already. |
@ferd That sounds great. In that case, whenever the decision is made to follow of one the two options you listed, I guess we can close this ticket. |
When fetching deps, if this is a clean repo there will be extensive messages warning that dependencies which have already been fetched are being skipped. For large projects being built and tested in a clean environment this significantly increases the noise level of the build. This modification adds an additional rebar option (deps_warning_on_conflict) that will allow disabling these warning messages. If deps_error_on_conflict is set, an error will still be thrown. This will not change default behaviour of rebar. There is a similar outstanding issue: erlang#1105 However this seems to be a push for not outputting warnings when the dep version is the same, rather than disabling warnings altogether.
See #1664 |
I've been meaning to bring this up for a while ... now that I'm doing a lot of iterative testing, it's hitting me a bunch -- maybe there's a config option I'm missing ...
Anyway, I have a bunch of plugins many of which have overlapping deps in common. When I run rebar3 commands, I get a great deal of console output about "Skipping XXX ... already been fetched."
I imagine this is due to the various (duplicate) deps being present in:
_build/default/lib/
Is there anyway to silence these notices by default?
Or, alternatively, am I doing something wrong?
Here's what happens when I kick of the unit tests for the lcli project (https://github.com/oubiwann/lcli):
Output is as follows:
The text was updated successfully, but these errors were encountered: