Robert Goldman writes: > On 3/15/17 Mar 15 -12:05 PM, Daniel Kochmański wrote: >> I think it's controlled by *COMPILE-FILE-FAILURE-BEHAVIOUR* and >> *COMPILE-FILE-WARNINGS-BEHAVIOUR* both taking as value one of :WARN, >> :ERROR or :IGNORE. >> >> Robert Goldman writes: >> >>> What is the proper way to make ASDF fail on ANY warning (including >>> STYLE-WARNINGs)? I thought I knew how to do this, but I'm having >>> trouble making it work, possible because of the DEFERRED-WARNINGS. >>> >>> Thx, >>> r >> > > Hm. These seem unpleasingly global. I have a case where I have a > system that I want to compile in a strict way -- I want to know by > having a failure if there is any warning in my build. BUT... my system > depends on an upstream library that has warnings in its build. > > What I really would like is to catch the issues only in building my > system, but I think that ASDF may be grabbing up style warnings and > having its own way with them.
I think that to have better control over component behavior you may specialize method perform on basic-compile-op and your system and change values of these special variables: (defmethod perform ((o basic-compile-op) (c (eql #.(find-system system-name)))) (let ((*compile-file-failure-behaviour* :error) (*compile-file-warnings-behaviour* :error)) (call-next-method))) or something in this spirit. I think it's an ugly solution, but it may do the trick for you. > > Cheers, > r Regards, Daniel -- Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu "Be the change that you wish to see in the world." - Mahatma Gandhi