Skip to content

CptnGreen/Corewar

Repository files navigation

Development

Алгоритм работы с проектом можно посмотреть в виде ДРАКОН-диаграммы по ссылке.

Структуру нашего проекта можно посмотреть в виде ДРАКОН-диаграммы по ссылке.

В проект в виде подмодуля включена библиотека libftprintf, содержащая в себе ft_printf и функции libft.

Чтобы склонировать репозиторий вместе с ней, пишем:

git clone git@github.com:CptnGreen/Corewar.git --recursive

Чтобы начать работу, прежде всего создаём свою ветку с понятным названием:

git checkout -b concise-feature-branch-name

Находясь в своей ветке, можно смело делать коммиты:

git commit -m "some nice comment"

После того, как работа с веткой завершена (фича реализована), нужно прогнать тесты (см. ниже) и запушить ветку на gihub:

git push -u origin concise-feature-branch-name

Чтобы вернуться в master нужно выполнить следующую команду:

git checkout master

Unit-tests

Проект настроен (скоро будет, нужно обкатать) на работу с unit-тестами через фреймворк ceedling.

Чтобы запустить тесты, нужно сначала установить ceedling под свою ОС. Установка сводится к следующему (на примере Linux):

  • Установить/обновить ruby:
# для Ubuntu:
sudo apt-get install ruby

# для Arch:
sudo pacman -Syu ruby

# для macOS:
brew install ruby
# если в системе уже установлена другая версия =ruby=, нужно запустить следующую команду и перезапустить терминал
brew link --overwrite ruby
  • При необходимости добавить ruby в PATH (понадобилось в Arch; в вашем случае версия ruby может отличаться!):
export PATH="$PATH:~/.gem/ruby/2.5.0/bin"

Чтобы добавить перманентно, прописываем данную команду в конец ~/.bashrc и делаем source ~/.bashrc.

  • Установить ceedling (как gem):
sudo gem install ceedling
  • При необходимости добавить ceedling в PATH выше упомянутым способом. Путь к ceedling может отличаться. Пример одного из возможных вариантов на macOS - /usr/local/lib/ruby/gems/2.7.0/gems/ceedling-0.30.0/bin

После этого шага из корня проекта запускаем ceedling без аргументов, и система прогоняет тесты. Не забудьте предварительно скомпилировать библиотеки проекта (с помощью make -C ft_printf), иначе будет ошибка.

Purpose

Чтобы не платить Школе 50К, нужно получить 14 lvl,

чтобы получить 14 lvl, нужно пройти стажировку,

чтобы пройти стажировку, нужно сначала на неё выйти,

чтобы выйти на стажировку, нужно дойти до круга,

чтобы дойти до круга, нужно сдать Corewar!