Каков наилучший способ поделиться исходными файлами Delphi между проектами?Каков наилучший способ обмена исходными файлами Delphi среди проектов?
Уточнение: мы хотим использовать один исходный файл в нескольких проектах Delphi. Мы использовали наш инструмент SCM для размещения одного и того же файла в нескольких папках, но это не очень элегантный опыт, и мы также рассматриваем возможность перехода на инструмент, который не поддерживает это.
Поскольку я изучал этот вопрос, я рассмотрел несколько разных подходов, но я хотел бы знать, что вы делаете, и как вы находите свой подход.
Важные сценарии:
- Код времени
- Добавление новой зависимости обмена должны требовать четкого, так что совместное использование управляется.
- Добавление новой зависимости совместного использования должно быть относительно простым; он не должен требовать сложного процесса.
- Один файл, в котором перечислены все «импортированные» файлы проекта (извне), будет приятным.
- Compile время
- Всех проектов всегда должны строить с одной текущей версией (текущей, как состояния источника синхронизации плюс местных правок).
- (Сохранение различных версий в разных местах, следует использовать файл разветвленность, который не является темой, здесь.)
- должен ли каждый проект будет иметь возможность влиять на составление общего доступа файла с разными настройками компилятора (включая флаги).
- Возможно, проще поддерживать (то есть долгосрочный) исходный код, который всегда строится последовательно.
- Возможно, легче сделать исправления для технического обслуживания (т. Е. Краткосрочные), если объем указанных изменений может быть легко ограничен одним проектом.
- Всех проектов всегда должны строить с одной текущей версией (текущей, как состояния источника синхронизации плюс местных правок).
- Debug время
- Правильный вариант источника должны автоматически открываться, когда вступает в рутина или установить контрольную точку.
- Редактирование отображаемого источника должно повлиять на следующую сборку.
- Мы не хотим отлаживать временную копию источника: мы, вероятно, потеряем код в замешательстве.
соображения:
- Near-Term:
- Какой подход будет проще поставить на место?
- Long-Term:
- Какой подход будет проще использовать и поддерживать?
Спасибо, заранее, за Ваш отзыв!
Маттиас
--- UPDATE ---
Спасибо за вашу обратную связь, через ответы, комментарии и голоса!
Я начал путь передачи общих файлов в один проект «производитель» и импортировал список скомпилированных файлов в каждый «потребительский» проект. Проекты связаны с MSBuild. Как только вещи будут больше прибиты, я отредактирую этот вопрос и ответ «Библиотечный проект», чтобы поделиться тем, что я узнал.
Оставайтесь на связи! (Но не задерживайте дыхание, вы будете задыхаться в течение нескольких минут: P)
Я использую библиотечные проекты, хранящиеся с контролем источника. Для общих устройств я просто указываю путь к исходному каталогу библиотеки в пути поиска библиотеки. – skamradt 2008-11-03 20:38:36
Поскольку все файлы находятся на пути к библиотеке, имеет ли каждый из ваших проектов доступ к большинству всех разделяемых файлов? Или у вас есть * так много проектов библиотеки, в которых вы делитесь только одним файлом за раз? (И контроль источника абсолютно необходим! Я уточнил, что я имел в виду в другом подходе. :-)) – 2008-11-03 23:07:26