[build][native support] intoduced new native support.

This commit is contained in:
Vasily Levchenko
2020-12-25 11:55:10 +01:00
parent e031da6e70
commit 65dd798818
20 changed files with 778 additions and 469 deletions
@@ -190,6 +190,7 @@ class NamedNativeInteropConfig implements Named {
project.dependencies {
add interopStubs.getCompileConfigurationName(), project(path: ':kotlin-native:Interop:Runtime')
add interopStubs.getCompileConfigurationName(), "org.jetbrains.kotlin:kotlin-stdlib:${project.bootstrapKotlinVersion}"
}
this.configuration.extendsFrom project.configurations[interopStubs.runtimeConfigurationName]
@@ -198,6 +199,8 @@ class NamedNativeInteropConfig implements Named {
genTask.configure {
dependsOn ":kotlin-native:dependencies:update"
dependsOn ":kotlin-native:Interop:Indexer:nativelibs"
dependsOn ":kotlin-native:Interop:Runtime:nativelibs"
classpath = project.configurations.interopStubGenerator
main = "org.jetbrains.kotlin.native.interop.gen.jvm.MainKt"
jvmArgs '-ea'
@@ -7,6 +7,9 @@ package org.jetbrains.kotlin
import org.gradle.api.Project
import org.gradle.api.Task
import org.gradle.api.tasks.TaskState
import org.gradle.api.logging.LogLevel
import org.gradle.api.tasks.TaskCollection
import org.jetbrains.kotlin.konan.properties.loadProperties
import org.jetbrains.kotlin.konan.properties.propertyList
import org.jetbrains.kotlin.konan.properties.saveProperties
@@ -20,6 +23,35 @@ import java.util.Base64
import org.jetbrains.report.json.*
import java.nio.file.Path
import org.jetbrains.kotlin.konan.file.File as KFile
import org.gradle.nativeplatform.toolchain.internal.*
import org.gradle.nativeplatform.toolchain.plugins.ClangCompilerPlugin
import org.gradle.api.Incubating
import org.gradle.api.NamedDomainObjectFactory
import org.gradle.api.NonNullApi
import org.gradle.api.Plugin
import org.gradle.api.internal.file.FileResolver
import org.gradle.api.internal.plugins.PotentialPlugin
import org.gradle.internal.operations.BuildOperationExecutor
import org.gradle.internal.os.OperatingSystem
import org.gradle.internal.reflect.Instantiator
import org.gradle.internal.service.ServiceRegistry
import org.gradle.internal.work.WorkerLeaseService
import org.gradle.model.Defaults
import org.gradle.model.RuleSource
import org.gradle.nativeplatform.internal.CompilerOutputFileNamingSchemeFactory
import org.gradle.nativeplatform.platform.internal.NativePlatformInternal
import org.gradle.nativeplatform.plugins.NativeComponentPlugin
import org.gradle.nativeplatform.toolchain.Clang
import org.gradle.nativeplatform.toolchain.internal.clang.ClangToolChain
import org.gradle.nativeplatform.toolchain.internal.gcc.AbstractGccCompatibleToolChain
import org.gradle.nativeplatform.toolchain.internal.gcc.DefaultGccPlatformToolChain
import org.gradle.nativeplatform.toolchain.internal.gcc.metadata.SystemLibraryDiscovery
import org.gradle.nativeplatform.toolchain.internal.metadata.CompilerMetaDataProviderFactory
import org.gradle.nativeplatform.toolchain.internal.tools.CommandLineToolSearchResult
import org.gradle.nativeplatform.toolchain.internal.tools.GccCommandLineToolConfigurationInternal
import org.gradle.nativeplatform.toolchain.internal.tools.ToolSearchPath
import org.gradle.process.internal.ExecActionFactory
import java.io.ByteArrayOutputStream
//region Project properties.