Добавлено описание D проекта файла dub.json

This commit is contained in:
Alexander Zhirov 2022-05-09 13:18:30 +03:00
parent 261ba01096
commit e71cc84245
2 changed files with 61 additions and 0 deletions

View File

@ -5,3 +5,8 @@
- [Настройка SSH](ssh.md)
- [Копирование файлов на удалённый сервер через SSH](scp.md)
- [Базы данных](db.md)
## Программирование
### Язык программирования D
- [Проект dub.json](dub.md)

56
dub.md Normal file
View File

@ -0,0 +1,56 @@
# Проект dub.json
Описание основных настроек на [официальном сайте](https://dub.pm/package-format-json).
Структура файла `dub.json`:
```js
{
"name" : "app",
"authors" : [
"Alexander Zhirov"
],
"homepage" : "https://zhirov.website/",
"license" : "GPL-2.0",
"copyright" : "Copyright © 2021, alexander",
"description" : "My program",
"libs" : [
"stdc++"
],
"preBuildCommands" : [
"g++ -c source/*.cpp",
"mv *.o objcpp/"
],
"sourceFiles" : [
"objcpp/foo.o"
]
}
```
Описание полей:
|Параметр|Тип|Описание|
|--------|---|--------|
|`name`|`string`|Имя пакета, используемое для уникальной идентификации пакета.|
|`authors`|`string[]`|Список авторов проекта|
|`homepage`|`string`|URL-адрес веб-сайта проекта|
|`license`|`string`|Лицензия, под которой может использоваться проект|
|`copyright`|`string`|Строка декларации авторских прав|
|`description`|`string`|Краткое описание пакета|
|`libs`|`string[]`|Список имен внешних библиотек - в зависимости от компилятора они будут преобразованы в соответствующий флаг компоновщика (например, `ssl` может быть переведен в `-L-lssl`)|
|`preBuildCommands`|`string[]`|Список команд оболочки, выполняемых до создания пакета|
|`sourceFiles`|`string[]`|Дополнительные файлы, передаваемые компилятору - может быть полезно добавить определенные зависимые от конфигурации исходные файлы, которые не содержатся в общей папке исходного кода|
`source` - общая папка исходного кода:
```sh
.
├── app
├── dub.json
├── dub.selections.json
├── objcpp
│   └── foo.o
└── source
├── app.d
└── foo.cpp
```