Васильев Андрей Михайлович
Версии презентации
Системы сборки появились в тот момент, когда разработчикам перестало хватать одного файла для создания приложения
Для компиляции приложения на Си из двух исходных файлов необходимо выполнить 3 действия: две компиляции и одно связывание
Система сборки обычно работает вместе со средствами компиляции
javac, входит в состав JDKВ рамках курса будем использовать Gradle с написанием конфигурации на языке Kotlin
На платформе JVM сборка Kotlin-приложения схожа с классической компиляцией:
Компилятор языка Kotlin не поставляется вместе с JDK, его необходимо дополнительно скачать и иметь в доступе в момент сборки приложения
Хорошая новость — разработчики Kotlin предоставляют инструменты, урпощающие использование в популярных системах сборки: Gradle, Maven и Ant
Структура проекта должна следовать стандарту
project
├── gradle
│ ├── libs.versions.toml
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle(.kts)
├── subproject-a
│ ├── build.gradle(.kts)
│ └── src
└── subproject-b
├── build.gradle(.kts)
└── src
settings.gradle(.kts)gradlew и gradlew.bat облегчают установку gradlegradle содержит информацию по доп. настройкеlibs.versions.toml содержит список стандартных зависимостейsubproject-a и subproject-b содержит вложенные проектыsubproject-a/build.gradle(.kts) содержит конфигурацию проектаС точки зрения пользователя Gradle предоставляет возможность запустить одну или несколько задач
Будем рассматривать интеграцию с IDEA
KotlinProject
├── .gradle/
├── build/
├── build.gradle.kts
└── src
├── main
│ ├── kotlin
│ │ └── Main.kt
│ └── resources
└── test
├── kotlin
└── resources
build.gradle.ktssrc/main/kotlin содержит исходные коды на языке Kotlinsrc/main/resources содержит файлы-ресурсы, не подвергающиеся
компиляцииkotlin можно и нужно создавать иерархическую структуру
каталогов, соответствующую пакетам языка Kotlinbuild содержит результаты сборки и не должен сохраняться в системе
контроля версий.gradle содержит кеш для ускорения работы системы сборки