ClearCase包括兩種獨立的建立程序,clearmake和omake。這兩種程序合并了ClearCase的主要建立特點,包括配置lookup,二進制文件共享,和配置記錄。Clearmake程序主要適用于使用UNIX型的makefile包含(gnumake)的用戶。Omake主要適用于那些需要和Windows上的建立程序(包括:Borland Make、Microsoft NAMAKE、Intersolv Configuration Builder、和OpusMake)兼容的用戶。
自動檢測所關聯的原文件,包括所關聯的頭文件
clearmake和omake通過使用當前原文件(向一些被檢入、檢出文件)的配置,可以在視圖中靈活的建立整個或部分軟件系統。Clearmake和omake在makefile時無須描述所關聯的頭文件(或任何所關聯的原文件)。
在ClearCase開發環境中,原始對象扮演著決定性的角色。源對象是由clearmake和omake 建立的文件對象或目錄對象。典型的源對象應該包括由文檔系統產生的對象模塊,可執行程序,庫文檔,規格文檔,內容表。源對象組件包括:作為目標被建立的文件名;獨立的源對象ID;數據容器指針(存儲建立腳本所產生的數據的文件);配置記錄指針(信息清單);和參考計算(指示源對象當前出現的視圖號)。
自動的追蹤建立,產生永久性的資料清單
在執行建立腳本期間,clearmake和omake在ClearCase的多版本文件系統下執行一個建立追蹤。這MVFS記錄了在連接的VOB中每一個被讀或執行的文件的版本;它也可以注釋哪些文件被建立(或被覆蓋)。在執行建立腳本之后,clearmake和omake將追蹤的數據寫入配置記錄中,存儲到VOB數據庫中。VOB數據庫指針將配置記錄分配到每一個建立過程的源對象中。
配置記錄就是源對象信息清單,包含它的內容和建立時的有用信息:
■ 存儲在VOB中,在重建時使用的文件元素的版本――包含ClearCase控制下的源文件和工具(比如:編譯器)。
■ 在建立過程中使用的每一個私人視圖文件。
■ 在makefile過程中使用的非ClearCase文件。
■ 建立腳本的文本及所有的可擴展宏。
■ 操作系統版本和CPU類型。
■ 執行建立過程的用戶;執行建立腳本的主機;由clearmake設置的視圖和建立過程開始的日期和時間。
ClearCase的配置文件可以讓源對象進行比較――不依靠對象數據,而依靠它們的建立配置信息。Diffcr(compare config rec)命令可以輸出不同配置文件間的差異,包括:
■ 源文件的差異,非源文件修改的時間戳。
■ 建立過程中執行腳本的差異,包含makefile中不同的宏值。
■ 那些不影響clearmake或omake建立的非必要差異,包括建立時間/日期,主機名,視圖名。
開發者間共享二進制代碼,時間和存儲空間的存儲
基于makefile一個很重要的方面,避免不必要的建立過程。Clearmake和omake的建立策略是非常優秀的,專為并行開發方案做的特殊設計。 Clearmake和omake可以通過配置文件檢測現場情況,檢測哪些源對象可以在多個視圖中被共享。這個工具還可以進行磁盤存儲和建立時間存儲。Clearmake和omake提供了三種可供選擇的建立方式:
■ 重用視圖中現存的目標――clearmake和omake使用一種技術,它比比較時間戳更熟練。配置信息可進行源版本對照,建立腳本對照,建立選項對照。
■ 執行傳送建立腳本――make、clearmake和omake以同樣的方式執行目標建立。但是clearmake和omake可以對建立過程進行追蹤,并將追蹤信息分配到每一個重建過程相關的文件中。文件和它的配置信息組成了源對象。
■ 從某一視圖中wink-in源對象――clearmake和omake可以了解到早先在其它視圖建立的同一目標的多種實例。在驗證后,正確的源版本,建立選項和建立腳本被用于建立其它的實例,clearmake和omake將對視圖執行一個wink-in操作。一個源對象現在可以被其它視圖所共享。
跨越不同機型進行并行分布式建立
Clearmake支持分布式建立(使用其它主機上的執行腳本)和并行建立(執行一致的建立腳本)。比如:clearmake可以進行三方建立,所有的進程都在一個多處理器的計算機服務器上執行。在局域網中,它可以跨越所有工作站進行分布建立。
Clearmake也支持跨多種開發環境的建立。
自動的跨多種主機(UNIX)的平衡加載,分布建立
clearmake有一個尖端平衡加載技術,可以優化分布式建立的執行。用戶指定功能等于分布式建立服務器的主機,并且設置變量,包括:時間、機器裝載和控制每一臺機器建立的用戶id 。clearmake可以跨越這些主機自動平衡裝載進行分布建立。
文章來源于領測軟件測試網 http://www.kjueaiud.com/