[gradle-plugin] Replace '-' with '_' in framework names

This commit is contained in:
Ilya Matveev
2018-07-20 19:30:29 +07:00
committed by ilmat192
parent 7515a22421
commit ee36dfc4ee
2 changed files with 30 additions and 4 deletions
@@ -2,12 +2,12 @@ package org.jetbrains.kotlin.gradle.plugin.experimental.tasks
import org.gradle.api.DefaultTask
import org.gradle.api.artifacts.Configuration
import org.gradle.api.file.DirectoryProperty
import org.gradle.api.file.FileCollection
import org.gradle.api.file.FileSystemLocation
import org.gradle.api.file.RegularFileProperty
import org.gradle.api.provider.Provider
import org.gradle.api.tasks.*
import org.gradle.api.tasks.Input
import org.gradle.api.tasks.InputFiles
import org.gradle.api.tasks.TaskAction
import org.jetbrains.kotlin.gradle.plugin.KonanCompilerRunner
import org.jetbrains.kotlin.gradle.plugin.KonanPlugin
import org.jetbrains.kotlin.gradle.plugin.addArg
@@ -50,7 +50,13 @@ open class KotlinNativeCompile @Inject constructor(internal val binary: Abstract
val prefix = kind.prefix(konanTarget)
val suffix = kind.suffix(konanTarget)
val baseName = getBaseName().get()
"$root/${binary.names.dirName}/${prefix}${baseName}${suffix}"
var fileName = "${prefix}${baseName}${suffix}"
if (kind == CompilerOutputKind.FRAMEWORK) {
fileName = fileName.replace('-', '_')
}
"$root/${binary.names.dirName}/$fileName"
}
}
@@ -9,8 +9,10 @@ import org.gradle.testkit.runner.TaskOutcome
import org.jetbrains.kotlin.gradle.plugin.experimental.internal.KotlinNativeMainComponent
import org.jetbrains.kotlin.gradle.plugin.experimental.internal.OutputKind
import org.jetbrains.kotlin.gradle.plugin.experimental.plugins.KotlinNativePlugin
import org.jetbrains.kotlin.gradle.plugin.experimental.tasks.KotlinNativeCompile
import org.jetbrains.kotlin.konan.target.HostManager
import org.jetbrains.kotlin.konan.target.KonanTarget
import org.junit.Assume.assumeTrue
import org.junit.Rule
import org.junit.rules.TemporaryFolder
import java.io.File
@@ -464,4 +466,22 @@ class ExperimentalPluginTests {
val result2 = project.createRunner().withArguments("assemble").build()
assertCompileOutcome(result2, compileTasks, TaskOutcome.UP_TO_DATE)
}
@Test
fun `Framework name should not contain "-" symbols`() = withProject("test-framework-project") {
assumeTrue(HostManager.hostIsMac)
components.withType(KotlinNativeMainComponent::class.java)
.getByName("main")
.outputKinds
.set(listOf(OutputKind.FRAMEWORK, OutputKind.KLIBRARY))
evaluate()
val compileTasks = tasks.withType(KotlinNativeCompile::class.java)
val frameworkTask = compileTasks.getByName("compileDebugFrameworkKotlinNative")
val klibraryTask = compileTasks.getByName("compileDebugKlibraryKotlinNative")
assertEquals("test_framework_project", frameworkTask.outputFile.nameWithoutExtension)
assertEquals("test-framework-project", klibraryTask.outputFile.nameWithoutExtension)
}
}