Шаблон лабораторной работы

Шаблон лабораторной работы #

Васильев Андрей Михайлович, 2024

Версии презентации


Гибкость сборочной системы Gradle #

При использовании системы сборки Gradle разработчику доступно множество настроек:

  • Один проект или множество связных проектов
  • Одна точка входа или множество точек входа
  • Возможность сборки приложения, написанного на разных языках
  • Возможность подключения множества различных дополнений
  • Возможность написать произвольный код в конфигурации Gradle

К сожалению это значительно снижает возможности по автоматизации проверки


Шаблон лабораторной работы #

При использовании шаблона:

  • Разрешена разработка приложений на языке Kotlin 2.0.20
  • Используется система сборки Gradle 8.8
  • Добавлена система проверки форматирования исходного кода Ktlint 1.3.1
  • Добавлено собственное расширение, позволяющее настроить:
    • Стартовую точку приложения
    • Набор библиотек

Процесс приёма исходного кода #

diagram

  • Из переданной работы копируется только каталог src
  • Также копируется файл разрешённых настроек build.properties.json
  • Все остальные файлы из исходных кодов работы не берутся

Рекомендуемый процесс разработки #

  1. Получить шаблон с сайта
  2. Открыть в среде разработки и убедиться в его базовой работоспособности
  3. При желании изменить точку входа в приложение
  4. При необходимости расширить список зависимостей приложения

Пункты 3 и 4 выполняются путём редактирования файла build.properties.json. После его редактирования конфигурацию Gradle необходимо перезагрузить

Перед отправкой работы на проверку рекомендуется удостовериться, что приложение корректно работает, если в шаблон перенести каталог src и файл build.properties.json

  1. Скопировать шаблон работы в новый каталог
  2. Скопировать в новый каталог каталог src и файл build.properties.json
  3. В новом каталоге запустить приложение с помощью системы сборки 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-документами

© A. M. Васильев, 2024, CC BY-SA 4.0, andrey@crafted.su