Как я компилирую свой проект Delphi на командной строке?

Кому-либо когда-либо удавалось скомпилировать их Delphi 6 и 7 (НЕ какой-либо Delphi> 7) проекты с помощью командной строки?

Все указания, которые я вижу, не являются очень четкими на том, что точно должно пойти где!

Ищу пошаговый вид инструкций.

Ответы должны быть ограничены Delphi 6 и 7: Я понимаю Delphi, 2006 и> использует MSBuild, который намного намного легче.

Ссылки также высоко ценятся.

Gath

15
задан R.J. Dunnill 2 July 2019 в 19:03
поделиться

4 ответа

Для автоматизации сборки я использую Apache Ant , который представляет собой программный инструмент для автоматизации процессов сборки программного обеспечения . Я использую его для всех своих проектов, от Delphi 6 до Delphi 2009 и Free Pascal.

Он может делать "из коробки", включая генерацию контрольной суммы MD5, создание ZIP-файлов, поиск / замену текста (полезно для заголовка авторского права генерация), выполнение операторов SQL, обработка XSLT.

Например, для компиляции всех проектов с помощью Delphi 6 это (часть) скрипта:

<target name="compile_d6">
  <!-- Compile with Delphi 6 -->
  <apply executable="${d6}\Bin\dcc32" failonerror="true" output="build-d6.log" >
    <!-- rebuild quiet -->
    <arg value="-B"/>
    <arg value="-Q"/>
    <!-- file paths -->
    <arg value="-I${source};${indy10}/Lib/System"/>
    <arg value="-O${source};${indy10}/D6;${jcl}/d6"/>
    <arg value="-U${source};${indy10}/D6;${jcl}/d6"/>  
    <!-- all *.dpr files in current directory -->
    <fileset dir=".">
      <patternset><include name="*.dpr"/></patternset>
    </fileset>
  </apply>
</target>

Бесплатные серверы CI (непрерывной интеграции) с открытым исходным кодом, такие как Hudson / Jenkins "из коробки" поддерживает сценарии сборки Apache Ant, что означает, что вы можете настроить автоматическую сборку проекта всякий раз, когда вы вносите изменения в исходный репозиторий.

9
ответ дан 1 December 2019 в 01:38
поделиться

Я бы предложил комбинацию NAnt и dcc32, но есть также [Хуанкарло Аньес] «WAnt - Инструмент сборки, дружественный к Паскалю» . Я использовал модифицированную версию 1.x вместо 2.x alpha. Поскольку это открытый исходный код, я мог бы расширить код для вывода журнала в XML в том же формате, что и NAnt, так что я могу интегрировать его с CruiseControl.NET.

1
ответ дан 1 December 2019 в 01:38
поделиться

Сделать это несложно. У меня на компьютере установлена ​​стандартная установка Delphi 5, и когда я открываю командную строку, перехожу в каталог $ (DELPHI) \ Demos \ Threads и вводю dcc32.exe thrddemo.dpr приложение построено на основе командной строки.

Для вашего собственного проекта вам может потребоваться добавить некоторые переключатели, чтобы включить каталоги файлов, каталоги вывода, определения или подобные вещи. Запуск dcc32.exe без параметров дает список переключателей и параметров. Все это также описано в документации.

Для повторяемости вы должны создать командный файл или обычный Makefile.

Обратите внимание, что как файл проекта cfg , так и общий dcc32 .cfg в каталоге Delphi содержит важные настройки.

15
ответ дан 1 December 2019 в 01:38
поделиться

FinalBuilder очень упрощает эту задачу. Попробуйте.

4
ответ дан 1 December 2019 в 01:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: