Revert "Use kotlin-native-shared in the Gradle plugin"
This reverts commit c9ed648303.
This commit is contained in:
@@ -185,7 +185,6 @@ extra["versions.org.springframework"] = "4.2.0.RELEASE"
|
||||
extra["versions.jflex"] = "1.7.0"
|
||||
extra["versions.markdown"] = "0.1.25"
|
||||
extra["versions.trove4j"] = "1.0.20181211"
|
||||
extra["versions.kotlin-native-shared"] = "1.0-dev-96"
|
||||
|
||||
// NOTE: please, also change KTOR_NAME in pathUtil.kt and all versions in corresponding jar names in daemon tests.
|
||||
extra["versions.ktor-network"] = "1.0.1"
|
||||
|
||||
@@ -99,11 +99,7 @@ val Project.protobufRepo: String
|
||||
fun Project.protobufLite(): String = "org.jetbrains.kotlin:protobuf-lite:$protobufVersion"
|
||||
fun Project.protobufFull(): String = "org.jetbrains.kotlin:protobuf-relocated:$protobufVersion"
|
||||
|
||||
val Project.kotlinNativeRepo: String
|
||||
get() = "https://jetbrains.bintray.com/kotlin-native-dependencies"
|
||||
|
||||
val Project.kotlinNativeVersion: String get() = property("versions.kotlin-native") as String
|
||||
val Project.kotlinNativeSharedVersion: String get() = property("versions.kotlin-native-shared") as String
|
||||
|
||||
fun File.matchMaybeVersionedArtifact(baseName: String) = name.matches(baseName.toMaybeVersionedJarRegex())
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@ standardPublicJars()
|
||||
|
||||
dependencies {
|
||||
compile(kotlinStdlib())
|
||||
compile(project(":kotlin-native:kotlin-native-utils"))
|
||||
|
||||
compileOnly(gradleApi())
|
||||
compileOnly("com.android.tools.build:gradle:0.4.2")
|
||||
|
||||
@@ -11,7 +11,7 @@ repositories {
|
||||
dependencies {
|
||||
compile(gradleApi())
|
||||
compile(project(":kotlin-gradle-plugin-api"))
|
||||
compile(commonDep("org.jetbrains.kotlin:kotlin-native-shared")) { isTransitive = false }
|
||||
compile(project(":kotlin-native:kotlin-native-utils"))
|
||||
}
|
||||
|
||||
val generateMppTargetContainerWithPresets by generator(
|
||||
|
||||
@@ -38,6 +38,7 @@ dependencies {
|
||||
compileOnly(project(":daemon-common"))
|
||||
|
||||
compile(kotlinStdlib())
|
||||
compile(project(":kotlin-native:kotlin-native-utils"))
|
||||
compileOnly(project(":kotlin-reflect-api"))
|
||||
compileOnly(project(":kotlin-android-extensions"))
|
||||
compileOnly(project(":kotlin-build-common"))
|
||||
@@ -69,10 +70,6 @@ dependencies {
|
||||
jarContents(compileOnly(intellijDep()) {
|
||||
includeJars("asm-all", "serviceMessages", "gson", rootProject = rootProject)
|
||||
})
|
||||
|
||||
jarContents(compileOnly(commonDep("org.jetbrains.kotlin:kotlin-native-shared")) {
|
||||
isTransitive = false
|
||||
})
|
||||
|
||||
// com.android.tools.build:gradle has ~50 unneeded transitive dependencies
|
||||
compileOnly("com.android.tools.build:gradle:3.0.0") { isTransitive = false }
|
||||
|
||||
+17
-7
@@ -20,11 +20,11 @@ import org.gradle.api.Named
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.file.FileCollection
|
||||
import org.jetbrains.kotlin.cli.common.messages.MessageRenderer
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.hostManager
|
||||
import org.jetbrains.kotlin.gradle.utils.NativeCompilerDownloader
|
||||
import org.jetbrains.kotlin.konan.KonanVersion
|
||||
import org.jetbrains.kotlin.konan.target.*
|
||||
import org.jetbrains.kotlin.konan.util.DependencyProcessor
|
||||
import org.jetbrains.kotlin.konan.target.HostManager
|
||||
import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||
import org.jetbrains.kotlin.konan.util.DependencyDirectories
|
||||
import java.util.*
|
||||
|
||||
/** Copied from Kotlin/Native repository. */
|
||||
@@ -159,10 +159,20 @@ internal abstract class KonanCliRunner(
|
||||
internal class KonanInteropRunner(project: Project, additionalJvmArgs: List<String> = emptyList()) :
|
||||
KonanCliRunner("cinterop", "Kotlin/Native cinterop tool", project, additionalJvmArgs) {
|
||||
init {
|
||||
if (HostManager.hostIsMingw) {
|
||||
val distribution = Distribution(konanHomeOverride = project.konanHome)
|
||||
val llvmHome = PlatformManager(distribution).hostPlatform.absoluteLlvmHome
|
||||
environment.put("PATH", "$llvmHome/bin;${System.getenv("PATH")}")
|
||||
if (HostManager.host == KonanTarget.MINGW_X64) {
|
||||
// TODO: Read it from KonanDistribution when it is accessible.
|
||||
val konanProperties = Properties().apply {
|
||||
project.file("${project.konanHome}/konan/konan.properties").inputStream().use(::load)
|
||||
}
|
||||
val toolchainDir = konanProperties.getProperty("targetToolchain.mingw_x64")
|
||||
if (toolchainDir != null) {
|
||||
environment.put(
|
||||
"PATH",
|
||||
DependencyDirectories.defaultDependenciesRoot
|
||||
.resolve("$toolchainDir/bin")
|
||||
.absolutePath + ";${System.getenv("PATH")}"
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -31,6 +31,7 @@ import org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubplugin
|
||||
import org.jetbrains.kotlin.gradle.utils.SingleWarningPerBuild
|
||||
import org.jetbrains.kotlin.gradle.utils.checkGradleCompatibility
|
||||
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||
import org.jetbrains.kotlin.konan.target.HostManager
|
||||
import org.jetbrains.kotlin.konan.target.presetName
|
||||
|
||||
class KotlinMultiplatformPlugin(
|
||||
@@ -137,7 +138,7 @@ class KotlinMultiplatformPlugin(
|
||||
add(KotlinJsTargetPreset(project, kotlinPluginVersion))
|
||||
add(KotlinAndroidTargetPreset(project, kotlinPluginVersion))
|
||||
add(KotlinJvmWithJavaTargetPreset(project, kotlinPluginVersion))
|
||||
project.hostManager.targets.forEach { _, target ->
|
||||
HostManager().targets.forEach { _, target ->
|
||||
add(KotlinNativeTargetPreset(target.presetName, project, target, kotlinPluginVersion))
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@ class KotlinNativeTarget(
|
||||
get() = disambiguateName("binaries")
|
||||
|
||||
override val publishable: Boolean
|
||||
get() = enabledOnCurrentHost
|
||||
get() = konanTarget.enabledOnCurrentHost
|
||||
|
||||
// User-visible constants
|
||||
val DEBUG = NativeBuildType.DEBUG
|
||||
|
||||
+4
-4
@@ -58,7 +58,7 @@ open class KotlinNativeTargetConfigurator(
|
||||
producingTask: Task,
|
||||
copy: Boolean = false
|
||||
) {
|
||||
if (!compilation.target.enabledOnCurrentHost) {
|
||||
if (!compilation.target.konanTarget.enabledOnCurrentHost) {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -117,7 +117,7 @@ open class KotlinNativeTargetConfigurator(
|
||||
this.binary = binary
|
||||
group = BasePlugin.BUILD_GROUP
|
||||
description = "Links ${binary.outputKind.description} '${binary.name}' for a target '${target.name}'."
|
||||
enabled = target.enabledOnCurrentHost
|
||||
enabled = target.konanTarget.enabledOnCurrentHost
|
||||
destinationDir = binary.outputDirectory
|
||||
addCompilerPlugins()
|
||||
|
||||
@@ -153,7 +153,7 @@ open class KotlinNativeTargetConfigurator(
|
||||
group = BasePlugin.BUILD_GROUP
|
||||
description = "Compiles a klibrary from the '${compilation.name}' " +
|
||||
"compilation for target '${compilation.platformType.name}'."
|
||||
enabled = compilation.target.enabledOnCurrentHost
|
||||
enabled = compilation.target.konanTarget.enabledOnCurrentHost
|
||||
|
||||
destinationDir = klibOutputDirectory(compilation)
|
||||
addCompilerPlugins()
|
||||
@@ -184,7 +184,7 @@ open class KotlinNativeTargetConfigurator(
|
||||
description = "Generates Kotlin/Native interop library '${interop.name}' " +
|
||||
"for compilation '${compilation.name}'" +
|
||||
"of target '${konanTarget.name}'."
|
||||
enabled = compilation.target.enabledOnCurrentHost
|
||||
enabled = compilation.target.konanTarget.enabledOnCurrentHost
|
||||
|
||||
val interopOutput = project.files(outputFileProvider).builtBy(this)
|
||||
with(compilation) {
|
||||
|
||||
+17
-13
@@ -8,16 +8,24 @@ package org.jetbrains.kotlin.gradle.plugin.mpp
|
||||
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.artifacts.Dependency
|
||||
import org.gradle.api.internal.file.FileResolver
|
||||
import org.gradle.api.plugins.JavaPlugin
|
||||
import org.gradle.internal.reflect.Instantiator
|
||||
import org.jetbrains.kotlin.compilerRunner.KotlinNativeProjectProperty
|
||||
import org.jetbrains.kotlin.compilerRunner.hasProperty
|
||||
import org.jetbrains.kotlin.compilerRunner.konanHome
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinNativeTargetConfigurator
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetPreset
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinCompile
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
|
||||
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
|
||||
import org.jetbrains.kotlin.gradle.plugin.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.applyLanguageSettingsToKotlinTask
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider
|
||||
import org.jetbrains.kotlin.gradle.utils.NativeCompilerDownloader
|
||||
import org.jetbrains.kotlin.konan.target.Distribution
|
||||
import org.jetbrains.kotlin.konan.KonanVersion
|
||||
import org.jetbrains.kotlin.konan.target.HostManager
|
||||
import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||
import java.io.File
|
||||
import java.util.*
|
||||
|
||||
class KotlinNativeTargetPreset(
|
||||
private val name: String,
|
||||
@@ -85,9 +93,9 @@ class KotlinNativeTargetPreset(
|
||||
}
|
||||
}
|
||||
|
||||
if (!result.enabledOnCurrentHost) {
|
||||
with(project.hostManager) {
|
||||
val supportedHosts = this.enabledByHost.filterValues { konanTarget in it }.keys
|
||||
if (!konanTarget.enabledOnCurrentHost) {
|
||||
with(HostManager()) {
|
||||
val supportedHosts = enabledTargetsByHost.filterValues { konanTarget in it }.keys
|
||||
val supportedHostsString =
|
||||
if (supportedHosts.size == 1)
|
||||
"a ${supportedHosts.single()} host" else
|
||||
@@ -107,15 +115,11 @@ class KotlinNativeTargetPreset(
|
||||
}
|
||||
}
|
||||
|
||||
internal val Project.hostManager: HostManager
|
||||
get() = HostManager(Distribution(konanHomeOverride = konanHome))
|
||||
|
||||
internal val KonanTarget.isCurrentHost: Boolean
|
||||
get() = this == HostManager.host
|
||||
|
||||
internal val KotlinNativeTarget.enabledOnCurrentHost
|
||||
get() = project.hostManager.isEnabled(konanTarget)
|
||||
internal val KonanTarget.enabledOnCurrentHost
|
||||
get() = HostManager().isEnabled(this)
|
||||
|
||||
internal val KotlinNativeCompilation.isMainCompilation: Boolean
|
||||
get() = name == KotlinCompilation.MAIN_COMPILATION_NAME
|
||||
|
||||
|
||||
+3
-3
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.gradle.logging.kotlinInfo
|
||||
import org.jetbrains.kotlin.konan.KonanVersion
|
||||
import org.jetbrains.kotlin.konan.MetaVersion
|
||||
import org.jetbrains.kotlin.konan.target.HostManager
|
||||
import org.jetbrains.kotlin.konan.util.DependencyProcessor
|
||||
import org.jetbrains.kotlin.konan.util.DependencyDirectories
|
||||
import java.io.File
|
||||
|
||||
class NativeCompilerDownloader(
|
||||
@@ -34,7 +34,7 @@ class NativeCompilerDownloader(
|
||||
}
|
||||
|
||||
val compilerDirectory: File
|
||||
get() = DependencyProcessor.localKonanDir.resolve(dependencyNameWithVersion)
|
||||
get() = DependencyDirectories.localKonanDir.resolve(dependencyNameWithVersion)
|
||||
|
||||
private val logger: Logger
|
||||
get() = project.logger
|
||||
@@ -119,7 +119,7 @@ class NativeCompilerDownloader(
|
||||
logger.lifecycleWithDuration("Unpack Kotlin/Native compiler to $compilerDirectory finished,") {
|
||||
project.copy {
|
||||
it.from(archiveFileTree(archive))
|
||||
it.into(DependencyProcessor.localKonanDir)
|
||||
it.into(DependencyDirectories.localKonanDir)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-2
@@ -15,7 +15,6 @@ import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.addExtension
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.hostManager
|
||||
import org.jetbrains.kotlin.gradle.plugin.whenEvaluated
|
||||
import org.jetbrains.kotlin.gradle.tasks.*
|
||||
import org.jetbrains.kotlin.gradle.utils.asValidTaskName
|
||||
@@ -147,7 +146,7 @@ open class KotlinCocoapodsPlugin: Plugin<Project> {
|
||||
}
|
||||
} else {
|
||||
// A requested target doesn't require building a fat framework.
|
||||
createSyncForRegularFramework(project, kotlinExtension, requestedBuildType, project.hostManager.targetByName(requestedTargetName))
|
||||
createSyncForRegularFramework(project, kotlinExtension, requestedBuildType, HostManager().targetByName(requestedTargetName))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user