English | Polski |
---|
Этот документ поможет вам ознакомиться с нашим процессом разработки.
При внесении изменений в исходный код, пожалуйста, следуйте следующим правилам:
- Каждое изменение должно быть логически завершенным и, по возможности, минимальным. Это позволит нам быстрее проверить и принять его.
- Старайтесь придерживаться единообразного стиля оформления кода.
- Детально опишите, что и зачем ваш код исправляет.
- Если ваше исправление требует обновления документации (справки, Энциклопедии и т.п.), не забудьте и ее обновить.
- Исправления желательно отправлять в виде пулл реквестов в репозиторий или в виде diff-файлов на наш багтрекер или форум.
- Если вы планируете вносить большие исправления или просто желаете находиться в курсе последних событий в разработке Far'а, подпишитесь на нашу рассылку для разработчиков (fardev@googlegroups.com).
- Если вы будете присылать нам исправления часто и хорошего качества, вам будет предоставлен полный доступ к репозиторию, на наше усмотрение.
cd far
-
Для сборки в Visual Studio можно использовать проект для IDE или makefile.
Пример для msbuild & vcxproj:
msbuild /property:Configuration=Release;platform=x64 far.vcxproj
Пример для nmake & makefile:
nmake /f makefile_vc
-
Для сборки в GCC можно использовать makefile.
Пример для MinGW & makefile:
mingw32-make -f makefile_gcc
Также см. комментарии в makefile_* для дополнительных параметров сборки.
- Все комментарии по внесенным изменениям пишутся в файл
changelog
. В исходном коде имеет смысл оставлять комментарии только если участок может быть непонятен для "будущих поколений". - Изменения добавляются в начало файла.
- Каждая запись начинается с шапки вида:
--------------------------------------------------------------------------------
warp 2006-12-05 01:39:38+03:00 - build 2149
- Изменениям может не присваиваться билд, например, была косметика или изменения не в коде.
- Пример макроса для создания шапки: ChangelogHeader.lua
- Этот файл содержит информацию для генерирования версии Far:
SPECIAL_VERSION
, строка, которая, если задана, помечает сборку как специальную.- Предназначено для выпуска версий Far, код которых ещё не вошел в репозиторий, чтоб не путать пользователей и нас.
- Если не задана, тип сборки будет определён переменной окружения FARMANAGER_BUILD_TYPE. Если переменная не задана, тип сборки будет приватным. Поддерживаемые типы сборок см. в перечислении VERSION_STAGE в plugin.hpp.
VERSION_MAJOR
- мажорная версия Far (например, 3).VERSION_MINOR
- минорная версия Far (например, 0).VERSION_REVISION
- ревизия версии Far (например, 0).VERSION_BUILD
- задаётся в файлеvbuild.m4
.
- Если в файле
vbuild.m4
был изменен номер билда, то после коммита изменений в репозиторий необходимо запуститьtag_build.bat
.
- Lng-файлы ренерируются автоматически.
Добавлять изменения надо в
farlang.templ.m4
. Если вы не знаете, как перевести новые строки на какой-либо язык, используйте английский вариант с префиксомupd:
.
-
DWORD_PTR, LONG_PTR, etc. применяется вместо DWORD/long/etc. в следующих случаях:
- нужны там где раньше были int/long/dword/или_любой_не_поинтер_тип_даных и в него пихали поинтер
- ...
- ...
Напоминаниям, TODO, примечаниям и т. п. место на багтрекере.