Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конструирование_ПО_Лекции.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
13.11 Mб
Скачать

Автоматизация сборки

Работа с проектом состоит из следующих этапов.

● Создать каталог / структуру каталогов

● Создать файл / множество файлов

● Написать код

● Проверить его

● Откомпилировать код

● Запустить и проверить модуль / систему

● Собрать модули в исполняемые файлы

● Создать дистрибутив.

Для сборки используются скрипты

● В Windows

– BAT (Batch, DOS)

– CMD (Command, Windows NT)

– PowerShell (Windows 2003)

● В Linux / Unix

– sh

– bash и т.п.

П ример BAT файла приведен на рис. 40.

Рис. 40

PowerShell исполбзует Командлеты (англ. cmdlets) — это специализированные команды, которые реализуют различную функциональность. Они именуются по правилу Глагол-Существительное, например Get-ChildItem, благодаря чему их назначение понятно из названия. Командлеты выводят результаты в виде объектов или их коллекций. Дополнительно они могут получать входные данные в такой же форме и, соответственно, использоваться как получатели в конвейере. Хотя PowerShell позволяет передавать по конвейеру массивы и другие коллекции, командлеты всегда обрабатывают объекты поочередно. Для коллекции объектов обработчик командлета вызывается для каждого объекта в коллекции по очереди.

В PowerShell, как и в оболочках UNIX/Linux, присутствует конвейер. Он служит для передачи выходных данных одного командлета во входные данные другого. PowerShell включает язык сценариев с динамическими типами, на котором можно реализовывать сложные операции с использованием командлетов. Язык сценариев поддерживает переменные, функции, конструкции ветвления (if-then-else) циклы (while, do, for и foreach), структурированную обработку ошибок и множество других возможностей, включая интеграцию с .NET.

Ant

Apache Ant (англ. ant — муравей и акроним — «Another Neat Tool») — утилита для автоматизации процесса сборки программного продукта. Является платформонезависимой аналогом Ant был создан в рамках проекта Jakarta. Это — самостоятельный проект первого уровня Apache Software Foundation. Первая версия была разработана инженером Sun Microsystems Джеймсом Дэвидсоном (James Davidson).

Управление процессом сборки происходит посредством XML- сценария, также называемого Build-файлом. В первую очередь, этот файл содержит определение проекта, состоящего из отдельных целей (Targets). Цели сравнимы с процедурами в языках программирования и содержат вызовы команд-заданий (Tasks). Каждое задание представляет собой неделимую, атомарную команду, выполняющую некоторое элементарное действие. Между целями могут быть определены зависимости — каждая цель выполняется только после того, как выполнены все цели, от которых она зависит (если они уже были выполнены ранее, повторное выполнение не производится). Типичными примерами целей являются clean (удаление промежуточных файлов), compile (компиляция всех классов), deploy (развёртывание приложения на сервере). Конкретный набор целей и их взаимосвязи зависят от специфики проекта.

Краткий список заданий (команд).

Javac компиляция Java-кода

Copy копирование файлов

Delete удаление файлов и директорий

Move перемещение файлов и директорий

Replace замещение фрагментов текста в файлах

JUnit автоматический запуск юнит-тестов

Exec выполнение внешней команды

Zip создание архива в формате Zip

CVS выполнение CVS-команды

Mail отправка электронной почты