build.gradle.kts (projectforge-common)| Плагин | Назначение |
|---|---|
buildlogic.pf-module-conventions | Пользовательский конвенционный плагин ProjectForge Gradle (определён в buildSrc/) — применяет общую логику сборки для всех модулей (настройки компиляции Java, конфигурация репозиториев, проверки качества кода) |
org.jetbrains.kotlin.jvm | Плагин компилятора Kotlin JVM — включает компиляцию Kotlin вместе с исходниками Java |
tasks.withType<KotlinCompile> {
compilerOptions {
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17)
}
}
Весь исходный код Kotlin компилируется в байт-код Java 17. Это соответствует базовой версии Java 17 проекта (также отражено в перечислении DatabaseDialect, ссылающемся на диалекты Hibernate 6 и использование пространства имён Jakarta EE в других местах).
tasks.withType<Test> {
useJUnitPlatform()
testLogging {
events("PASSED", "FAILED", "SKIPPED", "STANDARD_OUT", "STANDARD_ERROR")
exceptionFormat = org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL
showStandardStreams = true
}
}
Использует JUnit Platform (JUnit 5) для обнаружения и выполнения тестов. Логирование тестов настроено на детальный вывод, показывающий все события тестов, полные стектрейсы исключений и потоки стандартного вывода/ошибок — полезно для отладки сбоев тестов в средах CI/CD.
| Зависимость | Назначение | Источник версии |
|---|---|---|
org.slf4j:slf4j-api | Фасад логирования SLF4J API | libs.org.slf4j.api (каталог версий) |
org.slf4j:jul-to-slf4j | Мост java.util.logging к SLF4J | libs.org.slf4j.jul.to.slf4j |
ch.qos.logback:logback-classic | Реализация логирования Logback | libs.ch.qos.logback.classic |
org.apache.logging.log4j:log4j-api | API Log4j2 (для моста) | libs.org.apache.logging.log4j.api |
org.apache.logging.log4j:log4j-to-slf4j | Мост Log4j2 к SLF4J | libs.org.apache.logging.log4j.to.slf4j |
commons-beanutils:commons-beanutils | Apache Commons BeanUtils (интроспекция свойств) | libs.commons.beanutils |
org.jetbrains.kotlin:kotlin-stdlib | Стандартная библиотека Kotlin | libs.org.jetbrains.kotlin.stdlib |
org.jetbrains.kotlin:kotlin-reflect | Библиотека рефлексии Kotlin | libs.org.jetbrains.kotlin.reflect |
org.apache.commons:commons-collections4 | Apache Commons Collections 4 | каталог версий |
org.apache.commons:commons-lang3 | Apache Commons Lang 3 (StringUtils и т.д.) | каталог версий |
net.lingala.zip4j:zip4j | Библиотека ZIP-архивов (сжатие, извлечение) | libs.net.lingala.zip4j.zip4j |
| Зависимость | Область |
|---|---|
project(":projectforge-commons-test") | Модуль тестовых утилит, предоставляющий общую тестовую инфраструктуру |
org.mockito:mockito-core | Фреймворк мокирования Mockito для модульных тестов |
Стек логирования тщательно выстроен:
Это гарантирует, что ВЕСЬ вывод логов (независимо от того, какой API логирования использует библиотека) направляется через SLF4J в Logback, обеспечивая централизованную конфигурацию логирования через logback-spring.xml.
Большой закомментированный блок показывает пользовательскую задачу Gradle (generateGitProperties), которая использовала плагин org.ajoberstar.grgit для генерации git.properties с метаданными сборки (ветка, ID коммита, время сборки, флаг "грязного" состояния). Зависимость плагина Grgit также закомментирована (//id("org.ajoberstar.grgit") version "5.3.0"). Это предполагает, что функциональность Git-свойств была перенесена в другой модуль или заменена другим механизмом.
libs.versions.toml в каталоге gradle/) централизует управление версиями зависимостей. Синтаксис libs.<алиас> ссылается на записи из TOML-каталога, что делает обновление версий единоразовым изменением для всех модулей.69441cecd ZipMode и ZipUtils перемещены в common (для доступности в скриптах) e21feaa61 Gradle игры... 1d2849687 WIP: зависимости Gradle (все тесты OK) 98393fe4c WIP: gradle... ca9851ba0 WIP: gradle... 41e2d26e7 WIP: gradle... e31db0a87 WIP: gradle... 2ab2292fb WIP: gradle...