Я изучаю возможности создания "шаблонов проектов" для проектов, над которыми работает моя команда (Embedded Java). Мы хотим сделать тривиальным для нового разработчика, чтобы не испортить создание нового проекта. Все инструменты, которые мы используем в нашей команде, должны быть pr
Основная идея состоит в том, что для создания проекта и IDE должна быть одна команда, чтобы обеспечить следующее:
- Создайте новый проект Java, включая файл проекта Eclipse.
- Создать сборку script (необходимо работать вне среды IDE).
- Включите опции развертывания в сборке script.
- Настройте проект git.
- Настройка PMD для работы с настроенным набором правил, интегрированных в среду IDE.
- Настройка Checkstyle для запуска с настроенным набором правил, интегрированных в IDE.
- Настройте шаблоны кода (Eclipse), чтобы соответствовать нашим правилам кодирования команд (Javadoc,...)
- Конфигурирование форматирования Eclipse.
- Конфигурация команды должна легко обновляться.
До сих пор я вижу два способа сделать это:
- Архетип Maven 2: Мне в основном не нравится maven, потому что я так часто сражаюсь с ним. Я не уверен, что накладные расходы на попытку сделать инструмент сделать то, что я хочу, чтобы он оправдывал усилия. С другой стороны, похоже, что это именно то, что должны делать архетипы. Есть ли у вас опыт в том, как далеко вы можете настроить eclipse: часть eclipse? Я думаю, что конфигурация затмения будет самым сложным шагом.
- Eclipse Nature: Я мог бы создать характер проекта. Насколько я понимаю Eclipse Ecosystem, который является компонентом, который будет отображаться, если бы я решил предоставить что-то вроде щелчка правой кнопкой мыши → Создать → Мой тип проекта Java. Вы знаете, как далеко я могу настроить полученный проект Eclipse?
- Shell Script: я мог бы создать пустой проект со всей конфигурацией на месте, ввести некоторые специальные токены в соответствующие текстовые файлы (например, а затем написать shellscript, который считывает значения для этих параметры из файла свойств, скопируйте шаблон проекта и замените значения.). Хотя это, возможно, немного хрупко, это кажется простым и быстрым способом сделать это.
Дайте вам немного больше контекста: это нормально, если результат блокирует нас в Eclipse. Хотя сборка должна работать без Eclipse (для нашего CI), команда использует eclipse, и маловероятно, что мы когда-нибудь переключимся. Также все разработчики запускают более или менее одно и то же Hard + Software (Linux). Мы не работаем в домене Enterprise Java Apps, поэтому нам действительно не нужны все необходимые материалы для управления зависимостями от maven. На самом деле наш процесс сборки настолько особенный, что, вероятно, гораздо проще просто вызвать make или ant скрипты.
Итак, вопросы:
Есть ли у вас опыт такого рода вещей? Есть ли у вас мнение относительно пути природы Eclipse или Maven? Знаете ли вы другие инструменты, которые обеспечивают такую настройку?Большое спасибо за ваш вклад.
Ура, Valentin
PS: Люди, похоже, религиозны в своих инструментах построения. Пожалуйста, обратите внимание, что я не хочу, чтобы начать flamewar здесь или против maven. Я уверен, что maven может стать отличным инструментом, но я думаю, что в нашем контексте нам нужно только 5% его функциональности, и из моего опыта, оставшегося на 95%, может быть на вашем пути.