-
Notifications
You must be signed in to change notification settings - Fork 44
project_build
Код проекта собирается автоматически с помощью build-tool Maven. При работе над проектом вы можете собирать его внутри IDE либо из консоли с помощью команды mvn. После создания вами pull request'а, код отправляется на build server и пытается скомпилироваться, зачастую безуспешно. При ошибке компиляции вы получите сообщение на почту. Также при сборке проверяется форматирование кода. Чтобы проверять форматирование локально настройте плагин checkstyle
Код должен быть не только корректный, но и правильно оформленный. Мы придерживаемся Java Google Style Guide с небольшими упрощениями. Проверка автоматизирована с помощью checkstyle util.
Для упрощения работы настройте плагин checkstyle в IDEA и вы всегда будете видеть, что нужно поправить.
Preferences->Plugins Ищем среди плагинов checkstyle IDEA и устанавливаем
После установки идем в Preferences->Plugin->Checkstyle и кастомизируем правила форматирования. Правила форматирования для нашего курса лежат внутри проекта Google Rules
Добавляем файл с правилами и выбираем их галочкой.
Теперь плагин активирован и настроен, можно пользоваться им в ходе разработки прямо из IDEA
Во вкладке плагина есть описание ошибок, а сам редактор кода подчеркивает красным место ошибки. То же самое можно сделать из консоли, запустив
$ mvn checkstyle:checkstyle
Проекты собираются с помощью 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="полное имя класса"