He says make it an extension property.
This commit is contained in:
committed by
alexander-gorshenev
parent
dda43dd4a1
commit
eae130e246
+1
-1
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.native.interop.tool
|
||||
import org.jetbrains.kotlin.konan.file.*
|
||||
import org.jetbrains.kotlin.konan.properties.*
|
||||
import org.jetbrains.kotlin.konan.target.*
|
||||
import org.jetbrains.kotlin.konan.util.DependencyProcessor
|
||||
import org.jetbrains.kotlin.konan.util.*
|
||||
import kotlin.reflect.KFunction
|
||||
|
||||
class ToolConfig(userProvidedTargetName: String?, userProvidedKonanProperties: String?, runnerProvidedKonanHome: String) {
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@ import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||
import org.jetbrains.kotlin.konan.file.File
|
||||
import org.jetbrains.kotlin.konan.target.*
|
||||
import org.jetbrains.kotlin.konan.util.DependencyProcessor
|
||||
import org.jetbrains.kotlin.konan.util.*
|
||||
import org.jetbrains.kotlin.storage.LockBasedStorageManager
|
||||
import org.jetbrains.kotlin.storage.StorageManager
|
||||
|
||||
|
||||
+2
-2
@@ -17,13 +17,13 @@
|
||||
package org.jetbrains.kotlin.backend.konan
|
||||
|
||||
import org.jetbrains.kotlin.backend.konan.util.*
|
||||
import org.jetbrains.kotlin.konan.util.VisibleNamed
|
||||
import org.jetbrains.kotlin.konan.util.*
|
||||
import org.jetbrains.kotlin.konan.target.CompilerOutputKind
|
||||
|
||||
enum class KonanPhase(val description: String,
|
||||
vararg prerequisite: KonanPhase,
|
||||
var enabled: Boolean = true,
|
||||
var verbose: Boolean = false) : VisibleNamed {
|
||||
var verbose: Boolean = false) {
|
||||
/* */ FRONTEND("Frontend builds AST"),
|
||||
/* */ PSI_TO_IR("Psi to IR conversion"),
|
||||
/* */ SERIALIZER("Serialize descriptor tree and inline IR bodies"),
|
||||
|
||||
+1
@@ -18,6 +18,7 @@ package org.jetbrains.kotlin.backend.konan.library
|
||||
|
||||
import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||
import org.jetbrains.kotlin.konan.file.File
|
||||
import org.jetbrains.kotlin.konan.util.visibleName
|
||||
|
||||
// This scheme describes the Konan Library (klib) layout.
|
||||
interface KonanLibraryLayout {
|
||||
|
||||
+3
-2
@@ -17,6 +17,7 @@ import groovy.io.FileType
|
||||
import org.jetbrains.kotlin.konan.target.*
|
||||
import org.jetbrains.kotlin.konan.properties.*
|
||||
import org.jetbrains.kotlin.konan.util.*
|
||||
import static org.jetbrains.kotlin.konan.util.VisibleNamedKt.*
|
||||
|
||||
defaultTasks 'clean', 'dist'
|
||||
|
||||
@@ -65,7 +66,7 @@ allprojects {
|
||||
|
||||
void setupHostAndTarget() {
|
||||
ext.hostName = TargetManager.hostName
|
||||
ext.targetList = TargetManager.enabled*.visibleName as List
|
||||
ext.targetList = TargetManager.enabled.collect { getVisibleName(it) } as List
|
||||
}
|
||||
|
||||
void setupClang(Project project) {
|
||||
@@ -337,7 +338,7 @@ private ArrayList<DefFile> targetDefFiles(String target) {
|
||||
}
|
||||
|
||||
private String targetToPlatform(String target) {
|
||||
new TargetManager(target).target.family.visibleName
|
||||
getVisibleName(new TargetManager(target).target.family)
|
||||
}
|
||||
|
||||
private String targetToOs(String target) {
|
||||
|
||||
@@ -22,6 +22,7 @@ import org.gradle.api.tasks.TaskAction
|
||||
import org.gradle.process.ExecResult
|
||||
import org.jetbrains.kotlin.konan.target.*
|
||||
import org.jetbrains.kotlin.konan.properties.*
|
||||
import static org.jetbrains.kotlin.konan.util.VisibleNamedKt.*
|
||||
|
||||
import java.util.regex.Pattern
|
||||
|
||||
@@ -109,7 +110,7 @@ abstract class KonanTest extends JavaExec {
|
||||
*moreArgs,
|
||||
*project.globalTestArgs]
|
||||
if (project.testTarget) {
|
||||
args "-target", target.visibleName
|
||||
args "-target", getVisibleName(target)
|
||||
}
|
||||
if (enableKonanAssertions) {
|
||||
args "-ea"
|
||||
@@ -447,7 +448,7 @@ class RunDriverKonanTest extends KonanTest {
|
||||
*moreArgs,
|
||||
*project.globalTestArgs]
|
||||
if (project.testTarget) {
|
||||
args "-target", target.visibleName
|
||||
args "-target", getVisibleName(target)
|
||||
}
|
||||
if (enableKonanAssertions) {
|
||||
args "-ea"
|
||||
@@ -469,7 +470,7 @@ class RunInteropKonanTest extends KonanTest {
|
||||
void setInterop(String value) {
|
||||
this.interop = value
|
||||
this.interopConf = project.kotlinNativeInterop[value]
|
||||
this.interopConf.target = target.visibleName
|
||||
this.interopConf.target = getVisibleName(target)
|
||||
this.dependsOn(this.interopConf.genTask)
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,8 @@ import org.gradle.api.tasks.SourceSet
|
||||
import org.gradle.api.tasks.TaskDependency
|
||||
import org.gradle.internal.reflect.Instantiator
|
||||
import org.jetbrains.kotlin.konan.target.*
|
||||
import org.jetbrains.kotlin.konan.util.*
|
||||
import static org.jetbrains.kotlin.konan.util.VisibleNamedKt.*
|
||||
|
||||
class NamedNativeInteropConfig implements Named {
|
||||
|
||||
@@ -146,7 +148,7 @@ class NamedNativeInteropConfig implements Named {
|
||||
}
|
||||
|
||||
File getNativeLibsDir() {
|
||||
def target = new TargetManager(target).target.visibleName
|
||||
def target = getVisibleName(new TargetManager(target).target)
|
||||
return new File(project.buildDir, "nativelibs/$target")
|
||||
}
|
||||
|
||||
|
||||
Vendored
+2
-1
@@ -22,6 +22,7 @@ import groovy.transform.stc.FromString
|
||||
import org.jetbrains.kotlin.konan.target.*
|
||||
import org.jetbrains.kotlin.konan.util.DependencyProcessor
|
||||
import static org.jetbrains.kotlin.konan.target.KonanTarget.*
|
||||
import static org.jetbrains.kotlin.konan.util.VisibleNamedKt.*
|
||||
import org.jetbrains.kotlin.konan.properties.KonanProperties
|
||||
import org.jetbrains.kotlin.konan.properties.*
|
||||
|
||||
@@ -218,7 +219,7 @@ enum DependencyKind {
|
||||
DependencyKind(String name,
|
||||
@ClosureParams(value = FromString.class, options = "KonanProperties") Closure<String> dirGetter,
|
||||
@ClosureParams(value = FromString.class, options = "KonanTarget") Closure<String> propertyNameGetter =
|
||||
{target -> "${target.visibleName}${name.capitalize()}Dir"}) {
|
||||
{target -> "${getVisibleName(target)}${name.capitalize()}Dir"}) {
|
||||
this.name = name
|
||||
this.dirGetter = dirGetter
|
||||
this.propertyNameGetter = propertyNameGetter
|
||||
|
||||
+1
-6
@@ -16,9 +16,4 @@
|
||||
|
||||
package org.jetbrains.kotlin.konan.util
|
||||
|
||||
// This interface is good for Enums to make enum members available to users
|
||||
// as low case words.
|
||||
interface VisibleNamed {
|
||||
val name: String
|
||||
val visibleName get() = name.toLowerCase()
|
||||
}
|
||||
val <T : Enum<T>> T.visibleName get() = name.toLowerCase()
|
||||
@@ -16,9 +16,9 @@
|
||||
|
||||
package org.jetbrains.kotlin.konan.target
|
||||
|
||||
import org.jetbrains.kotlin.konan.util.VisibleNamed
|
||||
import org.jetbrains.kotlin.konan.util.visibleName
|
||||
|
||||
enum class Family(val exeSuffix:String, val dynamicPrefix: String, val dynamicSuffix: String) : VisibleNamed {
|
||||
enum class Family(val exeSuffix:String, val dynamicPrefix: String, val dynamicSuffix: String) {
|
||||
OSX ("kexe", "lib", "dylib"),
|
||||
IOS ("kexe", "lib", "dylib"),
|
||||
LINUX ("kexe", "lib", "so" ),
|
||||
@@ -27,7 +27,7 @@ enum class Family(val exeSuffix:String, val dynamicPrefix: String, val dynamicSu
|
||||
WASM ("wasm", "" , "wasm" )
|
||||
}
|
||||
|
||||
enum class Architecture(val bitness: Int) : VisibleNamed {
|
||||
enum class Architecture(val bitness: Int) {
|
||||
X64(64),
|
||||
ARM64(64),
|
||||
ARM32(32),
|
||||
@@ -36,7 +36,7 @@ enum class Architecture(val bitness: Int) : VisibleNamed {
|
||||
WASM32(32);
|
||||
}
|
||||
|
||||
enum class KonanTarget(val family: Family, val architecture: Architecture, val detailedName: String, var enabled: Boolean = false) : VisibleNamed {
|
||||
enum class KonanTarget(val family: Family, val architecture: Architecture, val detailedName: String, var enabled: Boolean = false) {
|
||||
ANDROID_ARM32( Family.ANDROID, Architecture.ARM32, "android_arm32"),
|
||||
ANDROID_ARM64( Family.ANDROID, Architecture.ARM64, "android_arm64"),
|
||||
IPHONE( Family.IOS, Architecture.ARM64, "ios"),
|
||||
@@ -53,7 +53,7 @@ enum class KonanTarget(val family: Family, val architecture: Architecture, val d
|
||||
fun hostTargetSuffix(host: KonanTarget, target: KonanTarget) =
|
||||
if (target == host) host.detailedName else "${host.detailedName}-${target.detailedName}"
|
||||
|
||||
enum class CompilerOutputKind: VisibleNamed {
|
||||
enum class CompilerOutputKind {
|
||||
PROGRAM {
|
||||
override fun suffix(target: KonanTarget?) = ".${target!!.family.exeSuffix}"
|
||||
},
|
||||
|
||||
+1
@@ -29,6 +29,7 @@ import org.gradle.util.ConfigureUtil
|
||||
import org.jetbrains.kotlin.gradle.plugin.tasks.KonanBuildingTask
|
||||
import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||
import org.jetbrains.kotlin.konan.target.TargetManager
|
||||
import org.jetbrains.kotlin.konan.util.visibleName
|
||||
import java.io.File
|
||||
|
||||
/** Base class for all Kotlin/Native artifacts. */
|
||||
|
||||
+1
@@ -25,6 +25,7 @@ import org.gradle.api.tasks.Internal
|
||||
import org.jetbrains.kotlin.gradle.plugin.tasks.KonanArtifactWithLibrariesTask
|
||||
import org.jetbrains.kotlin.gradle.plugin.tasks.KonanBuildingTask
|
||||
import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||
import org.jetbrains.kotlin.konan.util.visibleName
|
||||
import java.io.File
|
||||
|
||||
open class KonanLibrariesSpec(val task: KonanArtifactWithLibrariesTask, val project: Project) {
|
||||
|
||||
+1
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.gradle.plugin.KonanPlugin.Companion.COMPILE_ALL_TASK
|
||||
import org.jetbrains.kotlin.gradle.plugin.tasks.*
|
||||
import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||
import org.jetbrains.kotlin.konan.target.TargetManager
|
||||
import org.jetbrains.kotlin.konan.util.visibleName
|
||||
import java.io.File
|
||||
import java.util.*
|
||||
import javax.inject.Inject
|
||||
|
||||
+1
@@ -20,6 +20,7 @@ import org.gradle.api.Project
|
||||
import org.gradle.tooling.provider.model.ToolingModelBuilder
|
||||
import org.jetbrains.kotlin.gradle.plugin.model.KonanArtifact
|
||||
import org.jetbrains.kotlin.gradle.plugin.model.KonanModel
|
||||
import org.jetbrains.kotlin.konan.util.visibleName
|
||||
|
||||
object KonanToolingModelBuilder : ToolingModelBuilder {
|
||||
override fun canBuild(modelName: String): Boolean = KonanModel::class.java.name == modelName
|
||||
|
||||
+1
@@ -30,6 +30,7 @@ import org.jetbrains.kotlin.gradle.plugin.KonanArtifactWithLibrariesSpec
|
||||
import org.jetbrains.kotlin.gradle.plugin.KonanLibrariesSpec
|
||||
import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||
import org.jetbrains.kotlin.konan.target.TargetManager
|
||||
import org.jetbrains.kotlin.konan.util.visibleName
|
||||
import java.io.File
|
||||
|
||||
internal val Project.host
|
||||
|
||||
+1
@@ -20,6 +20,7 @@ import org.gradle.api.file.FileCollection
|
||||
import org.gradle.api.tasks.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.*
|
||||
import org.jetbrains.kotlin.konan.target.CompilerOutputKind
|
||||
import org.jetbrains.kotlin.konan.util.visibleName
|
||||
|
||||
enum class Produce(val cliOption: String, val kind: CompilerOutputKind) {
|
||||
PROGRAM("program", CompilerOutputKind.PROGRAM),
|
||||
|
||||
+1
-2
@@ -21,8 +21,7 @@ import org.gradle.api.GradleScriptException
|
||||
import org.gradle.api.tasks.Internal
|
||||
import org.gradle.api.tasks.TaskAction
|
||||
import org.jetbrains.kotlin.gradle.plugin.*
|
||||
import org.jetbrains.kotlin.konan.util.DependencyProcessor
|
||||
import org.jetbrains.kotlin.konan.util.DependencySource
|
||||
import org.jetbrains.kotlin.konan.util.*
|
||||
import java.io.File
|
||||
import java.io.IOException
|
||||
|
||||
|
||||
+1
@@ -24,6 +24,7 @@ import org.gradle.util.ConfigureUtil
|
||||
import org.jetbrains.kotlin.gradle.plugin.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.KonanInteropSpec.IncludeDirectoriesSpec
|
||||
import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||
import org.jetbrains.kotlin.konan.util.visibleName
|
||||
import java.io.File
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ class KonanProject {
|
||||
static String DEFAULT_ARTIFACT_NAME = 'main'
|
||||
static String DEFAULT_INTEROP_NAME = "stdio"
|
||||
|
||||
static String HOST = TargetManager.host.visibleName
|
||||
static String HOST = TargetManager.hostName
|
||||
|
||||
File projectDir
|
||||
Path projectPath
|
||||
|
||||
Reference in New Issue
Block a user