Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于依赖加载的几个Bug反馈和优化建议 #252

Open
EikoocS opened this issue May 6, 2022 · 2 comments
Open

关于依赖加载的几个Bug反馈和优化建议 #252

EikoocS opened this issue May 6, 2022 · 2 comments
Labels

Comments

@EikoocS
Copy link

EikoocS commented May 6, 2022

Bug:

  1. 如果动态加载的依赖 依赖于Kotlin 会出现 NoSuchMethodError 异常(Kotlin 重定向导致)
  2. 依赖加载时无法解析 parent 中变量 #251
  3. 依赖加载异常后不会卸载插件,但后续的依赖注入会失效,导致逻辑失效

建议:

  1. 首次启动,下载并加载依赖时输出正在尝试加载的依赖(如果可用的话包含层级关系)如果加载的依赖树很庞大,定位加载失败的依赖很困难,在等待加载时也不知道是哪个在耗时间
  2. 支持处理 RuntimeDependencies 时自动处理 Kotlin 重定向
  3. 支持在元数据中定义全局 RuntimeDependencies 便于统一管理全局依赖
  4. 支持将指定依赖单独打包为libs.jar 构建时指定额外参数输出libs.jar 插件数据目录下存在 libs.jar 时自动加载;如果打包依赖在插件,每次构建时间会额外的长
@Bkm016 Bkm016 added 🔮特性 新的东西 Accepted labels May 6, 2022
@Bkm016
Copy link
Collaborator

Bkm016 commented May 6, 2022

有意义但是也很有难度的建议,会有的。

如果动态加载的依赖 依赖于Kotlin 会出现 NoSuchMethodError 异常(Kotlin 重定向导致)

动态加载的依赖 依赖于Kotlin,需添加 relocate 属性来指向重定向后的 Kotlin 运行库。

依赖加载异常后不会卸载插件,但后续的依赖注入会失效,导致逻辑失效

目前没有有效的多平台实现来卸载插件,以后可能会尝试解决这类问题。

@EikoocS
Copy link
Author

EikoocS commented May 7, 2022

有意义但是也很有难度的建议,会有的。

如果动态加载的依赖 依赖于Kotlin 会出现 NoSuchMethodError 异常(Kotlin 重定向导致)

动态加载的依赖 依赖于Kotlin,需添加 relocate 属性来指向重定向后的 Kotlin 运行库。

依赖加载异常后不会卸载插件,但后续的依赖注入会失效,导致逻辑失效

目前没有有效的多平台实现来卸载插件,以后可能会尝试解决这类问题。

希望能将动态加载时重定向Kotlin运行库作为默认值,或是与gradle设置中是否重定向Kotlin挂钩
因为gradle设置中默认重定向Kotlin,而RuntimeDependency默认没有重定向
RuntimeDependency包含Kotlin时,在默认配置下无法工作

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants