diff options
author | c0nsumer <c0nsumer@yandex-team.com> | 2024-03-12 17:47:26 +0300 |
---|---|---|
committer | c0nsumer <c0nsumer@yandex-team.com> | 2024-03-12 18:00:41 +0300 |
commit | 73c17daac80a049f9fb1979df24e5e90ac8f9a54 (patch) | |
tree | 10fb1109f508deec3beb4a350fef37712d1ffdd7 | |
parent | ae71882489a911042e19da3638416971627f8be6 (diff) | |
download | ydb-73c17daac80a049f9fb1979df24e5e90ac8f9a54.tar.gz |
Ya ide gradle improvements
В этом ПРе починил проблему с симлинками на исходники, и с симлинками на прото. Также захардкодил поддержку lombok
4ca78811a8f815a0328643e556b92830eddc48eb
3 files changed, 36 insertions, 2 deletions
diff --git a/build/export_generators/ide-gradle/build.gradle.kts.jinja b/build/export_generators/ide-gradle/build.gradle.kts.jinja index d47ab8089a..f8efa25f1a 100644 --- a/build/export_generators/ide-gradle/build.gradle.kts.jinja +++ b/build/export_generators/ide-gradle/build.gradle.kts.jinja @@ -4,6 +4,11 @@ {%- set kotlin_version = target.kotlin_version -%} {%- set hasJunit5Test = extra_targets|selectattr('junit5_test') -%} plugins { +{%- for processor in target.annotation_processors -%} +{%- if processor == "lombok.launch.AnnotationProcessorHider$AnnotationProcessor" %} + id("io.freefair.lombok") version "8.6" +{%- endif -%} +{%- endfor %} {%- if mainClass %} `application` {%- else %} @@ -208,6 +213,25 @@ dependencies { {%- endfor %} } +{%- for processor in target.annotation_processors -%} +{%- if processor == "lombok.launch.AnnotationProcessorHider$AnnotationProcessor" %} +val confs: List<Configuration> = project.configurations.toList() + +confs.forEach { configuration -> + configuration.dependencies.forEach { dependency -> + if (dependency.name == "lombok") { + val lombok = dependency.group + ":" + dependency.name + ":" + dependency.version + + dependencies { + annotationProcessor(lombok) + testAnnotationProcessor(lombok) + } + } + } +} +{%- endif -%} +{%- endfor %} + {% if hasJunit5Test -%} tasks.named<Test>("test") { useJUnitPlatform() diff --git a/build/export_generators/ide-gradle/build.gradle.kts.proto.jinja b/build/export_generators/ide-gradle/build.gradle.kts.proto.jinja index 156dc216e5..1161ba8cdc 100644 --- a/build/export_generators/ide-gradle/build.gradle.kts.proto.jinja +++ b/build/export_generators/ide-gradle/build.gradle.kts.proto.jinja @@ -103,7 +103,7 @@ protobuf { } } generateProtoTasks { - ofSourceSet("main").forEach { + all().forEach { it.plugins { id("grpc") } @@ -117,6 +117,16 @@ val prepareProto = tasks.register<Copy>("prepareProto") { {%- for proto in target.proto_files %} include("{{ proto }}") {%- endfor %} +{# Mining proto-deps sources directories #} +{%- for library in target.consumer if library.prebuilt -%} +{%- if library.type == "library" %} +{%- set proto_rep = library.classpath|replace('project(":','') %} +{%- set proto_rep = proto_rep|replace('")','') %} +{%- set proto_rep = proto_rep|replace(':','/') %} +{%- set proto = proto_rep + '/**' %} + include("{{ proto }}") +{%- endif -%} +{%- endfor %} } into(buildProtoDir) } diff --git a/build/export_generators/ide-gradle/gradle/wrapper/gradle-wrapper.properties b/build/export_generators/ide-gradle/gradle/wrapper/gradle-wrapper.properties index f398c33c4b..f2df14bc09 100644 --- a/build/export_generators/ide-gradle/gradle/wrapper/gradle-wrapper.properties +++ b/build/export_generators/ide-gradle/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip +distributionUrl=https\://bucket.yandex-team.ru/v1/maven/gradle-distributions/distributions/gradle-8.6-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists |