Always remove extension from script file
Fix for 35631dc2df refactoring.
Extension was actually always removed before refactoring.
This commit is contained in:
@@ -41,7 +41,7 @@ open class KotlinScriptDefinition(val template: KClass<out Any>) {
|
||||
getFileName(file).endsWith(KotlinParserDefinition.STD_SCRIPT_EXT)
|
||||
|
||||
open fun getScriptName(script: KtScript): Name =
|
||||
ScriptNameUtil.fileNameWithExtensionStripped(script, KotlinParserDefinition.STD_SCRIPT_EXT)
|
||||
ScriptNameUtil.fileNameWithExtensionStripped(script)
|
||||
|
||||
open fun <TF: Any> getDependenciesFor(file: TF, project: Project, previousDependencies: KotlinScriptExternalDependencies?): KotlinScriptExternalDependencies? = null
|
||||
}
|
||||
|
||||
+1
-1
@@ -85,7 +85,7 @@ open class KotlinScriptDefinitionFromAnnotatedTemplate(
|
||||
scriptFilePattern.let { Regex(it).matches(getFileName(file)) }
|
||||
|
||||
// TODO: implement other strategy - e.g. try to extract something from match with ScriptFilePattern
|
||||
override fun getScriptName(script: KtScript): Name = ScriptNameUtil.fileNameWithExtensionStripped(script, KotlinParserDefinition.STD_SCRIPT_EXT)
|
||||
override fun getScriptName(script: KtScript): Name = ScriptNameUtil.fileNameWithExtensionStripped(script)
|
||||
|
||||
override fun <TF: Any> getDependenciesFor(file: TF, project: Project, previousDependencies: KotlinScriptExternalDependencies?): KotlinScriptExternalDependencies? {
|
||||
|
||||
|
||||
@@ -18,18 +18,14 @@ package org.jetbrains.kotlin.script
|
||||
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.psi.KtScript
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.lastIndexOfOrNull
|
||||
|
||||
object ScriptNameUtil {
|
||||
fun fileNameWithExtensionStripped(script: KtScript, vararg extensions: String): Name =
|
||||
Name.identifier(generateNameByFileName(script.containingKtFile.name, *extensions))
|
||||
fun fileNameWithExtensionStripped(script: KtScript): Name =
|
||||
Name.identifier(generateNameByFileName(script.containingKtFile.name))
|
||||
|
||||
fun generateNameByFileName(filePath: String, vararg extensions: String): String {
|
||||
fun generateNameByFileName(filePath: String): String {
|
||||
val fileName = filePath.substringAfterLast('/')
|
||||
val nameWithoutExtension = extensions.asSequence()
|
||||
.map { if (it.startsWith('.')) it else ".$it" }
|
||||
.firstOrNull { fileName.endsWith(it) }?.let { fileName.removeSuffix(it) }
|
||||
?: fileName
|
||||
val nameWithoutExtension = fileName.substringBeforeLast('.')
|
||||
return nameWithoutExtension
|
||||
.replace('.', '_')
|
||||
.capitalize()
|
||||
|
||||
+1
-1
@@ -188,7 +188,7 @@ private class ScriptCommandLineState(
|
||||
|
||||
override fun createJavaParameters(): JavaParameters? {
|
||||
val params = commonParameters()
|
||||
|
||||
|
||||
val filePath = configuration.filePath ?: throw CantRunException("Script file was not specified")
|
||||
val scriptVFile = LocalFileSystem.getInstance().findFileByIoFile(File(filePath)) ?:
|
||||
throw CantRunException("Script file was not found in project")
|
||||
|
||||
Reference in New Issue
Block a user