Skip to content

project_build

Dmitry Arkhangelskiy edited this page Mar 15, 2017 · 3 revisions

Код проекта собирается автоматически с помощью build-tool Maven. При работе над проектом вы можете собирать его внутри IDE либо из консоли с помощью команды mvn. После создания вами pull request'а, код отправляется на build server и пытается скомпилироваться, зачастую безуспешно. При ошибке компиляции вы получите сообщение на почту. Также при сборке проверяется форматирование кода. Чтобы проверять форматирование локально настройте плагин checkstyle

Проверка форматирования кода

Код должен быть не только корректный, но и правильно оформленный. Мы придерживаемся Java Google Style Guide с небольшими упрощениями. Проверка автоматизирована с помощью checkstyle util.

Для упрощения работы настройте плагин checkstyle в IDEA и вы всегда будете видеть, что нужно поправить.

Preferences->Plugins Ищем среди плагинов checkstyle IDEA и устанавливаем

alt tag

После установки идем в Preferences->Plugin->Checkstyle и кастомизируем правила форматирования. Правила форматирования для нашего курса лежат внутри проекта Google Rules

Добавляем файл с правилами и выбираем их галочкой.

alt tag

Теперь плагин активирован и настроен, можно пользоваться им в ходе разработки прямо из IDEA

alt tag

Во вкладке плагина есть описание ошибок, а сам редактор кода подчеркивает красным место ошибки. То же самое можно сделать из консоли, запустив

$ mvn checkstyle:checkstyle

Основные команды mvn

Проекты собираются с помощью maven. Это сейчас стандарт в java-индустрии (на замену ant). Скорее всего вы уже знакомы с системами сборки такими как make/cmake, maven не сильно отличается от остальных build-tools.

https://habrahabr.ru/post/77382/ - Основы maven

Описание процесса сборки хранится в pom.xml в корне проекта. В комментариях может прочитать про основные блоки, но в целом pom.xml не потребует значительной модификации. Скорее всего вы будете только добавлять библиотеки в проект.

 $ mvn clean (очистить /target - удалит файлы от старых сборок)
 $ mvn compile (собрать проект, по сути запуск javac)
 $ mvn test (запустить тесты)
 $ mvn install (пересобрать и запустить приложение, запустит mainClass указанный в pom.xml)
 $ mvn checkstyle:checkstyle (запустить проверку форматирования)

Команды mvn можно объединять в пайп, например так

$ mvn clean install

Почистит старый билд, соберет новый и запустит приложение. Проверка форматирования подключена в стадию сборки, поэтому неотформатированый код не соберется.

Полезная практика

Запускайте clean перед каждым прогоном тестов или если у вас какие-то непонятные ошибки. clean почистит старый билд и файлы оставшиеся от сборки. То есть, стоит писать

$ mvn clean test
$ mvn clean install

Чтобы запустить произвольный mainClass, укажите

$ mvn exec:java -Dexec.mainClass="полное имя класса"
Clone this wiki locally