Chromium gclient使用
gclient 是由 Google 用 Python 开发的一套跨平台的git仓库管理工具,它的作用类似 git 的 submodule,用来将多个git仓库组成一个solution进行管理,比如chromium项目是由80多个独立的git仓库构成的。这样的好处是,一个git仓库可以被多个solution共用,类似CBB的机制,只不过它是直接引用代码仓库,而CBB是引用编译好的程序。
具体来讲,gclient 的核心功能是将solution中由DEPS文件定义的所有git仓库拉取到指定的目录。围绕着这个功能,它添加了一些其它的辅助功能,比如Hooks,include_rules等功能。
1. 关键概念
gclient: 一个跨平台的代码仓库管理工具,用于管理由多个代码仓库组成的项目;repo: 作用同gclient,是gclient的前辈,gclient是更新的工具;roll_deps: 一个gclient 的辅助工具,用于更新DEPS文件中某个项目的代码版本;Gerrit/Rietveld: 一个Code Review系统,可以和git/svn集成;Hooks: gclient中的术语,当gclient拉完代码之后执行的额外脚本;Solution: 一个包含DEPS文件的仓库,DEPS文件中记录了该solution所有依赖的项目;.gclient: 一个由 gclient config 命令创建出来的文件,内部记录了要拉取的solution;DEPS: 一个文件,gclient 用于管理项目依赖的一个文件,记录了项目的依赖关系;CL: Change List ,类似 git 的 diff 和 pack;LKGR: Last Known Good Revision,一个git tag,记录了最新的经过完整测试的版本;managed: gclient 的一种模式,该模式已过时,不推荐使用;该模式用于帮助那些对git不熟悉的开发者更简单的使用gclient;inlcude_rules: 指定当前目录下哪些目录/文件可以被其他代码inlcude,那些不可以被inlcude;specific_include_rules: 作用同include_rules,但是可以使用通配符;
2. gclient 命令解释
gclient config
该命令用来初始化要拉取的solution,它会在命令执行目录下生成 .gclient 文件; .gclient 文件中记录了要拉取的solution的仓库地址,以及拉取后要保存的位置,如下:

gclient sync
该命令用来同步solution。它有很多的参数可选:

3. 其他

4. 使用 gclient 的开发流程

5. 参考资料
https://www.chromium.org/developers/how-tos/depottools/
https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up
Chromium gclient使用的更多相关文章
- Build Instructions (Windows) – The Chromium Projects
转自:http://121.199.54.6/wordpress/?p=1156 原始地址:http://www.chromium.org/developers/how-tos/build-instr ...
- CEF中文教程(google chrome浏览器控件) -- Windows下编译Chromium
CEF中文教程(google chrome浏览器控件) -- CEF简介 2013-04-10 16:48 42928人阅读 评论(4) 收藏 举报 分类: CEF(2) 目录(?)[+] ...
- CEF 各个版本适应的平台参考表
This Wiki page provides information about CEF branches and instructions for downloading, building an ...
- VC2012编译CEF3-转
原文地址:http://blog.csdn.net/tiplip/article/details/42047815 下载 代码下载:http://cefbuilds.com/,CEF 3.2556.1 ...
- PDFium 渲染
PDFium 是 Chromium 的 PDF 渲染引擎,许可协议为 BSD 3-Clause.不同于 Mozilla 基于 HTML5 的 PDF.js,PDFium 是基于 Foxit Softw ...
- windows平台编译CEF支持H264(MP3、MP4)超详细
编译目标(如何确定目标定版本请查看:BranchesAndBuilding) CEF Branch:4664 CEF Commit:fe551e4 Chromium Version:96.0.4664 ...
- 2. chromium开发工具--gclient
1.gclient简介 gclient是谷歌开发的一套跨平台git仓库管理工具,用来将多个git仓库组成一个solution进行管理.总体上,其核心功能是根据一个Solution的DEPS文件所定义的 ...
- chromium的部署工具depot_tools和gclient
depot_tools是个工具包,里面包含gclient.gcl.gn和ninja等工具.其中gclient是代码获取工具,它其实是利用了svn和git.主要涉及的depot_tools文件夹下的文件 ...
- 如何在Windows上从源码编译Chromium (CEF3) 加入mp3支持
一.什么是CEF CEF即Chromium Embeded Framework,由谷歌的开源浏览器项目Chromium扩展而来,可方便地嵌入其它程序中以得到浏览器功能. CEF包括CEF1和CEF3两 ...
- windows下编译chromium浏览器的15个流程整理
编译chromium 系统为windows, 国内在windows上编译chromium的资料比较少, 我这篇文章只能作为参考, 记录我遇到的一些问题,因为chromium团队也会修改了代码,或者编译 ...
随机推荐
- 使用Hexo搭建个人博客网站
参考CSDN上的博客.特此感谢wsmrzx.
- 伸展树(Splay)详解
引入 在一条链中,二叉查找树的时间复杂度就会退化成 \(O(n)\),这时我们就需要平衡树来解决这个问题. \(Splay\)(伸展树)是平衡树的一种,它的每一步插入.查找和删除的平摊时间都是 \(O ...
- MASA Blazor中MSwitch如何实现二次确认
<MSwitch @bind-Value="switch" Readonly OnClick="OnClick"> </MSwitch> ...
- 第十六届全国大学生 信息安全竞赛创新实践能力赛wp
这是我第一次参加ctf,有许多东西都还不会,感觉有一些题挺有趣的,多积累积累经验吧. crypto Sign_in_passwd 下发了一个叫flag的文件,用记事本打开发现是两行加密,第一行看着像b ...
- linux基础:编译
程序编译 在linux中,gnu项目提供了gcc编译器.g++编译器和gdb调试器. C和C++语言正在不断发展,为了保持兼容程序语言的最新特性,开发者通常选择GCC来编译C语言编写的源代码,选择G+ ...
- MySql之锁
MySql之锁 一.全局锁 对整个数据库加锁 应用:数据库所有表备份 二.表级锁 1.表锁 分为两类: 表共享读锁read lock 表独占写锁write lock 2.元数据锁 避免DML语句和DD ...
- 形象谈JVM-第一章-认识JVM
对jvm的历史不做过多介绍,感兴趣的同学可以去自行搜索. 我们直接以HotSpot VM(Virtual Machine)举例. why 为什么要有虚拟机? 举一个形象的例子:手机现在几乎是人手一台 ...
- [PWN之路]堆攻击那些事儿
原文:https://www.freebuf.com/articles/endpoint/371095.html 0x00 前言 根据某大佬所说,pwn之路分为栈,堆,和内核.当前,如果你看到这个文章 ...
- pythonapi接口怎么对接?
Python API接口对接是使用Python语言开发应用程序时,与外部API接口进行交互的一种方式.API(应用程序接口)是一种定义了程序或系统如何与另一个程序或系统进行交互的协议.通过使用Py ...
- 原来你是这样的SpringBoot--初识SpringBootAdmin
简介 Spring Boot Admin(SBA)是一个针对spring-boot的actuator接口进行UI美化封装的监控工具.它可以:在列表中浏览所有被监控spring-boot项目的基本信息, ...