# from David Golden
# on Thursday 10 September 2009 12:57:
>(1b) For either choice in #1a, how should the behavior of “bundle_inc”
>change depending on whether $source/inc exists or is missing?
I think this asks the wrong question, but all of the questions are
somewhat tangled-up around what or whether to do with existing data and
how to turn off the DWIM.
I would prefer to say:
if(-e "inc/latest.pm") { warn "you're on your own!\n" }
else {
inc::latest->write("$distdir/inc/latest.pm")
inc::latest->bundle_module($_, $distdir)
for(inc::latest->loaded_modules)
}
But obviously we have to answer the other question "correctly" to even
get to this question. That is: that it should only automatically write
the bundles in $distdir.
If you write anything in $source, you have to have some *other* big
switch to turn all of the DWIM behavior off completely. But then you
have to have some little switches if some parts are not to be DWIM'd
on.
If you go with the -e "inc/latest.pm", then anything else in inc/ is
literal stuff. (And anything that clashes with the DWIM is an error.)
I'm leaning toward all-or-nothing here. That is, either you let M::B do
it all or M::B lets you do it all. Anything else seems like too much
logic for what should IMO be a very minimal component.
For a hastily-written version, see http://pasta.test-smoke.org/100 --
this is not completely complete, but helps explain the code snippet
above.
--Eric
--
"It works better if you plug it in!"
--Sattinger's Law
---------------------------------------------------
http://scratchcomputing.com
---------------------------------------------------