Есть ли какой-нибудь простой автоматический способ узнать все исходные файлы, связанные с проектом Delphi? - PullRequest
3 голосов
/ 08 марта 2011

Мне нравится делать резервную копию исходного кода, установленного для проекта, когда я выпускаю версию.Я использую резервные копии проекта GExperts, которые, кажется, собирают все файлы в менеджере проектов в ZIP-файл.Вы также можете добавить произвольные файлы в этот набор файлов, но я всегда осознаю тот факт, что я не обязательно получил все файлы.Если я специально не пойду через пункты использования и добавлю все модули, для которых у меня есть исходники, в проект, я никогда не буду уверен в сохранении всех файлов, необходимых для восстановления устанавливаемого / исполняемого файла.о развертывании приложения для обхода проекта, отслеживании всех используемых модулей, поиске всех путей поиска и поиске доступных исходных файлов для этого модуля, а также создании списка файлов для резервного копирования таким образом, но эй, можеткто-то уже сделал работу?

Ответы [ 4 ]

12 голосов
/ 08 марта 2011

Вы должны (очень рекомендую) изучить Контроль версий.

например. SVN (подрывная деятельность), CVS

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

Это сэкономит вам $% # один день.

1 голос
/ 09 марта 2011

Для получения списка всех модулей, скомпилированных в исполняемый файл, вы можете позволить компилятору сгенерировать файл MAP. Этот файл будет содержать записи для всех используемых единиц.

1 голос
/ 08 марта 2011

Я не уверен, спрашиваете ли вы об управлении версиями или о том, как убедиться, что у вас есть все файлы.

Одна полезная утилита, которую я иногда запускаю, - это программа, которая создает DirList для всех файлов в моей выходной папке dcu. Изменение расширений с .dcu на .pas дает мне список всех файлов исходного кода.

Конечно, он пропускает файлы .inc и другие файлы, не относящиеся к .pas, но, возможно, эта точка зрения будет вам полезна?

Значение этой утилиты для меня заключается в том, что вторая служебная программа затем создает список всех файлов .pas в моем исходном дереве, которые не имеют соответствующих файлов .dcu. Это (после полной компиляции всех программ) обычно выявляет некоторые «ненужные» файлы .pas, которые больше не используются.

1 голос
/ 08 марта 2011

Вы можете интерпретировать свой вопрос двумя способами:

  1. Как я могу сделать так, чтобы я делал резервные копии как минимум достаточного количества файлов, чтобы я мог построить проект
  2. Как я могу убедитьсячто я создаю резервную копию не слишком большого количества файлов, поэтому я все еще могу собрать проект

Первое - убедиться, что вы можете собрать систему вообще, второе - чтобы очистить неиспользуемые файлы.

Для обеих систем лучше всего использовать систему контроля версий, включающую отдельную систему сборки.

Затем вы - для каждого нового набора изменений - можете использовать эти шаги, чтобы убедиться, что оба условия выполняются:

  1. В вашей ежедневной системе разработки проверьте новую версию исходного кода в вашей системе контроля версий.
  2. В отдельной системе сборки получите последнюю версию своей системы контроля версий.
  3. Сборка проекта в системе сборки;если это не удается, перейдите к шагу 1 и добавьте отсутствующие файлы в систему управления версиями из системы разработки.
  4. Начните удалять (по одному) файлы из проекта, которые, по вашему мнению, не нужны, затемвосстанавливать до тех пор, пока не произойдет сбой.
  5. При сбое сборки восстановите этот конкретный файл из системы управления версиями, затем перейдите к шагу 3 со следующим кандидатом
  6. После успешного завершения сборки у вас будет минимальный наборфайлы.
  7. Теперь сделайте обзор файлов в вашей системе управления версиями и машине сборки.
  8. Пометить файлы, которые находятся в вашей системе контроля версий, но не на вашей сборочной машине, как устаревшие или удаленные.

Большинство систем контроля версий имеют хорошие способы создания различий между файламив вашей системе разработки или сборки для файлов в системе управления версиями (как правило, для каждого исторического момента времени, когда вы добавляли / удаляете / обновляете файлы в вашей системе управления версиями), подробно.Система сборки (или две отдельные системы разработки) заключается в том, что вы хотите, чтобы они были независимыми: вы используете одну для разработки, а другую для проверки, все ли в порядке со сборкой.

Это первый шаг вВ будущем вы можете захотеть расширить это в систему непрерывной интеграции (которая запускает модульные тесты, автоматически создает настройки продукта и многое другое).

- jeroen

...