emphttpservices/CONTRIBUTING.md

89 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Коллективное участие в проекте
## Прежде чем создавать обсуждения (issues)
* старайтесь ознакомиться с документацией по проекту в
[readme.md](/readme.md)
* старайтесь ознакомиться с уже имеющимися задачами с помощью поиска,
включая закрытые задачи
* будьте в курсе изменений по проекту
* нажмите watch и star чтобы получать оповещения об изменениях
## Как добавить функционал к проекту
Помимо задач, можно использовать концепцию Git-flow.
### Процесс коллективной разработки
Мы используем
* итеративный подход к разработке
* первоначально мы решаем недочёты, а уже затем дорабатываем функционал
#### О подготовке рабочего места разработчика
Подготовка рабочего места заключается в исполнении (с правами администратора)
файла `install\install.cmd`.
**Текущим должен быть корневой каталог репозитория!**
Потребуется несколько перезагрузок.
Выполнять вплоть до отсутствия ошибок при выполнении.
Будут установлены:
* [chocolatey][] (менеджер пакетов)
* [git][]
* [VSCode][]
* [OneScript][]
* ряд пакетов под OneScript
* и git precommit hook в репозиторий проекта
#### Внесение изменений в расширения
Используем [precommit1c][].
Порядок действий по фиксации изменений в расширениях следующий:
* пишем новую версию расширения в каталог extensions
* добавляем расширение в индекс git: `git add extensions/\*.cfe`,
или же указываем конкретный файл
* собственно, commit: `git commit`.
При этом precommit1c разберёт добавленные в индекс расширения конфигурации,
добавит в индекс "исходные" файлы расширений, а сами файлы расширений из индекса
уберёт.
Безусловно, удобнее выполнять эти действия с использованием [VSCode][].
Стратегия ветвления - Git Flow.
При необходимости внесения изменений в сам проект предложите Pull Request в основной
репозиторий в ветку `develop`.
### Pull-request
Для предложения изменений:
* сделайте `fork` репозитория
* создайте отдельную `feature/*` ветку на базе `develop`
* реализуйте функционал или возьмите в работу какую-то задачу
* после завершения работы получите последние изменения в ветку `develop`
из основного репозитория
* слейте Вашу `feature/*` ветку с Вашей веткой `develop` (squash merge)
* сделайте `pull-request` в `develop` ветку основного репозитория
## CLA - лицензия на коллективное участие
Мы придерживаемся [CLA](https://cla.github.com/agreement),
что означает Ваш вклад не нарушает никаких наших прав
и не накладывает на нас никаких ограничений и обязательств.
### Полезные ссылки
* https://infostart.ru/public/864097/
* https://infostart.ru/public/721600/
* https://github.com/alexpetrov/xdd-bootstrap-1C
[chocolatey]: https://chocolatey.org
[Git]: https://github.com/git-guides/install-git#install-git-on-windows "Install Git on Windows"
[VSCode]: https://code.visualstudio.com "Visual Studio Code"
[OneScript]: http://oscript.io
[precommit1c]: https://github.com/xDrivenDevelopment/precommit1c