On Tue, Dec 1, 2015 at 1:06 PM, Eric Timmons etimmons@mit.edu wrote:
Faré fahree@gmail.com writes:
Yes, package-inferred-system's could inherit :around-compile from their primary system, and maybe other things, too.
Can you send a patch?
Patch is attached.
Applied in 3.1.6.7.
One deficiency is that if the parent's around-compile changes and the system is reloaded, the parent will recompile as expected but the inferred systems won't. The inferred systems see the change but they're not seen as being out of date. Not sure if that's worth worrying about/how to go about changing that.
Yeah, getting proper incrementality from defsystem-depends-on and suches is a TODO item for a future major ASDF release. Doing it right requires introducing new kinds of nodes in the dependency graph for loading asd files, and rethinking how we track defsystem-depends-on dependencies as well as direct load-system statements in .asd files.
If you're willing to do it, I'll be glad to provide guidance and code review.
I'd also like to kill the current parse-defsystem code inherited from ASDF 1 to replace it by something that relies less on side-effects, but I'm not sure how to do it in a way that doesn't break backward compatibility with some hidden assumption that I don't know about. A quick mucking around with the code revealed too many strings to pull — though most of them related to the above defsystem-depends-on issue.
I can definitely add inheritance of other things, but I'm not sure what makes the most sense. Maybe:
- :homepage
- :bug-tracker
- :mailto
- :source-control
- :version
I'm not sure these make sense for a system that isn't the primary system. Maybe version is useful, so you can have version constraints on a secondary system without having to depend on the primary system, when the secondary system doesn't depend on the primary.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Long live consumership, which is individual and responsible choice! Down with citizenship, which is collective and irresponsible choice!