Файлы сборки NetBeans никогда не верны

Моя текущая команда стандартизировала NetBeans для всей нашей разработки Java, и мы используем ANT-файлы, созданные NetBeans, в качестве официального процесса сборки.

Но файлы всегда неправильные.

Разные члены группы используют разные версии NetBeans и, очевидно, все они создают несколько разные файлы build-impl.xml. Таким образом, при запуске IDE NetBeans будет регенерировать любые из этих файлов, которые он сочтет неправильными или устаревшими.

Но затем (поскольку эти файлы проверяются в системе контроля версий, как наши официальные сценарии сборки) файлы сборки обычно не синхронизируются с репозиторием. Если я зарегистрирую автоматически сгенерированные изменения с моей машины, тогда какой-то другой неудачник из моей команды будет вынужден перезаписать свою локальную копию сценариев сборки, в результате чего NetBeans будет жаловаться на то, что файлы устарели и должны быть регенерирован.

В основном это раздражение. Либо ложные различия в автоматически сгенерированных сценариях сборки добавляют много шума, который нужно отсеивать каждый раз, когда разработчик выполняет проверку. Или IDE постоянно жалуется на измененные извне сценарии сборки. Вы не можете победить.

Но меня также постоянно мучает ощущение, что ни у кого нет полностью правильного сценария сборки, и мы вводим индетерминизм во весь процесс сборки.

Насколько я могу судить, есть два возможных решения проблемы:

1) Стандартизируйте конкретную версию NetBeans. Не позволяйте людям обновляться до тех пор, пока мы не примем решение сделать это всей командой. И не позволяйте людям отставать от старых версий. Если все в команде будут использовать одну и ту же версию NB, то эти проблемы (вероятно) исчезнут.

2) Не проверяйте сценарий "build-impl.xml" в системе контроля версий. Он автоматически создается IDE и, следовательно, является артефактом файлов "build.xml" и "project.xml". Сгенерированные файлы (например, файлы ".class") не должны проверяться в системе контроля версий, а должны быть регенерированы в процессе сборки. Выясните, какой механизм NetBeans использует для создания файла build-impl.xml, и выполните тот же механизм на нашем сервере сборки. Означает ли это, что нашему серверу сборки придется полагаться на графический интерфейс NetBeans? Надеюсь, что нет.

Что вы думаете, ребята? Каков правильный способ решить эту проблему?

6
задан benjismith 16 September 2010 в 19:07
поделиться