Skip to content

Navigation Menu

Sign inAppearance settings
Appearance settings

Commit 1df0fd9

Browse filesBrowse the repository at this point in the historyBrowse files
CristianGMSpace Team
authored andcommitted
Remove NativeDistributionProperty
1 parent 9402f2a commit 1df0fd9
Copy full SHA for 1df0fd9

12 files changed

+57-111Lines changed: 57 additions & 111 deletions

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/CompareDistributionSignatures.kt‎

Copy file name to clipboardExpand all lines: kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/CompareDistributionSignatures.kt
+15-7Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,20 @@ package org.jetbrains.kotlin
33
import kotlinBuildProperties
44
import org.gradle.api.DefaultTask
55
import org.gradle.api.Project
6+
import org.gradle.api.provider.Provider
7+
import org.gradle.api.file.DirectoryProperty
68
import org.gradle.api.model.ObjectFactory
79
import org.gradle.api.tasks.Input
810
import org.gradle.api.tasks.InputDirectory
11+
import org.gradle.api.tasks.Internal
912
import org.gradle.api.tasks.PathSensitive
1013
import org.gradle.api.tasks.PathSensitivity
1114
import org.gradle.api.tasks.TaskAction
1215
import org.gradle.process.ExecOperations
1316
import org.gradle.work.DisableCachingByDefault
1417
import org.jetbrains.kotlin.nativeDistribution.NativeDistribution
15-
import org.jetbrains.kotlin.nativeDistribution.NativeDistributionProperty
18+
import org.jetbrains.kotlin.nativeDistribution.asNativeDistribution
1619
import org.jetbrains.kotlin.nativeDistribution.nativeDistribution
17-
import org.jetbrains.kotlin.nativeDistribution.nativeDistributionProperty
1820
import java.io.ByteArrayOutputStream
1921
import java.io.File
2022
import java.nio.file.Files
@@ -51,24 +53,30 @@ open class CompareDistributionSignatures @Inject constructor(
5153
private fun register(project: Project, name: String, configure: CompareDistributionSignatures.() -> Unit) {
5254
project.tasks.register(name, CompareDistributionSignatures::class.java) {
5355
val property = project.kotlinBuildProperties.getOrNull("anotherDistro") as String?
54-
oldDistribution.set(project.layout.dir(project.provider {
56+
oldDistributionRoot.set(project.layout.dir(project.provider {
5557
// `property` can only be checked for existence during task execution: during IDE import all tasks are
5658
// created eagerly, so checking it during configuration stage will cause errors.
5759
project.file(property ?: error("'anotherDistro' property must be set in order to execute '$name' task"))
58-
}).map(::NativeDistribution))
59-
newDistribution.set(project.nativeDistribution)
60+
}))
61+
newDistributionRoot.set(project.nativeDistribution.map { it.root })
6062
configure(this)
6163
}
6264
}
6365
}
6466

6567
@get:InputDirectory
6668
@get:PathSensitive(PathSensitivity.NONE)
67-
protected val oldDistribution: NativeDistributionProperty = objectFactory.nativeDistributionProperty()
69+
protected val oldDistributionRoot: DirectoryProperty = objectFactory.directoryProperty()
70+
71+
@Internal
72+
private val oldDistribution: Provider<NativeDistribution> = oldDistributionRoot.asNativeDistribution()
6873

6974
@get:InputDirectory
7075
@get:PathSensitive(PathSensitivity.NONE)
71-
protected val newDistribution: NativeDistributionProperty = objectFactory.nativeDistributionProperty()
76+
protected val newDistributionRoot: DirectoryProperty = objectFactory.directoryProperty()
77+
78+
@Internal
79+
private val newDistribution: Provider<NativeDistribution> = newDistributionRoot.asNativeDistribution()
7280

