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团队也会修改了代码,或者编译 ...
随机推荐
- 正确处理 CSV 文件的引号和逗号
CSV(Comma-Separated Values,逗号分割值),就是用纯文本的形式存储表格数据,最大的特点就是方便. 作为开发,我们经常面临导数据的问题,特别是后台系统,产品或者运营的同事常常会提 ...
- 服务器衡量标准--RASUM
对于一台服务器来讲,服务器的性能设计目标是如何平衡各部分的性能,使整个系统的性能达到最优.如果一台服务器有每秒处理1000个服务请求的能力,但网卡只能接受200个请求,而硬盘只能负担150个,而各种总 ...
- TypeScript: 类型别名
类型别名 在 TYPESCRIPT 中,类型别名可以使用 TYPE 关键字来定义.类型别名可以方便地定义一个类型,并为其起一个易于理解的名称,以便在其他地方引用该类型时使用. 示例 type MySt ...
- Vue报错Custom elements in iteration require 'v-bind:key' directives."错误解决
错误代码 <swiper> <swiper-item v-for="item in banners"> <a :href="item.lin ...
- .NET下数据库的负载均衡“经典方案”(大项目必备,建议收藏)
[前言] 本文讲述的"数据库负载均衡"方案,为市面上最经典(没有之一),由.NET界骨灰级大佬推出.采用该技术方案的大公司,一年省下了几个亿的支出. [正文] 支持.Net Cor ...
- laravel artisan 常用命令
命令 说明 php artisan key:generate 生成 App Key php artisan make:controller 生成控制器 php artisan make:model 生 ...
- [ABC151E] Max-Min Sums
2023-03-11 题目 题目传送门 翻译 翻译 难度&重要性(1~10):5 题目来源 AtCoder 题目算法 数学 解题思路 对于一个正数 \(x,x\in A\) 一定会有 \(C_ ...
- android webview调用js(vue)问题记录
这几天和别人对接移动端,安卓平台,我们这边输出vue界面,安卓方反馈轮询的时候调用不到,具体原因也定位不到,只能确定前端这边没几句代码,应该没有问题,因此决定自己下载个android studio写个 ...
- MindSpore简要性能分析
技术背景 在之前的一篇博客中,我们介绍过MindInsight的安装与使用.不过在前面的文章中,我们主要介绍的是MindInsight与SummaryCollector的配合使用,更多的是用于对结果进 ...
- 【RocketMQ】顺序消息实现总结
全局有序 在RocketMQ中,如果使消息全局有序,可以为Topic设置一个消息队列,使用一个生产者单线程发送数据,消费者端也使用单线程进行消费,从而保证消息的全局有序,但是这种方式效率低,一般不使用 ...