On Thursday, 13 August 2015 at 10:06:32 UTC, Ola Fosheim Grøstad
wrote:
You need to be able to tell the compiler what files should be
included in the output bundle.
While I basically agree that this would be a nice to have feature
I do not think it is necessary and it would not make up for the
added complexity inside the export syntax.
If a specific source file should not be written to the file
system one can still use mixins.
Actually, I think the file-model is too simple. I think you
need a more advanced key-value database so that you can update
different fields in the same ".ini file" from different source
files.
This would a huge amount of complexity to the feature and would
not work in general. One can add keys to .ini and maybe .config
files but not to a .sql or .css file.
Also a append or prepend feature would make it impossible for the
compiler to tell when a generated file is finished.
Based on this discussion I updated the DIP.
Included are now the idea of mixin and template expanding (in the
section alternatives) and Ola's solution to the basic problems
which I originally missed out on (in the section implementation
considerations).
All in all I have to admit that the original approach was not
designed well enough. It was simple but not functional. Alas,
this new approach brings with it a completly different
implementation complexity.
Nevertheless, the idea of writing files at compile time is still
worth discussing about.