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