上回已經簡單的在本地構造了乙個android的原始碼庫,這回來看看這個原始碼庫是如何構造出來的。
在執行這個工具的時候,它首先會去檢查當前目錄下的.repo目錄,然後從指令碼內建的(或命令列指定的)乙個位址 git://android.kernel.org/tools/repo.git 去使用git clone乙份最新的repo工具的完整的版本庫放置到 .repo/repo 目錄下,之後checkout出最新的**。這些**就是repo的其它部分的**。這其中的 main.py 就是repo構建工具的主幹入口**。
這裡只是擷取了其中一小部分的片段用來說明問題。
remote節點的fetch屬性描述了遠端的版本庫的基本位址,之後是一系列的project節點。每乙個project節點都有乙個path和name屬性,path是該專案在本地的儲存位址,如bionic則是儲存在本地的 ./repo/projects/bionic 下面,而name屬性是遠端版本庫中的路徑,與remote的fetch的位址結合起來即可得到該項目的版本庫位址,如bionic的版本庫是在 git://android.git.kernel.org/platform/bionic
通過這個清單檔案,repo可以實現整個原始碼庫的隨時更新和同步,這也是基於git的版本控制的特性所帶來的獨特的優勢。
前端構建工具
一 什麼是 自動化 構建工具 構建工具是一種自動化工具。一般專案都有較多的檔案,為開發維護方便拆分單個的模組,在發布的時候,對拆分後的各模組進行合併,壓縮等,構建工具可以幫完成這些重複的工作。二 什麼是包管理工具 可以安裝 解除安裝 更新 檢視 搜尋 發布等功能。類似grunt,gulp構建工具,和...
前端構建工具
devdependencies gulp強調的是前端開發的工作流程,側重於前端開發的整個過程的控制管理 像是流水線 我們可以通過配置一系列的task,定義task處理的事務 例如檔案壓縮合併 雪碧圖 啟動server 版本控制等 然後定義執行順序,來讓gulp執行這些task,從而構建專案的整個前端...
構建工具phing 原創
phing 是乙個基於apache ant 的專案構建系統,phing內建可以執行一系列替換 比如 在你的開發版本和產品版本間改變include路徑 執行sql語句 移動和複製檔案 執行外部指令碼等等 清除快取 pearclear cache 更新pear pearupgrade all 安裝php...