7381
enum class OnMismatchMode {
7482
FAIL,
Collapse file

‎kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/PlatformManagerProvider.kt‎

Copy file name to clipboardExpand all lines: kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/PlatformManagerProvider.kt
+3-4Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import org.jetbrains.kotlin.konan.target.HostManager
2020
import org.jetbrains.kotlin.konan.target.PlatformManager
2121
import org.jetbrains.kotlin.nativeDistribution.asProperties
2222
import org.jetbrains.kotlin.nativeDistribution.llvmDistributionSource
23-
import org.jetbrains.kotlin.nativeDistribution.nativeDistributionProperty
2423
import org.jetbrains.kotlin.nativeDistribution.nativeProtoDistribution
2524
import javax.inject.Inject
2625

@@ -37,7 +36,7 @@ open class PlatformManagerProvider @Inject constructor(
3736
project: Project,
3837
) {
3938
@get:Internal("only konan.properties and its override matter")
40-
val distribution = objectFactory.nativeDistributionProperty().convention(project.nativeProtoDistribution)
39+
val distributionRoot = objectFactory.directoryProperty().convention(project.nativeProtoDistribution.root)
4140

4241
@get:InputFile
4342
@get:PathSensitive(PathSensitivity.NONE)
@@ -62,9 +61,9 @@ open class PlatformManagerProvider @Inject constructor(
6261
protected val konanDataDir = providerFactory.gradleProperty("konan.data.dir")
6362

6463
@get:Internal("dependencies are: konanProperties and konanDataDir")
65-
val platformManager = distribution.map {
64+
val platformManager = distributionRoot.map {
6665
PlatformManager(Distribution(
67-
konanHome = it.root.asFile.absolutePath,
66+
konanHome = it.asFile.absolutePath,
6867
onlyDefaultProfiles = true,
6968
propertyOverrides = konanPropertiesOverride,
7069
konanDataDir = konanDataDir.orNull,
Collapse file

‎kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/tasks/KonanCacheTask.kt‎

Copy file name to clipboardExpand all lines: kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/tasks/KonanCacheTask.kt
+4-3Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ import org.jetbrains.kotlin.gradle.plugin.konan.prepareAsOutput
2121
import org.jetbrains.kotlin.gradle.plugin.konan.registerIsolatedClassLoadersServiceIfAbsent
2222
import org.jetbrains.kotlin.gradle.plugin.konan.runKonanTool
2323
import org.jetbrains.kotlin.konan.target.PlatformManager
24-
import org.jetbrains.kotlin.nativeDistribution.NativeDistributionProperty
25-
import org.jetbrains.kotlin.nativeDistribution.nativeDistributionProperty
24+
import org.jetbrains.kotlin.nativeDistribution.asNativeDistribution
2625
import javax.inject.Inject
2726

2827
private abstract class KonanCacheAction : WorkAction<KonanCacheAction.Parameters> {
@@ -57,7 +56,9 @@ open class KonanCacheTask @Inject constructor(
5756
val outputDirectory: DirectoryProperty = objectFactory.directoryProperty()
5857

5958
@get:Internal("Depends upon the compiler classpath, native libraries (used by codegen) and konan.properties (compilation flags + dependencies)")
60-
val compilerDistribution: NativeDistributionProperty = objectFactory.nativeDistributionProperty()
59+
val compilerDistributionRoot: DirectoryProperty = objectFactory.directoryProperty()
60+
61+
private val compilerDistribution = compilerDistributionRoot.asNativeDistribution()
6162

6263
@get:Classpath
6364
protected val compilerClasspath = compilerDistribution.map { it.compilerClasspath }
Collapse file

‎kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/tasks/KonanCompileTask.kt‎

Copy file name to clipboardExpand all lines: kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/tasks/KonanCompileTask.kt
+4-3Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@ import org.jetbrains.kotlin.gradle.plugin.konan.KonanCliRunnerIsolatedClassLoade
2323
import org.jetbrains.kotlin.gradle.plugin.konan.prepareAsOutput
2424
import org.jetbrains.kotlin.gradle.plugin.konan.registerIsolatedClassLoadersServiceIfAbsent
2525
import org.jetbrains.kotlin.gradle.plugin.konan.runKonanTool
26-
import org.jetbrains.kotlin.nativeDistribution.NativeDistributionProperty
27-
import org.jetbrains.kotlin.nativeDistribution.nativeDistributionProperty
26+
import org.jetbrains.kotlin.nativeDistribution.asNativeDistribution
2827
import java.io.File
2928
import javax.inject.Inject
3029

@@ -94,7 +93,9 @@ open class KonanCompileTask @Inject constructor(
9493
val extraOpts: ListProperty<String> = objectFactory.listProperty(String::class.java)
9594

9695
@get:Internal("Depends only upon the compiler classpath, because compiles into klib only")
97-
val compilerDistribution: NativeDistributionProperty = objectFactory.nativeDistributionProperty()
96+
val compilerDistributionRoot: DirectoryProperty = objectFactory.directoryProperty()
97+
98+
private val compilerDistribution = compilerDistributionRoot.asNativeDistribution()
9899

99100
@get:Classpath
100101
protected val compilerClasspath = compilerDistribution.map { it.compilerClasspath }
Collapse file

‎kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/tasks/KonanInteropTask.kt‎

Copy file name to clipboardExpand all lines: kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/tasks/KonanInteropTask.kt
+11-10Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@ import org.gradle.workers.WorkerExecutor
2323
import org.jetbrains.kotlin.PlatformInfo
2424
import org.jetbrains.kotlin.gradle.plugin.konan.*
2525
import org.jetbrains.kotlin.konan.target.AbstractToolConfig
26-
import org.jetbrains.kotlin.nativeDistribution.NativeDistributionProperty
27-
import org.jetbrains.kotlin.nativeDistribution.nativeDistributionProperty
26+
import org.jetbrains.kotlin.nativeDistribution.asNativeDistribution
2827
import javax.inject.Inject
2928

3029
private val load0 = Runtime::class.java.getDeclaredMethod("load0", Class::class.java, String::class.java).also {
@@ -34,13 +33,13 @@ private val load0 = Runtime::class.java.getDeclaredMethod("load0", Class::class.
3433
private abstract class KonanInteropInProcessAction @Inject constructor() : WorkAction<KonanInteropInProcessAction.Parameters> {
3534
interface Parameters : WorkParameters {
3635
val isolatedClassLoadersService: Property<KonanCliRunnerIsolatedClassLoadersService>
37-
val compilerDistribution: NativeDistributionProperty
36+
val compilerDistributionRoot: DirectoryProperty
3837
val target: Property<String>
3938
val args: ListProperty<String>
4039
}
4140

4241
override fun execute() {
43-
val dist = parameters.compilerDistribution.get()
42+
val dist = parameters.compilerDistributionRoot.asNativeDistribution().get()
4443
object : AbstractToolConfig(dist.root.asFile.absolutePath, parameters.target.get(), emptyMap()) {
4544
override fun loadLibclang() {
4645
// Load libclang into the system class loader. This is needed to allow developers to make changes
@@ -49,7 +48,7 @@ private abstract class KonanInteropInProcessAction @Inject constructor() : WorkA
4948
load0.invoke(Runtime.getRuntime(), String::class.java, libclang)
5049
}
5150
}.prepare()
52-
parameters.isolatedClassLoadersService.get().getClassLoader(parameters.compilerDistribution.get().compilerClasspath.files).runKonanTool(
51+
parameters.isolatedClassLoadersService.get().getClassLoader(parameters.compilerDistributionRoot.asNativeDistribution().get().compilerClasspath.files).runKonanTool(
5352
toolName = "cinterop",
5453
args = parameters.args.get(),
5554
useArgFile = false,
@@ -62,12 +61,12 @@ private abstract class KonanInteropOutOfProcessAction @Inject constructor(
6261
private val execOperations: ExecOperations,
6362
) : WorkAction<KonanInteropOutOfProcessAction.Parameters> {
6463
interface Parameters : WorkParameters {
65-
val compilerDistribution: NativeDistributionProperty
64+
val compilerDistributionRoot: DirectoryProperty
6665
val args: ListProperty<String>
6766
}
6867

6968
override fun execute() {
70-
val cinterop = parameters.compilerDistribution.get().cinterop
69+
val cinterop = parameters.compilerDistributionRoot.asNativeDistribution().get().cinterop
7170
execOperations.exec {
7271
if (PlatformInfo.isWindows()) {
7372
commandLine("cmd.exe", "/d", "/c", cinterop, *parameters.args.get().toTypedArray())
@@ -105,7 +104,9 @@ open class KonanInteropTask @Inject constructor(
105104
val defFile: RegularFileProperty = objectFactory.fileProperty()
106105

107106
@get:Internal("Depends upon the compiler classpath, native libraries (for StubGenerator) and konan.properties (compilation flags + dependencies)")
108-
val compilerDistribution: NativeDistributionProperty = objectFactory.nativeDistributionProperty()
107+
val compilerDistributionRoot: DirectoryProperty = objectFactory.directoryProperty()
108+
109+
private val compilerDistribution = compilerDistributionRoot.asNativeDistribution()
109110

110111
@get:Classpath
111112
@Suppress("unused")
@@ -160,13 +161,13 @@ open class KonanInteropTask @Inject constructor(
160161
if (allowRunningCInteropInProcess) {
161162
workQueue.submit(KonanInteropInProcessAction::class.java) {
162163
this.isolatedClassLoadersService.set(this@KonanInteropTask.isolatedClassLoadersService)
163-
this.compilerDistribution.set(this@KonanInteropTask.compilerDistribution)
164+
this.compilerDistributionRoot.set(this@KonanInteropTask.compilerDistributionRoot)
164165
this.target.set(this@KonanInteropTask.target)
165166
this.args.addAll(args)
166167
}
167168
} else {
168169
workQueue.submit(KonanInteropOutOfProcessAction::class.java) {
169-
this.compilerDistribution.set(this@KonanInteropTask.compilerDistribution)
170+
this.compilerDistributionRoot.set(this@KonanInteropTask.compilerDistributionRoot)
170171
this.args.addAll(args)
171172
}
172173
}
Collapse file

‎kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/tasks/KonanJvmInteropTask.kt‎

Copy file name to clipboardExpand all lines: kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/tasks/KonanJvmInteropTask.kt
+4-4Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.cpp.CppHeadersSet
3232
import org.jetbrains.kotlin.cpp.cppHeadersSet
3333
import org.jetbrains.kotlin.gradle.plugin.konan.prepareAsOutput
3434
import org.jetbrains.kotlin.konan.target.PlatformManager
35-
import org.jetbrains.kotlin.nativeDistribution.NativeDistributionProperty
35+
import org.jetbrains.kotlin.nativeDistribution.asNativeDistribution
3636
import org.jetbrains.kotlin.platformManagerProvider
3737
import java.io.File
3838
import javax.inject.Inject
@@ -49,7 +49,7 @@ private abstract class KonanJvmInteropAction @Inject constructor(
4949
val defFile: RegularFileProperty
5050
val compilerOpts: ListProperty<String>
5151
val outputDirectory: DirectoryProperty
52-
val distribution: NativeDistributionProperty
52+
val distributionRoot: DirectoryProperty
5353
val propertiesOverride: MapProperty<String, String>
5454
val platformManager: Property<PlatformManager>
5555
}
@@ -62,7 +62,7 @@ private abstract class KonanJvmInteropAction @Inject constructor(
6262
mainClass.set("org.jetbrains.kotlin.native.interop.gen.jvm.MainKt")
6363
jvmArgs("-ea")
6464
systemProperty("java.library.path", parameters.interopStubGeneratorNativeLibraries.files.joinToString(File.pathSeparator) { it.parentFile.absolutePath })
65-
systemProperty("konan.home", parameters.distribution.get().root.asFile.absolutePath)
65+
systemProperty("konan.home", parameters.distributionRoot.asNativeDistribution().get().root.asFile.absolutePath)
6666
environment("LIBCLANG_DISABLE_CRASH_RECOVERY", "1")
6767
environment("PATH", (hostPlatform.clang.clangPaths + environment["PATH"]).joinToString(File.pathSeparator))
6868
args("-generated", outputDirectory.dir("kotlin").asFile.absolutePath)
@@ -145,7 +145,7 @@ open class KonanJvmInteropTask @Inject constructor(
145145
this.compilerOpts.set(this@KonanJvmInteropTask.compilerOpts)
146146
this.compilerOpts.addAll(this@KonanJvmInteropTask.headersDirs.asCompilerArguments)
147147
this.outputDirectory.set(this@KonanJvmInteropTask.outputDirectory)
148-
this.distribution.set(platformManagerProvider.distribution)
148+
this.distributionRoot.set(platformManagerProvider.distributionRoot)
149149
this.propertiesOverride.set(platformManagerProvider.konanPropertiesOverride)
150150
this.platformManager.set(platformManagerProvider.platformManager)
151151
}
Collapse file

‎kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/nativeDistribution/InvalidateStaleCaches.kt‎

Copy file name to clipboardExpand all lines: kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/nativeDistribution/InvalidateStaleCaches.kt
+4-5Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import org.gradle.api.DefaultTask
1010
import org.gradle.api.attributes.Category
1111
import org.gradle.api.attributes.LibraryElements
1212
import org.gradle.api.attributes.Usage
13+
import org.gradle.api.file.DirectoryProperty
1314
import org.gradle.api.model.ObjectFactory
1415
import org.gradle.api.tasks.Classpath
1516
import org.gradle.api.tasks.Input
@@ -50,15 +51,13 @@ open class InvalidateStaleCaches @Inject constructor(
5051
}))
5152
}
5253

53-
// Remove when this is no longer used from build.gradle files.
54-
@get:Internal
55-
val distributionAsDirectory = objectFactory.directoryProperty()
56-
5754
/**
5855
* Distribution in which to clean stale caches
5956
*/
6057
@get:Internal("This task uses only some parts of the Native distribution")
61-
val distribution: NativeDistributionProperty = objectFactory.nativeDistributionProperty().convention(distributionAsDirectory.map { NativeDistribution(it) })
58+
val distributionRoot: DirectoryProperty = objectFactory.directoryProperty()
59+
60+
private val distribution = distributionRoot.asNativeDistribution()
6261

6362
/**
6463
* Path to the data directory with Native dependencies.

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.