| # Dlang module | |
| This module provides tools related to the D programming language. | |
| ## Usage | |
| To use this module, just do: **`dlang = import('dlang')`**. | |
| You can, of course, replace the name `dlang` with anything else. | |
| The module only exposes one function, `generate_dub_file`, used to | |
| automatically generate Dub configuration files. | |
| ### generate_dub_file() | |
| This method only has two required arguments, the project name and the | |
| source folder. You can pass other arguments with additional keywords, | |
| they will be automatically translated to json and added to the | |
| `dub.json` file. | |
| **Structure** | |
| ```meson | |
| generate_dub_file("project name", "source/folder", key: "value" ...) | |
| ``` | |
| **Example** | |
| ```meson | |
| dlang = import('dlang') | |
| dlang.generate_dub_file(meson.project_name().to_lower(), meson.project_source_root(), | |
| authors: 'Meson Team', | |
| description: 'Test executable', | |
| copyright: 'Copyright © 2018, Meson Team', | |
| license: 'MIT', | |
| sourceFiles: ['test.d'], | |
| targetType: 'executable', | |
| dependencies: my_dep | |
| ) | |
| ``` | |
| You can manually edit a Meson generated `dub.json` file or provide a | |
| initial one. The module will only update the values specified in | |
| `generate_dub_file()`. | |
| Although not required, you will need to have a `description` and | |
| `license` if you want to publish the package in the [D package | |
| registry](https://code.dlang.org/). |