Шаблон лабораторной работы #
Васильев Андрей Михайлович, 2024
Версии презентации
Гибкость сборочной системы Gradle #
При использовании системы сборки Gradle разработчику доступно множество настроек:
- Один проект или множество связных проектов
- Одна точка входа или множество точек входа
- Возможность сборки приложения, написанного на разных языках
- Возможность подключения множества различных дополнений
- Возможность написать произвольный код в конфигурации Gradle
К сожалению это значительно снижает возможности по автоматизации проверки
Шаблон лабораторной работы #
При использовании шаблона:
- Разрешена разработка приложений на языке Kotlin 2.0.20
- Используется система сборки Gradle 8.8
- Добавлена система проверки форматирования исходного кода Ktlint 1.3.1
- Добавлено собственное расширение, позволяющее настроить:
- Стартовую точку приложения
- Набор библиотек
Процесс приёма исходного кода #
- Из переданной работы копируется только каталог
src
- Также копируется файл разрешённых настроек
build.properties.json
- Все остальные файлы из исходных кодов работы не берутся
Рекомендуемый процесс разработки #
- Получить шаблон с сайта
- Открыть в среде разработки и убедиться в его базовой работоспособности
- При желании изменить точку входа в приложение
- При необходимости расширить список зависимостей приложения
Пункты 3 и 4 выполняются путём редактирования файла build.properties.json
.
После его редактирования конфигурацию Gradle необходимо перезагрузить
Перед отправкой работы на проверку рекомендуется удостовериться, что приложение
корректно работает, если в шаблон перенести каталог src
и файл
build.properties.json
- Скопировать шаблон работы в новый каталог
- Скопировать в новый каталог каталог
src
и файлbuild.properties.json
- В новом каталоге запустить приложение с помощью системы сборки Gradle:
./gradlew run
Структура файла build.properties.json
#
{
"mainClass": "ru.yarsu.MainKt",
"dependencies": [
"com.fasterxml.jackson.module:jackson-module-kotlin:2.17.2",
"com.jsoizo:kotlin-csv:1.10.0"
]
}
- В свойстве
mainClass
указывается полный путь к стартовому классу или Kotlin-пакету приложения- В примере указан пакет
ru.yarsu.Main
- В примере указан пакет
- В свойстве
depenencies
указывается список Maven-пакетов с библиотеками- Необходимую библиотеку можно найти на https://mvnrepository.com/
- Первая зависимость позволяет взаимодействовать с JSON-документами
- Вторая зависимость предоставляет классы для работы с CSV-документами