Note that if we rename it make, it would also be nice to rename build-op to make-op before anyone uses it. We should also rename :build-operation to :make-operation or :make-op or :make, and just have some #-asdf3.1 in asdf.asd to cope with upgrade from the one and only current client of it, i.e. current versions of asdf3.
MAKE is less cumbersome than my proposed DO-DEFAULT-OPERATION.
On the other hand, I have already code with a MAKE-OP (and a MAKE-SYSTEM class) defined, because I have an ASDF extension that allows ASDF to invoke a Makefile through make as part of a compilation.
Is your make-op in the package ASDF? If not, there is no conflict.
MAKE-OP seems like not an unusual thing for people to want to do in their systems.....
In this connection, it might be time to talk about the package protocol for ASDF extensions. Forcing all such extensions into the ASDF package is not really a scalable approach for a set of code that's not centrally managed. But can people effectively use package-qualified names for classes and operations in ASDF system definitions? It may be that the answer to that is "naturally yes," but I'd have to investigate further. I'm pretty sure that the current way we process DEFSYSTEM-DEPENDS-ON would not handle such names well (the package for the package-qualified name would not yet exist, causing a reader error), forcing people to back off to using procedural (ASDF:LOAD-SYSTEM "my-asdf-extension") in their .asd files...
That's a great question, and I had only thought about it yesterday. Look at the build-op branch: I did improve the protocol so that strings may be used as designators for either operation classes or component classes, that will be read as a symbol while in package ASDF, but a : or :: prefix can override the package. This makes the component class parsing in parse-defsystem oh so slightly backward incompatible, so we'll have to cl-test-grid the change, but I suspect no one uses the undocumented corner cases that are backward incompatible. Now you can:
(defsystem foo :defsystem-depends-on (foo-ext) :class "foo-ext:system" :components (("foo-ext:file" "file1") (:some-class-in-package-asdf "file2")))
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org My dad encouraged us to fail. Growing up, he would ask us what we failed at that week. If we didn't have something, he would be disappointed. It changed my mindset at an early age that failure is not the outcome, failure is not trying. Don't be afraid to fail. — Sara Blakely