2012-02-01 2 views
0

Должен ли я передать ПОЛНУЮ кодовую базу, а также POM (ы), и чтобы пользователи проверяли проекты по одному для нескольких проектов maven, один из которых содержит несколько модулей?Как мне настроить проект (ы) MAVEN в SCM?

Должен ли я ТОЛЬКО совершать POM и настраивать информацию SCM в каждом POM?

Как совершать/проверять работу при настройке плагина maven SCM? Сохраняете ли вы POM через подрывную деятельность, проверяете их, а затем материализуете POM, чтобы maven загрузил остальные соответствующие файлы в этот проект? Что делать, если вам нужно добавить новые файлы, но вы использовали SCM через maven?

Я очень смущен различием между простое хранение файлов с использованием svn (стандартный способ), а также сохранение информации SCM на основе per-pom. Для документации о том, как использовать Maven и загружать ее с помощью информации SCM, абсолютно НЕ НИЧЕГО.

Лучше всего хранить информацию SCM непосредственно внутри POM, или, как я сказал ранее, следует ли добавлять только проекты SVN, включая их соответствующие POM?

Или лучше встраивать информацию SCM непосредственно в maven, и имеет ли maven этот проект? Плагин Maven SCM отлично работает с подзаголовком? Например, после того, как вы «материализовываете» проект с POM maven, он импортирует файлы проекта из SVN, а затем показывает их в eclipse под управлением версии? Если бы я вставлял информацию SCM в POM-серверы maven, мог бы я просто создать отдельный SVN-репо для ТОЛЬКО моих файлов pom? Или я просто поместил бы все файлы POM прямо в багажник моего инженерного репо?

Надеюсь, кто-то может помочь мне прояснить это. Я очень смущен. Благодаря!

ответ

2

Всегда фиксируйте весь исходный код в SCM. В противном случае у вас нет истории вашего исходного кода.

Также сделайте свой pom в SCM, иначе у вас нет истории о том, как он должен быть построен. Такая история имеет решающее значение для того, чтобы иметь возможность создавать старые ветви вашего программного обеспечения, и поскольку сборка и исходный код настолько тесно связаны, рекомендуется зафиксировать pom.xml в том же репозитории, что и исходный код.

Чтобы облегчить другие инструменты maven, вы можете указать свой SCM в файле pom.xml. Это необязательно, но я бы настоятельно рекомендовал вам это сделать. Это позволяет CI-системам проверять, что их копия исходного кода является последней, и дает им конфигурацию, необходимую для проверки новой копии, если это необходимо.

Я не знаю ни одного инструмента или плагина, который действительно проверяет код для вас. Если вы не проверите свой исходный код, то все остальные инструменты проведут проверку простого pom.xml (потому что это все, что есть в SCM), и ссылка SCM не сможет сообщить никому, где источник код (потому что его нет в SCM).

+0

Я думаю, что это называется Bootstrapping. Но я не уверен –

+0

Когда я храню проект в SVN, я не включаю настройки eclipse .project и все, что автоматически генерируется. Должен ли я совершать проект затмения? Когда вы просматриваете мой проект maven через svn (import> import from svn), и вы выбираете «проверять как проекты в рабочей области», он не распознает его как проект maven/java. Он просто показывает pom и файлы, но не имеет поддержки maven. Однако, если я проверяю проект как проект Maven, он работает, но он не показывает файлы как находящиеся под управлением SVN. Это странно. Что мне не хватает? –

+0

@SamLevin, Обычно я не проверяю затмение.поскольку любая модификация проекта (включающая настройку аргументов для конфигураций во время выполнения) имеет тенденцию стираться при выполнении обновления svn или нежелательно распространяться при выполнении svn commit. Тем не менее, полезно распространять файлы, чтобы облегчить первоначальную настройку (и не иметь руководства, в котором подробно описываются, какие элементы устанавливать и где). Поэтому я создаю папку, в которой файлы конфигурации находятся за пределами их обычного местоположения, и помещаю в нее скрипт «setup», который копирует файлы в соответствующие места. –

Смежные вопросы