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
关于settings.gradle的一些小建议 #8
Comments
我们后续有时间的话尝试下这种方式,或者如果你有精力能够帮我们完善这块优化就更好了。 |
@QuincyJiang 每一个子 project 不跑 configure 也就是 project evaluate,没法知道 每一个 project 的 dependency (依赖了哪些库)。也就是只有跑完 evaluate ,才能得到 dependency 。当然如果能减少每个模块的 configure 时间还可以减少 10% 以上的编译速度。是一个不错的思路。 |
顺便能请教一下,RN混合工程离线都打开了为啥gradle执行的时候还是每次去下载react-native.0.62.pom? |
@Hynsn 依赖的 version 是否使用了 + 号,或者 SNAPSHOT ,或者使用了 resolutionStrategy.cacheChangingModulesFor, |
初次解析settings的时候,可以全部加入subproject里,等project解析完可以知道所有模块的依赖信息的,这个可以缓存起来,在项目依赖结构没有调整的情况下可以一直使用 (占90%以上的case)。 方案理论上可行,但是缓存的维护可能会比较复杂 |
是的,缓存方案是可以解决这个问题,理论上可能会带来一个副作用:模块的索引可能会消失。(譬如类的跳转) 。 当然这个会在下期需求进入研究,确定是否有可行性。 |
可以在settings.gradle中添加两个新的closure 比如
来替代原生的
include
语法。当module已发布为aar或者local maven之后,可以直接将settings.gradle对应的子project从编译路径中删除,这样可以节省子project的gradle evaluate时间
The text was updated successfully, but these errors were encountered: