Создание проекта
В этом разделе Вы потренируетесь в создании проектов на Scala.
План действий
Создаем проект с помощью системы автоматизации сборки Maven:
Помещаем проект под контроль версий:
инициализируем Git-репозиторий:
git init
- добавляем файл
.gitignore
;
добавляем файлы проекта под контроль версий:
git add -A
создаем первоначальную ревизию:
git commit -m "Initial commit"
Почему следует использовать Maven для создания проекта?
Несмотря на то, что существует много способов создания проекта, мы рекомендуем Вам всегда использовать Maven для создания и сборки проекта.
- Maven — это кросс-платформенный инструмент: Вы можете выполнять сборку одного и того же проекта на различных компьютерах с разными операционными системами без каких-либо модификаций исходных кодов, например, на рабочем и домашнем компьютерах, ноутбуке, а также на тестовых и производственных серверах.
- Программисты, участвующие в разработке, могут предпочитать различные IDE. Создавая и собирая проект с помощью Maven, Вы избегаете навязывания разработчикам тех или иных средств работы над проектом. Напротив, если Вы создаете проект с помощью IDE, Вы не оставляете другим разработчикам выбора: собирать проект с помощью другой IDE без модификации исходных файлов проекта невозможно.
- Проект можно создать полностью вручную — такой способ обеспечивает наибольший контроль, однако подразумевает множество однотипных шаблонных операций. Помимо этого на определенном этапе Вам понадобится кросс-платформенный инструмент для сборки; перевод существующего проекта на какую-либо систему автоматизации сборки может вызвать существенные сложности — гораздо лучше использовать систему сборки с самого начала.
Почему не следует использовать IDE как основное средство сборки проекта?
Многие программисты, особенно приверженцы технологии .NET, предпочитают использовать IDE для сборки своих проектов. Действительно, сборка «нажатием одной кнопки» в той же среде, в которой происходит разработка, гораздо удобнее, чем переключение на терминал и ввод команд с клавиатуры.
Однако, несмотря на очевидное удобство, оставлять IDE в качестве основного инструмента сборки нецелесообразно по нескольким очевидным причинам.
- Не все разработчики предпочитают одну и ту же IDE. Если сборка проекта основана на IDE (в особенности — на коммерческой IDE), то другие участники разработки попросту не смогут собрать проект.
- Метаинформация, которую IDE хранит вместе с проектом, полностью зависит от конкретного окружения: расположения файлов на компьютере, имени пользователя, пути к проекту и прочих аспектов. Даже если другие разработчики используют ту же самую IDE, файлы метаинформации будут меняться при каждом коммите, а все остальные участники разработки будут вынуждены импортировать проекты заново.
- В отдельных случаях Вам может понадобиться осуществить сборку в среде без поддержки графического пользовательского интерфейса (например, при работе с удаленным сервером по SSH). Использование IDE как основного средства сборки полностью исключает возможность работы с проектом в подобных сценариях.
Исходя из этих соображений, мы рекомендуем:
- всегда исключать файлы IDE из контроля версий (см. Файл .gitignore);
- иметь основной инструмент автоматизации сборки, который не привязан к GUI и к конкретному окружению (Apache Maven полностью удовлетворяет этому условию);
- использовать IDE как вспомогательный инструмент сборки на локальной машине — это особенно полезно при отладке;
- всегда проверять сборку проекта с помощью основного инструмента перед коммитами.