Get variables from dub.json

Andre Pany andre at s-e-a-p.de
Wed Mar 3 15:57:08 UTC 2021


On Wednesday, 3 March 2021 at 15:46:12 UTC, dog2002 wrote:
> On Wednesday, 3 March 2021 at 15:05:16 UTC, Andre Pany wrote:
>> On Wednesday, 3 March 2021 at 12:50:16 UTC, dog2002 wrote:
>>> How do I use variables (application version for example) from 
>>> dub.json? Is it possible? For example, I want the application 
>>> version to be printed.
>>
>> You can use command `dub describe` to get all information for 
>> a dub project. It has some arguments to filter for specific 
>> information and on linux you can of course use jq to filter 
>> out any information from the json produced by `dub describe`.
>>
>> Kind regards
>> Andre
>
> Thank you for your answer, but I want to put the application 
> version in variable in the application code automatically 
> during compiling process.

Ok, now I understand. My approach for this is to specify in 
dub.json `preGenerateCommands` which calls a .cmd on windows and 
a .sh on posix. The scripts generate a d module and reads the dub 
package version from environment variable DUB_PACKAGE_VERSION and 
writes them into a enum.

You could also have a look at dfmt or DScanner. They do s.th. 
similiar.

Kind regards
Andre


More information about the Digitalmars-d mailing list