1
1
package kotlinx.benchmark.gradle
2
2
3
- import org.gradle.api.*
4
- import org.gradle.api.file.*
3
+ import org.gradle.api.DefaultTask
4
+ import org.gradle.api.file.FileCollection
5
5
import org.gradle.api.tasks.*
6
- import org.gradle.workers.*
7
- import org.jetbrains.kotlin.config.*
8
- import org.jetbrains.kotlin.descriptors.*
9
- import org.jetbrains.kotlin.konan.util.*
10
- import org.jetbrains.kotlin.builtins.*
11
- import org.jetbrains.kotlin.serialization.konan.*
6
+ import org.gradle.workers.IsolationMode
7
+ import org.gradle.workers.WorkerExecutor
8
+ import org.jetbrains.kotlin.builtins.DefaultBuiltIns
9
+ import org.jetbrains.kotlin.config.ApiVersion
10
+ import org.jetbrains.kotlin.config.LanguageVersion
11
+ import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
12
+ import org.jetbrains.kotlin.descriptors.ModuleDescriptor
13
+ import org.jetbrains.kotlin.incremental.components.LookupTracker
14
+ import org.jetbrains.kotlin.konan.library.KLIB_INTEROP_IR_PROVIDER_IDENTIFIER
15
+ import org.jetbrains.kotlin.konan.util.KlibMetadataFactories
16
+ import org.jetbrains.kotlin.library.*
17
+ import org.jetbrains.kotlin.library.impl.createKotlinLibraryComponents
18
+ import org.jetbrains.kotlin.library.metadata.NullFlexibleTypeDeserializer
19
+ import org.jetbrains.kotlin.library.resolver.impl.libraryResolver
12
20
import org.jetbrains.kotlin.storage.LockBasedStorageManager
13
21
import org.jetbrains.kotlin.util.Logger
14
- import org.jetbrains.kotlin.library.*
15
- import org.jetbrains.kotlin.library.impl.*
16
- import org.jetbrains.kotlin.library.resolver.impl.*
17
- import java.io.*
18
- import javax.inject.*
22
+ import java.io.File
23
+ import javax.inject.Inject
19
24
20
25
@Suppress(" UnstableApiUsage" )
21
26
@CacheableTask
@@ -106,19 +111,28 @@ class NativeSourceGeneratorWorker
106
111
val factory = NativeFactories .DefaultDeserializedDescriptorFactory
107
112
108
113
val konanFile = org.jetbrains.kotlin.konan.file.File (lib.canonicalPath)
109
- val library = createKotlinLibrary (konanFile)
114
+ val library = resolveSingleFileKlib (konanFile)
110
115
111
116
val versionSpec = LanguageVersionSettingsImpl (LanguageVersion .LATEST_STABLE , ApiVersion .LATEST_STABLE )
112
117
val storageManager = LockBasedStorageManager (" Inspect" )
113
118
114
- val module = factory.createDescriptorOptionalBuiltIns(library, versionSpec, storageManager, Builtins , null )
119
+ val module = factory.createDescriptorOptionalBuiltIns(
120
+ library,
121
+ versionSpec,
122
+ storageManager,
123
+ Builtins ,
124
+ null ,
125
+ LookupTracker .DO_NOTHING
126
+ )
115
127
116
128
val dependencies = libraryResolver.resolveWithDependencies(library.unresolvedDependencies)
117
129
val dependenciesResolved = NativeFactories .DefaultResolvedDescriptorsFactory .createResolved(
118
130
dependencies,
119
131
storageManager,
120
132
Builtins ,
121
- versionSpec
133
+ versionSpec,
134
+ null ,
135
+ emptyList()
122
136
)
123
137
124
138
val dependenciesDescriptors = dependenciesResolved.resolvedDescriptors
@@ -134,8 +148,12 @@ class NativeSourceGeneratorWorker
134
148
logger : Logger
135
149
) : KotlinLibraryProperResolverWithAttributes<KotlinLibrary>(
136
150
emptyList(), klibFiles, knownAbiVersions, emptyList(),
137
- null , null , false , logger, emptyList( )
151
+ null , null , false , logger, listOf( KLIB_INTEROP_IR_PROVIDER_IDENTIFIER )
138
152
) {
139
- override fun libraryBuilder (file : org.jetbrains.kotlin.konan.file.File , isDefault : Boolean ) = createKotlinLibrary(file, isDefault)
153
+ override fun libraryComponentBuilder (
154
+ file : org.jetbrains.kotlin.konan.file.File ,
155
+ isDefault : Boolean
156
+ ): List <KotlinLibrary > =
157
+ createKotlinLibraryComponents(file, isDefault)
140
158
}
141
159
}
0 commit comments