Skip to content

Russian translation for GitHub dev docs #790

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Dec 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions ydb/docs/en/core/development/suggest-change.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,8 +136,8 @@ Run the following command from your repository directory to set up your name and
cd ~/ydbwork/ydb
```
```
git config --global user.name "Marco Polo"
git config --global user.email "[email protected]"
git config user.name "Marco Polo"
git config user.email "[email protected]"
```

## Working on a feature {#feature}
Expand All @@ -162,7 +162,7 @@ git checkout main
git pull
```

### Create a development branch {#fork_sync}
### Create a development branch {#create_devbranch}

Create a development branch using Git (replace "feature42" with your branch name), and assign upstream for it:

Expand Down Expand Up @@ -237,6 +237,8 @@ If you have conflicts on the Pull Request, you may rebase your changes on top of
```
# Assuming your active branch is your development branch
gh repo sync your_github_login/ydb -s ydb-platform/ydb
git pull main
git checkout main
git pull
git checkout <your_dev_branch>
git rebase main
```
95 changes: 93 additions & 2 deletions ydb/docs/ru/core/development/build-ya.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,94 @@
# Сборка и тестирование с использованием Ya Make
# Сборка и тестирование YDB с использованием Ya Make

В данный момент эта статья доступна только в англоязычном варианте.
**Ya Make** - это система сборки и тестирования, исторически используемая для разработки YDB. Изначально разработанная для C++, теперь она поддерживает ряд языков программирования, включая Java, Go и Python.

Язык конфигурации сборки **Ya Make** является основным для YDB, с файлом `ya.make` в каждом каталоге, представляющем таргеты Ya Make.

Настройте среду разработки, как описано в статье [Работа над изменениями - Настройка окружения](suggest-change.md#envsetup) для работы с `Ya Make`.

## Выполнение ваших команд {#run_ya}

В корневом каталоге репозитория YDB расположен скрипт `ya` для запуска команд `Ya Make` из командной строки. Его можно добавить в переменную окружения PATH, чтобы он запускался без указания полного пути. Для Linux/Bash и репозитория GitHub, склонированного в `~/ydbwork/ydb`, можно использовать следующую команду:

```
echo "alias ya='~/ydbwork/ydb/ya'" >> ~/.bashrc
source ~/.bashrc
```

Запуск `ya` без параметров выводит справку:

```
$ ya
Yet another build tool.

Usage: ya [--precise] [--profile] [--error-file ERROR_FILE] [--keep-tmp] [--no-logs] [--no-report] [--no-tmp-dir] [--print-path] [--version] [-v] [--diag] [--help] <SUBCOMMAND> [OPTION]...

Options:
...

Available subcommands:
...
```

Подробная справка по любой подкоманде может быть получена её запуском с флагом `--help`, например:

```
$ ya make --help
Build and run tests
To see more help use -hh/-hhh

Usage:
ya make [OPTION]... [TARGET]...

Examples:
ya make -r Build current directory in release mode
ya make -t -j16 library Build and test library with 16 threads
ya make --checkout -j0 Checkout absent directories without build

Options:
...
```

Скрипт `ya` загружает при запуске необходимые артефакты, зависящие от платформы, и кэширует их локально. Периодически скрипт обновляется ссылками на новые версии артефактов.

## Настройка IDE {#ide}

При использовании IDE для разработки доступна команда `ya ide`, которая помогает создать проект с преднастроенными инструментами. Поддерживаются следующие IDE: goland, idea, pycharm, venv, vscode (multilanguage, clangd, go, py).

Перейдите в каталог в исходном коде, который должен быть корневым для вашего проекта. Запустите команду `ya ide`, указав имя IDE, и целевой каталог для записи конфигурации проекта IDE в параметре `-P`. Например, для работы с изменениями библиотеки YQL в vscode вы можете запустить следующую команду:

```
cd ~/ydbwork/ydb/библиотека/yql
ya ide vscode -P=~/ydbwork/vscode/yqllib
```

Теперь можно открыть `~/ydbwork/vscode/yqllib/ide.code-workspace` из vscode.

## Сборка таргета {#make}

В `Ya Make` есть 3 основных типа таргетов: программа, тест и библиотека. Чтобы собрать таргет, запустите `ya make` с именем каталога. Например, для сборки YDB CLI запустите:

```
cd ~/ydbwork/ydb
ya make ydb/apps/ydb
```

Вы также можете запустить `ya make` из каталога таргета без параметров:

```
cd ~/ydbwork/ydb/ydb/apps/ydb
ya make
```

## Запуск тестов {#test}

Запуск команды `ya test` в каком-либо каталоге создаст все бинарные файлы тестов, расположенные внутри его подкаталогов, и запустит тесты.

Например, для запуска small тестов YDB Core запустите:

```
cd ~/ydbwork/ydb
ya test ydb/core
```

Для запуска medium и large тестов добавьте опции `-tt` и `-ttt` к вызову `ya test` соответственно.
Loading