Skip to content

Instantly share code, notes, and snippets.

@TalkedDevotee
Last active October 20, 2017 13:23
Show Gist options
  • Save TalkedDevotee/1aa2c0a6e7e3e8fba53d01463bd6851c to your computer and use it in GitHub Desktop.
Save TalkedDevotee/1aa2c0a6e7e3e8fba53d01463bd6851c to your computer and use it in GitHub Desktop.
lab07

Laboratory work VII

Данная лабораторная работа посвещена изучению систем документирования исходного кода на примере Doxygen

$ open https://www.stack.nl/~dimitri/doxygen/manual/index.html

Tasks

  • 1. Создать публичный репозиторий с названием lab07 на сервисе GitHub
  • 2. Выполнить инструкцию учебного материала
  • 3. Ознакомиться со ссылками учебного материала
  • 4. Составить отчет и отправить ссылку личным сообщением в Slack

Tutorial

Устанавливаем переменную окружения GITHUB_USERNAME.

$ export GITHUB_USERNAME=TalkedDevotee # Установка переменной окружения
$ alias edit=vim # Выбираем текстковый редактор Vim

Скачиваем лабораторную работу №6 в папку lab07.

$ git clone https://github.com/${GITHUB_USERNAME}/lab06 lab07 # Загрузка гита в папку lab07
$ cd lab07 # Переходим в папку lab07
$ git remote remove origin # Очищаем путь загрузки гита
$ git remote add origin https://github.com/${GITHUB_USERNAME}/lab07 # Устанавливаем путь загрузки гита

Создаем папку и файл конфигурации.

$ mkdir docs # Создаем папку docs
$ doxygen -g docs/doxygen.conf # Конфигурируем doxygen.conf
$ cat docs/doxygen.conf # Проверяем файл конфигурации doxygen

В doxygen.conf прописываем некоторые значения.

$ sed -i '' 's/\(PROJECT_NAME.*=\).*$/\1 print/g' docs/doxygen.conf # Называем проект print
$ sed -i '' 's/\(EXAMPLE_PATH.*=\).*$/\1 examples/g' docs/doxygen.conf # Указываем путь к examples
$ sed -i '' 's/\(INCLUDE_PATH.*=\).*$/\1 examples/g' docs/doxygen.conf # Указываем путь к examples, содержащей include
$ sed -i '' 's/\(INPUT *=\).*$/\1 README.md include/g' docs/doxygen.conf # Вводим файл README.md
$ sed -i '' 's/\(USE_MDFILE_AS_MAINPAGE.*=\).*$/\1 README.md/g' docs/doxygen.conf # Назначаем файл README.md основным
$ sed -i '' 's/\(OUTPUT_DIRECTORY.*=\).*$/\1 docs/g' docs/doxygen.conf # Указываем путь каталога docs
$ sed -i '' 's/lab06/lab07/g' README.md # Заменяем lab06 на lab07
# документируем функции print
$ edit include/print.hpp

Пушим изменения.

$ git add . # Добавляем все содержащее в папке lab07
$ git commit -m"added doxygen.conf" # Коммитируем гит
$ git push origin master # Загружаем гит на GitHub
$ travis login --auto # Вход в travis
$ travis enable # Подключаем интеграцию lab07
$ doxygen docs/doxygen.conf # Указываем путь к файл с конфигурацией
$ ls | grep "[^docs]" | xargs rm -rf # Находим docs и удаляем
$ mv docs/html/* . && rm -rf docs # Переносим все файлы в html и удаляем docs
$ git checkout -b gh-pages # Переключаем на коммит gh-pages
$ git add . # Добавляем все содержимое
$ git commit -m"added documentation" # Коммитируем
$ git push origin gh-pages # Пушим изменения
$ git checkout master # Переключаем на коммит master
$ mkdir artifacts && cd artifacts # Создаем папку artifacts и переходим туда
$ gnome-screenshot screenshot.png # Делаем скриншот и сохраняем в artifacts
$ open https://${GITHUB_USERNAME}.github.io/lab07/print_8hpp_source.html # Открываем сайт
$ gdrive upload screenshot.png # или png # Загружаем скриншот на Google Drive
$ SCREENSHOT_ID=`gdrive list | grep screenshot | awk '{ print $1; }'` # Задаем имя скриншота
$ gdrive share ${SCREENSHOT_ID} --role reader --type user --email rusdevops@gmail.com # Открываем доступ в режиме "Просмотр" rusdevops@gmail.com
$ echo https://drive.google.com/open?id=${SCREENSHOT_ID} # Открываем сайт

Report

$ cd ~/workspace/labs/
$ export LAB_NUMBER=07
$ git clone https://github.com/tp-labs/lab${LAB_NUMBER} tasks/lab${LAB_NUMBER}
$ mkdir reports/lab${LAB_NUMBER}
$ cp tasks/lab${LAB_NUMBER}/README.md reports/lab${LAB_NUMBER}/REPORT.md
$ cd reports/lab${LAB_NUMBER}
$ edit REPORT.md
$ gistup -m "lab${LAB_NUMBER}"

Links

Copyright (c) 2017 Братья Вершинины
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment