Kotlin版本重定向的转义方式不统一
TheFloodDragon opened this issue · comments
在 taboolib-gradle-plugin 中, 对于Kotlin版本的转义是这样的:
def kotlinVersion = KotlinPluginWrapperKt.getKotlinPluginVersion(project).replaceAll("[._-]", "")
替换了 .
_
-
这三个字符,将TabooLib.java#L91中的字符串"kotlin.Lazy"
转义了
但是,当Taboolib在下载Kotlin依赖时,没有替换掉 _
-
字符
rel.add(new Relocation(kt + ".", kt + kv + "."));
rel.add(new Relocation(ktx + ".", ktx + kvx + "."));
那么此时使用 带 _
-
字符的Kotlin版本号 (如 2.0.0-Beta3
)
throw new RuntimeException("Runtime environment setup failed, please feedback! (Kotlin Environment Not Found)");
喜提异常一份,
所以建议统一重定向的转义方式
另外,对于 kotlinx.coroutines
的相关变量名:
/**
* Kotlinx 版本
*/
public static final String KOTLINX_VERSION = VERSION_PROPERTIES.getProperty("!kotlin-coroutines".substring(1), "1.7.3");
public static final String KOTLINX_ID = "!kotlinx.coroutines".substring(1);
会不会显得有点奇怪,因为明明是 Kotlinx-Coroutines
的版本,却写为 Kotlinx版本
kotlinx
包下的库很多,Kotlinx-Serialization
Kotlinx-Datetime
等等
那么这里是不是该做个区分?
不过,既然只有expansion-submit-chain用到了协程,全局使用Kotlin协程的意义是什么?是未来有相关的计划吗?