Yeah, this definitely puts a damper on my process. I can use `Mix.shell()` to 
correctly hide the output from everything *but* the warnings when using 
`Mix.Task.run`. This seems pretty inconsistent. It's actually better for me not 
to suppress any of it at all because otherwise the warnings just pop out of 
nowhere. I can't have a loading spinner or anything w/o it getting interrupted 
by the warnings for example.

Given that igniter as a tool's entire purpose is to fetch, compile 
dependencies, and then call code from them, this does put a pretty big hamper 
on my options in this regard.

> On Dec 28, 2024, at 5:56 PM, Zach Daniel <zachary.s.dan...@gmail.com> wrote:
> 
> I spoke too soon. This works for the standard output, but I'm using 
> `Mix.Task.run` to run the tasks I'm running (which is necessary). Those don't 
> use `Mix.shell`, they go straight to `IO.warn` (or something similar, haven't 
> investigated yet. 
> 
> So I'm not sure if there is some way to tell Elixir from "inside the house" 
> to redirect stderr in some way.
> 
>> On Dec 27, 2024, at 8:46 PM, Zachary Daniel <zachary.s.dan...@gmail.com> 
>> wrote:
>> 
>> FWIW this is all I’m going to need I think :)
>> 
>> https://hexdocs.pm/mix/1.12.3/Mix.html#shell/1
>> 
>>> On Dec 26, 2024, at 7:37 PM, Zachary Daniel <zachary.s.dan...@gmail.com> 
>>> wrote:
>>> 
>>> 
>>> I agree that it shouldn’t be default. I’m only looking for it because I 
>>> have tooling that runs `mix deps.compile` after adding new deps, and in 
>>> *that* context it could be argued that it makes less sense. But in reality 
>>> the same argument may apply and warnings shouldn’t be hidden. It just makes 
>>> the package installation pretty noisy. The idea of capturing stderr would 
>>> be reasonable and I can explore that.
>>> 
>>>> On Dec 26, 2024, at 6:20 PM, Simon McConnell <simonmcconn...@gmail.com> 
>>>> wrote:
>>>> 
>>>> 
>>>> Brandon, you can do things about some of the warnings, e.g. go to the repo 
>>>> and submit at PR.
>>>> 
>>>> Consider a monorepo where path dependencies are used.  I don't believe 
>>>> that hiding each dependency's warnings by default would be ideal.
>>>> 
>>>> On Friday, 27 December 2024 at 1:15:44 am UTC+11 Brandon Gillespie wrote:
>>>>> I'd love this feature. IMHO, it should be default.
>>>>> 
>>>>> Perhaps when doing deps compile just print out at the end "X lines of 
>>>>> deps warnings suppressed, see with --show-deps-warnings"
>>>>> 
>>>>> Typically I ignore all deps warnings, because there's never been anything 
>>>>> I can do about what they're complaining about.
>>>>> 
>>>>> Actually thinking about it from a UX perspective, what if:
>>>>> 
>>>>> (a) compile wrapper detects a warning
>>>>> (b) check of there's an update
>>>>> 
>>>>> Then print the compiling "string" with no newline, and append to it 
>>>>> relevant information afterward. Like:
>>>>> 
>>>>> 
>>>>> ===> compiling cowlib[NL] — good compile, no change
>>>>> 
>>>>> ===> compiling hackney: 14 warnings ignored[NL]                
>>>>> 
>>>>> ===> compiling hackney: 14 warnings ignored, new version 10.20.30 
>>>>> available[NL]
>>>>> 
>>>>> 
>>>>> 
>>>>> And at the end add a message like --show-deps-warnings to see full 
>>>>> warning output.
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> On 12/25/24 11:59 PM, José Valim wrote:
>>>>>> Can you explain why it is important to disable those warnings? It is 
>>>>>> just a way to clean the output? What if there is a warning that is 
>>>>>> indeed pointing to a flaw or violation that must be addressed?
>>>>>> 
>>>>>> In any case, worst case scenario, if the user already has to install 
>>>>>> igniter, you could inject an igniter.deps.compile task that call 
>>>>>> deps.compile but captures stderr?
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> José Valim
>>>>>> https://dashbit.co/
>>>>>> 
>>>>>> 
>>>>>> On Thu, Dec 26, 2024 at 03:55 Zach Daniel <zachary....@gmail.com <>> 
>>>>>> wrote:
>>>>>>> This is something I'd like to have for igniter. Part of what we do is 
>>>>>>> download a dependency from hex and recompile the app. I'd like to find 
>>>>>>> a way to clean up the output when doing something like
>>>>>>> 
>>>>>>> `mix igniter.new --install ash`. I'd like to be able to suppress all of 
>>>>>>> the information about deps compilation or potentially just suppress the 
>>>>>>> warnings.
>>>>>>> 
>>>>>>> I know this has been discussed before, and I agree with the general 
>>>>>>> idea that allowing people to suppress warnings with an option is a 
>>>>>>> slippery slope that leads in a bad direction. However, I think for 
>>>>>>> *dependencies specifically* that principle doesn't necessarily hold.
>>>>>>> 
>>>>>>> Would it be on the table to potentially disable or hide warnings while 
>>>>>>> dependencies are compiling, on an opt-in basis. like `mix deps.compile 
>>>>>>> --no-warnings`?
>>>>>>> -- 
>>>>>>> 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 visit 
>>>>>>> https://groups.google.com/d/msgid/elixir-lang-core/94c2e48c-caa6-4dc6-bfda-f7b7e09c9eean%40googlegroups.com
>>>>>>>  
>>>>>>> <https://groups.google.com/d/msgid/elixir-lang-core/94c2e48c-caa6-4dc6-bfda-f7b7e09c9eean%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>>>>> -- 
>>>>>> 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 visit 
>>>>>> https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4KcKf_Lxf7DycHCm6ivC9t73fTJhdkZ_Jnj0%2BabbCqEYA%40mail.gmail.com
>>>>>>  
>>>>>> <https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4KcKf_Lxf7DycHCm6ivC9t73fTJhdkZ_Jnj0%2BabbCqEYA%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>>>> 
>>>> 
>>>> -- 
>>>> 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-core+unsubscr...@googlegroups.com 
>>>> <mailto:elixir-lang-core+unsubscr...@googlegroups.com>.
>>>> To view this discussion visit 
>>>> https://groups.google.com/d/msgid/elixir-lang-core/91363918-cc96-483e-8795-2e0fb053879en%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/elixir-lang-core/91363918-cc96-483e-8795-2e0fb053879en%40googlegroups.com?utm_medium=email&utm_source=footer>.
> 

-- 
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-core+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/elixir-lang-core/F4BDF430-B1C0-405E-A3E8-9AD5325B5F55%40gmail.com.

Reply via email to