Хранение сгенерированных Eclipse make-файлов в системе управления версиями - какие проблемы ожидать? - PullRequest
2 голосов
/ 18 января 2010

мы работаем под Linux / Eclipse / C ++, используя "родные" C ++ проекты Eclipse (.cproject). Система состоит из нескольких проектов C ++, все из которых находятся под контролем версий SVN с использованием встроенного плагина subclipse.

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

Я вижу, что есть сгенерированные файлы makefile и вспомогательные файлы (sources.mk, subdir.mk и т. Д.), Которые не находятся под контролем версий (возможно, плагин subclipse достаточно "умен", чтобы исключить их). Я думаю, я могу поместить их в SVN и использовать в скрипте, который нам нужен.

однако, это кажется шатким. кто-нибудь пробовал это? Есть ли какие-либо проблемы, чтобы ожидать? Есть ли рекомендуемые способы достижения того, что нам нужно?

N.B. Я не верю, что идея принятия другой системы сборки будет принята хорошо, если она не будет супер гладкой. Мы - небольшая компания из 4 разработчиков, работающая на полную мощность, и любые дополнительные затраты или обучение не будут оценены по достоинству:)

Заранее большое спасибо!

Ответы [ 2 ]

2 голосов
/ 18 января 2010

Я бы не рекомендовал помещать вещи, сгенерированные во внешнем инструменте, в систему управления версиями. Моя любимая фраза для этой тактики - "версия рецепта, а не пирога" . Вместо этого вы должны использовать сторонний инструмент, такой как ваш скрипт, чтобы соответствующим образом манипулировать Eclipse, генерировать эти файлы из ваших источников, а затем компилировать их. Это исключает риск того, что один из этих автоматически сгенерированных файлов не будет синхронизирован с вашими корневыми источниками.

Я не уверен, каков ваш порог для «супергладкости», но вы можете взглянуть на Maven2 , который имеет плагин для проектов Eclipse, чтобы сделай только это.

1 голос
/ 18 января 2010

Я знаю, что это большая проблема (у меня была точно такая же проблема; кроме того, поддержание рабочей области сборки в svn - настоящая боль!)

Вы столкнетесь с проблемами, как только кто-то добавит или изменит файлы настроек проекта, но не запустит новую сборку для всех возможных платформ!(make-файлы не обновляются). Нет общего файла make, поэтому вы не можете легко использовать порядок сборки ваших проектов, который Eclipse рассчиталПлагин Eclipse, который создает рабочее пространство из заданного (текстового) списка проектов, а затем запускает сборку.Это возможно, но тоже не простая задача.К сожалению, я не могу опубликовать плагин где-то, потому что я написал его для моего бывшего работодателя ...
...