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

有考虑过缩减代码库的体积吗? #21

Closed
lc-soft opened this issue Sep 16, 2016 · 7 comments
Closed

有考虑过缩减代码库的体积吗? #21

lc-soft opened this issue Sep 16, 2016 · 7 comments

Comments

@lc-soft
Copy link
Contributor

lc-soft commented Sep 16, 2016

仓库大约有六七十兆,git clone 都要等很久才能下载完成,如果把 xmake 的下载操作集成在项目构建脚本(如:autogen.sh、build.sh)中的话,估计花在等待 xmake 下载的时间比编译生成整个项目的时间要长,影响别人的使用体验。

粗略的看了下各个目录,主要是下面这个几个目录的占用空间比较多:

core/pkg
core/tool
xmake/packages

这些目录大都是存放已编译好的库和可执行文件,有打算把它们从代码库中抽离出去吗?

比如 core/tool 下的 7zip 的程序,不知道 xmake 是不是要用 7z 压缩格式,如果只是用 zip、gz 之类的压缩文件格式的话,可以考虑用现成的 unzip、tar 命令完成。

@waruqi
Copy link
Member

waruqi commented Sep 16, 2016

你好,这个确实是一个问题,之后有时间我抽空优化下。。

其中 xmake/packages目前只是临时方案,之后等把自动包依赖管理和下载搞定后,这个目录就可以移除了。。

core/tool主要用于windows下的编译安装,之前也是为了考虑大小问题,用7z进行了压缩,之后windows下可以改成vsproject,来进行编译,不依赖core/tool中的msys工具链,就会小很多。。

谢谢。

@lc-soft
Copy link
Contributor Author

lc-soft commented Sep 16, 2016

@waruqi 貌似移除 xmake/packages 后, git 仓库的版本历史依然会保留这些文件,仓库体积不会缩减。。。

@lc-soft
Copy link
Contributor Author

lc-soft commented Sep 16, 2016

关于 windows 下的编译安装,可以在脚本里做一下判断,如果当前系统为 windows 时自动下载 core/tool 这些东西,这样对于 linux 用户而言就不用花时间下载这些用不到的文件了。

@waruqi
Copy link
Member

waruqi commented Sep 16, 2016

到时候我改成 vsproject后,core/tool 我会整个删了的。。不需要在下载的时候判断。。

等删掉这些目录后,可以通过git gc压缩下历史信息,来减少大小,而且下载安装,并不需要下载整个xmake的git库,只需要:

$ git clone repo --detph 1 

只下载当前的最近commit版本,不下载历史版本就行了。。

@lc-soft
Copy link
Contributor Author

lc-soft commented Sep 16, 2016

@waruqi OK。

@lc-soft lc-soft closed this as completed Sep 16, 2016
@waruqi
Copy link
Member

waruqi commented Sep 17, 2016

dev分支 我已经对xmake的源码和git库大小进行了裁剪优化。

  • 在windows上,使用xmake进行自举构建,移除整个core/tool目录
  • 移除xmake/packages目录,这个只有模板有用,现在暂时不内置进去,新建模板的时候,先手动放置,以后再做成自动包依赖下载和编译。

现在从github上直接下载整个xmake-dev.zip的压缩包,只需要3.2M,而git clone repo --depth 1需要下载15M。。

建议在脚本中通过直接下载zip的源码包进行安装,3.2M 下载应该很快的。。

如果想要进一步提升下载速度,可以从coding/osc的镜像git库中进行下载,这两个跟github都是同步更新的,下载很快。。

我这里测试从coding下载整个zip源码包,不到10s左右。。

目前还没有merge到master,等之后测试稳定后,我会merge过去,你可以先用dev的测试下。。

谢谢!

@lc-soft
Copy link
Contributor Author

lc-soft commented Sep 17, 2016

@waruqi 好的。

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

No branches or pull requests

2 participants