From c4182c82696282a27a48bce47498827218bbcd24 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Wed, 17 Mar 2021 20:39:35 +0300 Subject: [PATCH] Revert "Remove unused protobuf from backend.native" This reverts commit 7a526a85 --- kotlin-native/backend.native/build.gradle | 52 +++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/kotlin-native/backend.native/build.gradle b/kotlin-native/backend.native/build.gradle index 562928288e2..a5d50786d68 100644 --- a/kotlin-native/backend.native/build.gradle +++ b/kotlin-native/backend.native/build.gradle @@ -9,8 +9,14 @@ import org.jetbrains.gradle.plugins.tools.* buildscript { apply from: "../../kotlin-native/gradle/kotlinGradlePlugin.gradle" apply plugin: 'project-report' + + dependencies { + classpath "com.google.protobuf:protobuf-gradle-plugin:0.8.8" + } } +String protobufVersion = '2.6.1' +apply plugin: "com.google.protobuf" apply plugin: 'java' apply plugin: 'kotlin' apply plugin: org.jetbrains.kotlin.NativeInteropPlugin @@ -18,6 +24,11 @@ apply plugin: "maven-publish" sourceSets { compiler { + proto.srcDir 'compiler/ir/backend.native/src/' + java { + srcDir 'compiler/ir/backend.native/src/' + srcDir 'build/renamed/source/proto/compiler/java' + } kotlin { srcDir 'compiler/ir/backend.native/src/' srcDir '../shared/src/main/kotlin' @@ -29,11 +40,16 @@ sourceSets { resources.srcDir VersionGeneratorKt.kotlinNativeVersionResourceFile(project).parentFile.parent } cli_bc { + java.srcDir 'cli.bc/src' kotlin.srcDir 'cli.bc/src' } } compileCompilerKotlin { + dependsOn('renamePackage') + // The protobuf plugin specifies this dependency for java by itself, + // but not for Kotlin. + dependsOn('generateCompilerProto') kotlinOptions.jvmTarget = "1.8" kotlinOptions.allWarningsAsErrors=true kotlinOptions.freeCompilerArgs += ['-Xopt-in=kotlin.RequiresOptIn', '-Xopt-in=org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI', '-Xskip-prerelease-check'] @@ -43,6 +59,27 @@ compileCli_bcKotlin { kotlinOptions.freeCompilerArgs += ['-Xskip-prerelease-check'] } +compileCompilerJava { + dependsOn('renamePackage') +} + +task copyGenerated(type: Copy) { + dependsOn('generateCompilerProto') + from 'build/generated/source/proto/compiler/java' + into 'build/renamed/source/proto/compiler/java' + filter { line -> line.replaceAll("com.google.protobuf", "org.jetbrains.kotlin.protobuf") } + outputs.dir('build/renamed') +} + +task deleteGenerated(type: Delete) { + dependsOn('copyGenerated') + delete 'build/generated/source/proto/compiler/java' +} + +task renamePackage { + dependsOn('copyGenerated', 'deleteGenerated') +} + kotlinNativeInterop { llvm { @@ -121,6 +158,8 @@ dependencies { compilerCompile project(":kotlin-native:utilities:basic-utils") + compilerCompile "com.google.protobuf:protobuf-java:${protobufVersion}" + compilerCompile project(kotlinCompilerModule) compilerCompile project(":native:kotlin-native-utils") compilerCompile project(":core:descriptors") @@ -273,6 +312,19 @@ externalJars.each { arg -> task external_jars(type: Copy) { dependsOn externalJars.collect { "${it}Copy" } dependsOn trove4jCopy + + from configurations.compilerCompile { + + include "protobuf-java-${protobufVersion}.jar" + + into 'build/external_jars' + } +} + +protobuf { + protoc { + artifact = "com.google.protobuf:protoc:${protobufVersion}" + } } task debugCompiler(type: JavaExec) {