Renamed userName to visibleName.

This commit is contained in:
Alexander Gorshenev
2017-12-15 18:40:40 +03:00
committed by alexander-gorshenev
parent ff49153e79
commit dda43dd4a1
19 changed files with 41 additions and 41 deletions
@@ -38,7 +38,7 @@ class ToolConfig(userProvidedTargetName: String?, userProvidedKonanProperties: S
val substitutions = mapOf<String, String> ( val substitutions = mapOf<String, String> (
"target" to target.detailedName, "target" to target.detailedName,
"arch" to target.architecture.userName) "arch" to target.architecture.visibleName)
fun downloadDependencies() = targetProperties.downloadDependencies() fun downloadDependencies() = targetProperties.downloadDependencies()
@@ -69,7 +69,7 @@ class KonanConfig(val project: Project, val configuration: CompilerConfiguration
internal val produce get() = configuration.get(KonanConfigKeys.PRODUCE)!! internal val produce get() = configuration.get(KonanConfigKeys.PRODUCE)!!
private val prefix = produce.prefix(target) private val prefix = produce.prefix(target)
private val suffix = produce.suffix(target) private val suffix = produce.suffix(target)
val outputName = configuration.get(KonanConfigKeys.OUTPUT)?.removeSuffixIfPresent(suffix) ?: produce.userName val outputName = configuration.get(KonanConfigKeys.OUTPUT)?.removeSuffixIfPresent(suffix) ?: produce.visibleName
val outputFile = outputName val outputFile = outputName
.prefixBaseNameIfNot(prefix) .prefixBaseNameIfNot(prefix)
.suffixIfNot(suffix) .suffixIfNot(suffix)
@@ -17,13 +17,13 @@
package org.jetbrains.kotlin.backend.konan package org.jetbrains.kotlin.backend.konan
import org.jetbrains.kotlin.backend.konan.util.* import org.jetbrains.kotlin.backend.konan.util.*
import org.jetbrains.kotlin.konan.util.UserNamed import org.jetbrains.kotlin.konan.util.VisibleNamed
import org.jetbrains.kotlin.konan.target.CompilerOutputKind import org.jetbrains.kotlin.konan.target.CompilerOutputKind
enum class KonanPhase(val description: String, enum class KonanPhase(val description: String,
vararg prerequisite: KonanPhase, vararg prerequisite: KonanPhase,
var enabled: Boolean = true, var enabled: Boolean = true,
var verbose: Boolean = false) : UserNamed { var verbose: Boolean = false) : VisibleNamed {
/* */ FRONTEND("Frontend builds AST"), /* */ FRONTEND("Frontend builds AST"),
/* */ PSI_TO_IR("Psi to IR conversion"), /* */ PSI_TO_IR("Psi to IR conversion"),
/* */ SERIALIZER("Serialize descriptor tree and inline IR bodies"), /* */ SERIALIZER("Serialize descriptor tree and inline IR bodies"),
@@ -74,7 +74,7 @@ enum class KonanPhase(val description: String,
} }
object KonanPhases { object KonanPhases {
val phases = KonanPhase.values().associate { it.userName to it } val phases = KonanPhase.values().associate { it.visibleName to it }
fun known(name: String): String { fun known(name: String): String {
if (phases[name] == null) { if (phases[name] == null) {
@@ -32,7 +32,7 @@ interface KonanLibraryLayout {
val targetsDir val targetsDir
get() = File(libDir, "targets") get() = File(libDir, "targets")
val targetDir val targetDir
get() = File(targetsDir, target!!.userName) get() = File(targetsDir, target!!.visibleName)
val kotlinDir val kotlinDir
get() = File(targetDir, "kotlin") get() = File(targetDir, "kotlin")
val nativeDir val nativeDir
+2 -2
View File
@@ -65,7 +65,7 @@ allprojects {
void setupHostAndTarget() { void setupHostAndTarget() {
ext.hostName = TargetManager.hostName ext.hostName = TargetManager.hostName
ext.targetList = TargetManager.enabled*.userName as List ext.targetList = TargetManager.enabled*.visibleName as List
} }
void setupClang(Project project) { void setupClang(Project project) {
@@ -337,7 +337,7 @@ private ArrayList<DefFile> targetDefFiles(String target) {
} }
private String targetToPlatform(String target) { private String targetToPlatform(String target) {
new TargetManager(target).target.family.userName new TargetManager(target).target.family.visibleName
} }
private String targetToOs(String target) { private String targetToOs(String target) {
@@ -109,7 +109,7 @@ abstract class KonanTest extends JavaExec {
*moreArgs, *moreArgs,
*project.globalTestArgs] *project.globalTestArgs]
if (project.testTarget) { if (project.testTarget) {
args "-target", target.userName args "-target", target.visibleName
} }
if (enableKonanAssertions) { if (enableKonanAssertions) {
args "-ea" args "-ea"
@@ -447,7 +447,7 @@ class RunDriverKonanTest extends KonanTest {
*moreArgs, *moreArgs,
*project.globalTestArgs] *project.globalTestArgs]
if (project.testTarget) { if (project.testTarget) {
args "-target", target.userName args "-target", target.visibleName
} }
if (enableKonanAssertions) { if (enableKonanAssertions) {
args "-ea" args "-ea"
@@ -469,7 +469,7 @@ class RunInteropKonanTest extends KonanTest {
void setInterop(String value) { void setInterop(String value) {
this.interop = value this.interop = value
this.interopConf = project.kotlinNativeInterop[value] this.interopConf = project.kotlinNativeInterop[value]
this.interopConf.target = target.userName this.interopConf.target = target.visibleName
this.dependsOn(this.interopConf.genTask) this.dependsOn(this.interopConf.genTask)
} }
@@ -146,7 +146,7 @@ class NamedNativeInteropConfig implements Named {
} }
File getNativeLibsDir() { File getNativeLibsDir() {
def target = new TargetManager(target).target.userName def target = new TargetManager(target).target.visibleName
return new File(project.buildDir, "nativelibs/$target") return new File(project.buildDir, "nativelibs/$target")
} }
+1 -1
View File
@@ -218,7 +218,7 @@ enum DependencyKind {
DependencyKind(String name, DependencyKind(String name,
@ClosureParams(value = FromString.class, options = "KonanProperties") Closure<String> dirGetter, @ClosureParams(value = FromString.class, options = "KonanProperties") Closure<String> dirGetter,
@ClosureParams(value = FromString.class, options = "KonanTarget") Closure<String> propertyNameGetter = @ClosureParams(value = FromString.class, options = "KonanTarget") Closure<String> propertyNameGetter =
{target -> "${target.userName}${name.capitalize()}Dir"}) { {target -> "${target.visibleName}${name.capitalize()}Dir"}) {
this.name = name this.name = name
this.dirGetter = dirGetter this.dirGetter = dirGetter
this.propertyNameGetter = propertyNameGetter this.propertyNameGetter = propertyNameGetter
@@ -16,9 +16,9 @@
package org.jetbrains.kotlin.konan.target package org.jetbrains.kotlin.konan.target
import org.jetbrains.kotlin.konan.util.UserNamed import org.jetbrains.kotlin.konan.util.VisibleNamed
enum class Family(val exeSuffix:String, val dynamicPrefix: String, val dynamicSuffix: String) : UserNamed { enum class Family(val exeSuffix:String, val dynamicPrefix: String, val dynamicSuffix: String) : VisibleNamed {
OSX ("kexe", "lib", "dylib"), OSX ("kexe", "lib", "dylib"),
IOS ("kexe", "lib", "dylib"), IOS ("kexe", "lib", "dylib"),
LINUX ("kexe", "lib", "so" ), LINUX ("kexe", "lib", "so" ),
@@ -27,7 +27,7 @@ enum class Family(val exeSuffix:String, val dynamicPrefix: String, val dynamicSu
WASM ("wasm", "" , "wasm" ) WASM ("wasm", "" , "wasm" )
} }
enum class Architecture(val bitness: Int) : UserNamed { enum class Architecture(val bitness: Int) : VisibleNamed {
X64(64), X64(64),
ARM64(64), ARM64(64),
ARM32(32), ARM32(32),
@@ -36,7 +36,7 @@ enum class Architecture(val bitness: Int) : UserNamed {
WASM32(32); WASM32(32);
} }
enum class KonanTarget(val family: Family, val architecture: Architecture, val detailedName: String, var enabled: Boolean = false) : UserNamed { enum class KonanTarget(val family: Family, val architecture: Architecture, val detailedName: String, var enabled: Boolean = false) : VisibleNamed {
ANDROID_ARM32( Family.ANDROID, Architecture.ARM32, "android_arm32"), ANDROID_ARM32( Family.ANDROID, Architecture.ARM32, "android_arm32"),
ANDROID_ARM64( Family.ANDROID, Architecture.ARM64, "android_arm64"), ANDROID_ARM64( Family.ANDROID, Architecture.ARM64, "android_arm64"),
IPHONE( Family.IOS, Architecture.ARM64, "ios"), 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) = fun hostTargetSuffix(host: KonanTarget, target: KonanTarget) =
if (target == host) host.detailedName else "${host.detailedName}-${target.detailedName}" if (target == host) host.detailedName else "${host.detailedName}-${target.detailedName}"
enum class CompilerOutputKind: UserNamed { enum class CompilerOutputKind: VisibleNamed {
PROGRAM { PROGRAM {
override fun suffix(target: KonanTarget?) = ".${target!!.family.exeSuffix}" override fun suffix(target: KonanTarget?) = ".${target!!.family.exeSuffix}"
}, },
@@ -76,10 +76,10 @@ enum class CompilerOutputKind: UserNamed {
} }
class TargetManager(val userRequest: String? = null) { class TargetManager(val userRequest: String? = null) {
val targets = KonanTarget.values().associate{ it.userName to it } val targets = KonanTarget.values().associate{ it.visibleName to it }
val target = determineCurrent() val target = determineCurrent()
val targetName val targetName
get() = target.userName get() = target.visibleName
fun known(name: String): String { fun known(name: String): String {
@@ -162,7 +162,7 @@ class TargetManager(val userRequest: String? = null) {
val hostSuffix get() = host.detailedName val hostSuffix get() = host.detailedName
@JvmStatic @JvmStatic
val hostName get() = host.userName val hostName get() = host.visibleName
init { init {
when (host) { when (host) {
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.konan.util
// This interface is good for Enums to make enum members available to users // This interface is good for Enums to make enum members available to users
// as low case words. // as low case words.
interface UserNamed { interface VisibleNamed {
val name: String val name: String
val userName get() = name.toLowerCase() val visibleName get() = name.toLowerCase()
} }
@@ -36,7 +36,7 @@ abstract class KonanBuildingConfig<T: KonanBuildingTask>(private val name_: Stri
type: Class<T>, type: Class<T>,
val project: ProjectInternal, val project: ProjectInternal,
instantiator: Instantiator) instantiator: Instantiator)
: KonanBuildingSpec, Named, DefaultNamedDomainObjectSet<T>(type, instantiator, { it.konanTarget.userName }) { : KonanBuildingSpec, Named, DefaultNamedDomainObjectSet<T>(type, instantiator, { it.konanTarget.visibleName }) {
override fun getName() = name_ override fun getName() = name_
@@ -51,7 +51,7 @@ abstract class KonanBuildingConfig<T: KonanBuildingTask>(private val name_: Stri
if (it.enabled) { if (it.enabled) {
super.add(createTask(it)) super.add(createTask(it))
} else { } else {
project.logger.warn("The target is not enabled on the current host: ${it.userName}") project.logger.warn("The target is not enabled on the current host: ${it.visibleName}")
} }
} }
aggregateBuildTask = createAggregateTask() aggregateBuildTask = createAggregateTask()
@@ -59,7 +59,7 @@ abstract class KonanBuildingConfig<T: KonanBuildingTask>(private val name_: Stri
} }
protected open fun generateTaskName(target: KonanTarget) = protected open fun generateTaskName(target: KonanTarget) =
"compileKonan${name.capitalize()}${target.userName.capitalize()}" "compileKonan${name.capitalize()}${target.visibleName.capitalize()}"
protected open fun generateAggregateTaskName() = protected open fun generateAggregateTaskName() =
"compileKonan${name.capitalize()}" "compileKonan${name.capitalize()}"
@@ -85,7 +85,7 @@ abstract class KonanBuildingConfig<T: KonanBuildingTask>(private val name_: Stri
it.init(defaultBaseDir.targetSubdir(target), name, target) it.init(defaultBaseDir.targetSubdir(target), name, target)
it.group = BasePlugin.BUILD_GROUP it.group = BasePlugin.BUILD_GROUP
it.description = generateTaskDescription(it) it.description = generateTaskDescription(it)
} ?: throw Exception("Cannot create task for target: ${target.userName}") } ?: throw Exception("Cannot create task for target: ${target.visibleName}")
protected fun createAggregateTask(): Task = protected fun createAggregateTask(): Task =
project.tasks.create(generateAggregateTaskName()) { task -> project.tasks.create(generateAggregateTaskName()) { task ->
@@ -151,4 +151,4 @@ abstract class KonanBuildingConfig<T: KonanBuildingTask>(private val name_: Stri
target(targetString) { configureAction.execute(this) } target(targetString) { configureAction.execute(this) }
fun target(targetString: String, configureAction: Closure<Unit>) = fun target(targetString: String, configureAction: Closure<Unit>) =
target(targetString, ConfigureUtil.configureUsing(configureAction)) target(targetString, ConfigureUtil.configureUsing(configureAction))
} }
@@ -69,7 +69,7 @@ open class KonanLibrariesSpec(val task: KonanArtifactWithLibrariesTask, val proj
} }
val libraryTask = lib[target] ?: val libraryTask = lib[target] ?:
throw InvalidUserDataException("Library ${lib.name} has no target ${target.userName}") throw InvalidUserDataException("Library ${lib.name} has no target ${target.visibleName}")
if (libraryTask == task) { if (libraryTask == task) {
throw InvalidUserDataException("Attempt to use a library as its own dependency: " + throw InvalidUserDataException("Attempt to use a library as its own dependency: " +
@@ -128,4 +128,4 @@ open class KonanLibrariesSpec(val task: KonanArtifactWithLibrariesTask, val proj
private fun Project.evaluationDependsOn(another: Project) { private fun Project.evaluationDependsOn(another: Project) {
if (this != another) { evaluationDependsOn(another.path) } if (this != another) { evaluationDependsOn(another.path) }
} }
} }
@@ -62,7 +62,7 @@ internal val Project.konanBinBaseDir get() = konanBuildRoot.resolve("bin
internal val Project.konanLibsBaseDir get() = konanBuildRoot.resolve("libs") internal val Project.konanLibsBaseDir get() = konanBuildRoot.resolve("libs")
internal val Project.konanBitcodeBaseDir get() = konanBuildRoot.resolve("bitcode") internal val Project.konanBitcodeBaseDir get() = konanBuildRoot.resolve("bitcode")
internal fun File.targetSubdir(target: KonanTarget) = resolve(target.userName) internal fun File.targetSubdir(target: KonanTarget) = resolve(target.visibleName)
internal val Project.konanDefaultSrcFiles get() = fileTree("${projectDir.canonicalPath}/src/main/kotlin") internal val Project.konanDefaultSrcFiles get() = fileTree("${projectDir.canonicalPath}/src/main/kotlin")
internal fun Project.konanDefaultDefFile(libName: String) internal fun Project.konanDefaultDefFile(libName: String)
@@ -99,7 +99,7 @@ internal val Project.compileAllTask
internal fun Project.targetIsRequested(target: KonanTarget): Boolean { internal fun Project.targetIsRequested(target: KonanTarget): Boolean {
val targets = requestedTargets val targets = requestedTargets
return (targets.isEmpty() || targets.contains(target.userName) || targets.contains("all")) return (targets.isEmpty() || targets.contains(target.visibleName) || targets.contains("all"))
} }
/** Looks for task with given name in the given project. Throws [UnknownTaskException] if there's not such task. */ /** Looks for task with given name in the given project. Throws [UnknownTaskException] if there's not such task. */
@@ -27,7 +27,7 @@ object KonanToolingModelBuilder : ToolingModelBuilder {
override fun buildAll(modelName: String, project: Project): KonanModel { override fun buildAll(modelName: String, project: Project): KonanModel {
val artifacts = project.konanArtifactsContainer.flatten() val artifacts = project.konanArtifactsContainer.flatten()
.toList() .toList()
.map { KonanArtifactImpl("${it.artifact.name}-${it.konanTarget.userName}", it.artifact.canonicalPath) } .map { KonanArtifactImpl("${it.artifact.name}-${it.konanTarget.visibleName}", it.artifact.canonicalPath) }
return KonanModelImpl(project.konanVersion, artifacts) return KonanModelImpl(project.konanVersion, artifacts)
} }
} }
@@ -33,7 +33,7 @@ import org.jetbrains.kotlin.konan.target.TargetManager
import java.io.File import java.io.File
internal val Project.host internal val Project.host
get() = TargetManager.host.userName get() = TargetManager.host.visibleName
internal val Project.simpleOsName internal val Project.simpleOsName
get() = TargetManager.simpleOsName() get() = TargetManager.simpleOsName()
@@ -54,7 +54,7 @@ abstract class KonanTargetableTask: DefaultTask() {
@Internal get() = (konanTarget != TargetManager.host) @Internal get() = (konanTarget != TargetManager.host)
val target: String val target: String
@Internal get() = konanTarget.userName @Internal get() = konanTarget.visibleName
} }
/** A task building an artifact. */ /** A task building an artifact. */
@@ -89,7 +89,7 @@ abstract class KonanCompileTask: KonanBuildingTask(), KonanCompileSpec {
addListArg("-linkerOpts", linkerOpts) addListArg("-linkerOpts", linkerOpts)
addArgIfNotNull("-target", konanTarget.userName) addArgIfNotNull("-target", konanTarget.visibleName)
addArgIfNotNull("-language-version", languageVersion) addArgIfNotNull("-language-version", languageVersion)
addArgIfNotNull("-api-version", apiVersion) addArgIfNotNull("-api-version", apiVersion)
addArgIfNotNull("-entry", entryPoint) addArgIfNotNull("-entry", entryPoint)
@@ -190,4 +190,4 @@ open class KonanCompileLibraryTask: KonanCompileTask() {
open class KonanCompileBitcodeTask: KonanCompileTask() { open class KonanCompileBitcodeTask: KonanCompileTask() {
override val produce: Produce get() = Produce.BITCODE override val produce: Produce get() = Produce.BITCODE
} }
@@ -75,7 +75,7 @@ open class KonanCompilerDownloadTask : DefaultTask() {
if (downloadDependencies) { if (downloadDependencies) {
val runner = KonanCompilerRunner(project) val runner = KonanCompilerRunner(project)
project.konanExtension.konanTargets.forEach { project.konanExtension.konanTargets.forEach {
runner.run("--check_dependencies", "-target", it.userName) runner.run("--check_dependencies", "-target", it.visibleName)
} }
} }
} }
@@ -62,7 +62,7 @@ open class KonanInteropTask: KonanBuildingTask(), KonanInteropSpec {
addArg("-o", artifact.canonicalPath) addArg("-o", artifact.canonicalPath)
addArgIfNotNull("-target", konanTarget.userName) addArgIfNotNull("-target", konanTarget.visibleName)
addArgIfNotNull("-def", defFile.canonicalPath) addArgIfNotNull("-def", defFile.canonicalPath)
addArgIfNotNull("-pkg", packageName) addArgIfNotNull("-pkg", packageName)
@@ -24,7 +24,7 @@ class KonanProject {
static String DEFAULT_ARTIFACT_NAME = 'main' static String DEFAULT_ARTIFACT_NAME = 'main'
static String DEFAULT_INTEROP_NAME = "stdio" static String DEFAULT_INTEROP_NAME = "stdio"
static String HOST = TargetManager.host.userName static String HOST = TargetManager.host.visibleName
File projectDir File projectDir
Path projectPath Path projectPath
@@ -338,4 +338,4 @@ class KonanProject {
return result return result
} }
} }