adb_kit icon indicating copy to clipboard operation
adb_kit copied to clipboard

居然是部分开源,能否说明一下闭源了哪些?

Open AoEiuV020 opened this issue 2 years ago • 3 comments

另外别人运行需要手动删除闭源部分这也太,让人很难参与开发, 感觉这app做的挺好的而且flutter跨平台范围内没有竞品,但是一个pr没有,部分开源太伤了,

AoEiuV020 avatar Nov 22 '23 10:11 AoEiuV020

是否有办法让这些模块既不开源,也不影响编译运行?

AoEiuV020 avatar Nov 22 '23 10:11 AoEiuV020

总算跑起来了,不容易啊, https://github.com/AoEiuV020/adb_kit/commit/7d3b9a39f1482f6f7a71be9da18d0ef916b3fc8c 除了注释里写了的闭源库要删除, 还有作者的global_repository和signale有问题, signale的main分支添加了新api被global_repository使用,但没有更新版本,需要手动修改signale依赖, 另外还有外部的fwfh_text_style过时了无法在新flutter运行,需要升级,

AoEiuV020 avatar Nov 23 '23 03:11 AoEiuV020

1.可以再拉一下adbkit的dev分支,最近有些适配flutter新版的改动,注意分支,互联网下半年超级忙,我也想提供更详细的说明,精力... 2.pub get失败的库都是不开源的部分,那些库都是本地路径依赖的,去掉很快的 3.关于能否实现部分库不开源且不影响编译:这个不太好做,也没精力投入去解决这个问题 4.关于没有pr,这个项目至今都没时间去做一个社区分享啥的,很正常,另外,我一个人不仅需要开发adb kit,还有相关子库,还有速享,Uncon,Code Fa等众多的项目,精力如此,见谅

Laurie-Lin avatar Nov 23 '23 07:11 Laurie-Lin

可以用 pubspec_overrides.yaml 实现部分开源, 具体来说, 在 pubspec.yaml 同级目录添加 文件 pubspec_overrides.yaml , 将 pubspec_overrides.yaml 添加到 .gitignore不需要上传github, pubspec_overrides.yaml 里面的配置会追加到pubspec.yaml生效,

dependency_overrides:
  termux_api_plugin:
    path: ../termux_api_plugin
  adb_kit_extension:
    path: ../adb_kit_extension
  global_repository:
    path: ../../nightmare-space/global_repository

然后闭源的部分模块在 pubspec.yaml 里只放个开源的空的实现,库还是要声明的, 调用的地方就可以区别处理了,

或者直接用melos管理pubspec_overrides.yaml,melos可以实现一个项目内的多个库互相依赖不使用pub.dev上的库, 同时pubspec.yaml的配置保持普通依赖pub.dev的形式, 这样就只要把闭源库整个ignore掉就会在本地使用闭源库别人使用开源库, 另外同样可以用melos_overrides.yaml修改melos的配置比如指定添加项目外的库,

AoEiuV020 avatar May 29 '24 04:05 AoEiuV020

不错的建议,正好我最近已经离开互联网,如果可行,我将立即尝试并推送新的代码到main分支

Laurie-Lin avatar May 29 '24 09:05 Laurie-Lin

已经按照这个方式,将代码提交到了dev~

Laurie-Lin avatar May 29 '24 14:05 Laurie-Lin