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