String import an entire directory
Andre Pany
andre at s-e-a-p.de
Mon Nov 13 16:18:06 UTC 2017
On Monday, 13 November 2017 at 09:27:10 UTC, Adrian Matoga wrote:
> On Saturday, 11 November 2017 at 14:11:50 UTC, Neia Neutuladh
> wrote:
>> At my job, I put together a database migration tool for our
>> services. It scans for resources in your JAR file with an
>> appropriate path, interprets them as SQL scripts, and applies
>> them to the database if it hasn't been done yet.
>>
>> I want to implement this in D. However, while D allows you to
>> import individual files, it doesn't let you import an entire
>> directory.
>>
>> I can make a prebuild script to generate code for this, but
>> I'm wondering: do other people find themselves needing this
>> periodically? If so, I can write a DIP for it, or at least
>> publish a codegen tool that other people can use.
>
> Why do you want to import files at compile time? Why can't it
> be done in run time, by simply reading directory with
> dirEntries and opening std.stdio.File for each one?
Three is a use case. I have an application which should be
translated into different languages. I created a texts.prop file.
The language department will create texts_en.prop, texts_de.prop
and so on. The language department will create GIT pull requests
which will cause the build infrastructure to recompile my
application. Any new text_**.prop should be automatically
included in the build process.
There is an advantage and a disadvantage of using import for this
scenario. The advantage is, it was really easy to implement and
in case I use non existing text keys in the coding, there is a
compiler time error.
But there is a major downside, although nothing is changed in any
file, dub will every time recompile my application. Also my
rather small application takes 4 seconds to compile due to this
logic.
Therefore I tend to reimplement the logic using a dub pre build
script.
Kind regards
Andre
More information about the Digitalmars-d
mailing list