Conversation
altro3
force-pushed
the
buld-scripts
branch
from
September 26, 2026 10:34
fdda58e to
42e0aeb
Compare
Dependency Update ReportUpdate level: Found
|
This was referenced Sep 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
[EN]
Summary
This PR brings a major refactoring to the Gradle build scripts across the entire repository (107 files changed). The goal is to unify the current Groovy DSL into a code style that mirrors Kotlin DSL structure, making it highly readable and easing future migration to
.gradle.kts.Key Changes
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")to completely replace hardcoded project strings likeproject(":core:common")with autogenerated type-safe properties (projects.core.common) inside Groovy scripts.id("java-test-fixtures"),api(libs.slf4j.api)).generateKoraVersiontask in:core:commonto execute during the execution phase (doLast) rather than configuration. Linked it tosrcDircleanly using the Lazy Providers API.protobuf-javaandprotobuf-protoc) into a singleprotobuf = "4.36.2"reference insidelibs.versions.toml.protobuf-kotlinmodule (com.google.protobuf:protobuf-kotlin) to the catalog. This ensures generated Kotlin protobuf classes compile cleanly and prevent implicit runtime resolution issues.build.gradlefile by properly utilizing.asProvider().get().Organized all
dependenciesblocks into a strict, unified order across all modules. Dependencies are now predictably sorted from compilation/annotation processors down to test fixtures and runtimes:annotationProcessor/compileOnly/api/implementation/runtimeOnlytestAnnotationProcessor/testCompileOnly/testApi/testImplementation/testRuntimeOnlytestFixturesApi/testFixturesImplementationNo production code was affected. Verified by running local builds.
[RU]
Что сделано
Проведена масштабная унификация и рефакторинг сборочных скриптов Gradle (
build.gradle) во всем репозитории (107 файлов). Цель — привести Groovy DSL к единому кодстайлу, визуально и структурно идентичному Kotlin DSL (.gradle.kts). Это упростит поддержку сборки и сделает возможным бесшовный перевод модулей на Kotlin DSL в будущем.Основные изменения
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS"). Это позволило полностью избавиться от хрупкого строкового синтаксиса видаproject(":core:common")и перейти на автогенерируемые безопасные аксессорыprojects.core.commonв Groovy-скриптах.(), например:id("java-test-fixtures"),api(libs.slf4j.api).:core:common: Логика генерации версии Kora вынесена из этапа конфигурации вtask.doLast(этап выполнения). Настроена ленивая конфигурация ресурсов через API провайдеров (generateKoraVersion.map { ... }), что гарантирует правильный граф задач без лишних тормозов при импорте проекта.protobuf-javaиprotobuf-protocсхлопнуты в единую переменнуюprotobuf = "4.36.2".protobuf-kotlin(com.google.protobuf:protobuf-kotlin). Он необходим для корректной компиляции сгенерированных Kotlin-классов Protobuf, чтобы избежать скрытых проблем с типами в рантайме.build.gradleисправлен синтаксис резолва версий через.asProvider().get().Внутри блоков
dependenciesнаведен строгий порядок. Все зависимости теперь выровнены в единой логической последовательности (от процессоров аннотаций до рантайма и фикстур):annotationProcessor/compileOnly/api/implementation/runtimeOnlytestAnnotationProcessor/testCompileOnly/testApi/testImplementation/testRuntimeOnlytestFixturesApi/testFixturesImplementationКак проверять
Убедиться, что проект успешно собирается локально через
./gradlew build. Изменений в прикладном коде фреймворка нет.