Java для автоматизаторов
  • Introduction
  • Java. Введение
    • Java как язык и платформа
    • Установка и настройка
  • Язык Java. Основы
    • Hello World
    • Переменные
    • Типы данных
    • Строки
    • Циклы "while" / "do ... while"
    • Циклы "for"
    • Условный оператор "if / if ... else"
    • Условный оператор "switch"
    • Массивы
    • Задания к главе
  • ООП в Java
    • Классы и объекты
    • Методы
    • Свойства
    • Параметры методов
    • Ключевое слово this
    • Конструктор
    • Модификаторы static и final
    • StringBuffer
    • Метод toString()
    • Метод equals()
    • Наследование
    • Пакеты
    • Интерфейсы
    • Модификаторы Public, Private и Protected
    • Полиморфизм
    • Инкапсуляция
    • Использование обобщений
    • Generics and Wildcards
    • Анонимные классы
    • Исключения
    • Множественные исключения
    • Абстрактные классы
    • Вложенные классы
    • Тип Enum
    • Задания к главе
  • Коллекции
    • ArrayList
    • Linked Lists
    • HashMap
    • Sets (Множества)
    • Sorted Maps
    • Задание порядка в множестве ( natural ordering )
    • Очередь (Queue)
    • Использование итераторов
    • Создание объектов, реализующих интерфейс Iterable
    • Задания к главе
  • Стиль написания кода
    • Структура файла
    • Файлы-исходники
    • Открывающие комментарии
    • Сведения о пакете и импорте
    • Объявление классов и интерфейсов
    • Длина строки
    • Переносы строк
    • Переносы в объявлении методов
    • Переносы в операторе if
    • Переносы в тернарных операциях
    • Виды комментариев
    • Блочные комментарии
    • Однострочные комментарии
    • Комментарии в конце строки
    • Объявления (Декларации)
    • Операторы
    • Пропуски
    • Конвенция именования
    • Задания к главе
  • Работа с файлами
    • Работа с текстовыми файлами
    • Работа с XML файлами
    • Работа с JSON файлами
    • Property-файлы
    • Задания к главе
  • Log4j - система логирования сообщений в Java
    • Начало работы
    • Конфигурационные файлы
    • Стандартные аппендеры
    • Задания к главе
  • Юнит тестирование
    • JUnit vs TestNG. Основные аннотации
    • JUnit vs TestNG. Примеры тестов
      • Exception тесты
      • Ignore тесты
      • Тест с таймаутом
      • Тест сьюты
      • Параметризованные тесты
      • Зависимые тесты
      • Многопоточность
    • Asserts
    • Использование "заглушек" (Mocks)
  • Build инструменты
    • Build инструменты
    • Примеры конфигураций
  • Системы контроля версий. Git
    • Системы контроля версий. Git
    • Git. Установка
    • Git. Основы
    • Git. Основные команды
      • Настройка
      • Работа с репозиторием
      • Работа с удаленным сервером
      • Работа с ветками
Powered by GitBook
On this page

Build инструменты

Build инструменты — это инструменты, которые позволяют автоматизировать путем написания различного рода скриптов выполнение широкого спектра задач в отношении к разрабатываемому ПО, применяемому разработчиками в их повседневной деятельности, включая такие действия, как:

  • компиляция исходного кода в бинарный код

  • сборка бинарного кода

  • выполнение тестов

  • разворачивание программы на производственной платформе

  • написание сопроводительной документации или описание изменений новой версии

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

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

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

По мере роста и усложнения процесса сборки разработчики начали добавлять действия до и после вызовов компиляторов, как например, проверку (check-out) версий копируемых объектов на тестовую систему. Термин «автоматизация сборки» уже включает в себя управление и действия до и после компиляции и линковки, так же как и действия при компиляции и линковке.

PreviousИспользование "заглушек" (Mocks)NextBuild инструменты

Last updated 6 years ago