從儲存庫提取
「PDE 建置」所提供的基礎架構提供了在建置程序中,從儲存庫中提取原始碼來建置的步驟。
這有兩個可能性:讓「PDE 建置」自動提取程式檔,或手動提取原始碼。
從 CVS 中自動提取原始碼
在取得必須建置之特性的 ID 之後,建置基礎架構便能夠從 CVS 中提取所有併入的特性和外掛程式。
為了知道要從哪裡取得東西,PDE 會使用對映檔。
對映檔是一個將特性和外掛程式 ID 對映至儲存庫中之位置和標示的 Java 內容檔。
用來從 CVS 中提取之對映檔項目的格式如下:
<elementType>@<elementID> = CVS, <TAG>, <CVSROOT>[,<PASSWORD>[,<PATH>[,<CVSPASSFILE>]]]
其中 elementType 是 bundle、feature、plug-in 或 fragment。
如果未指定路徑,便會改用元素名稱來作為 CVS 模組,例如:
plugin@org.foo.bar=CVS,v20060501,:pserver:anonymous@cvs.example.org:/cvsroot/foo
會從 cvs.eclipse.org/cvsroot/foo/org.foo.bar 中,提取標籤含有 v20060501 標示的 org.foo.bar 外掛程式
設定提取 CVS 程式檔
如果要設定從 CVS 中提取程式檔,您應該執行下列動作:
- 確定系統搜尋路徑中有 cvs.exe。
(請從這裡下載 CVS)。
- 在建置目錄中,建立一個稱為 maps 的資料夾。
- 在 maps 資料夾中,建立一個副檔名是 .map 的檔案。
- 將必須從儲存庫中提取的所有元素填入這個對映檔中。
- 編輯配置資料夾中的 build.properties 檔,將 skipFetch=true 這一行註銷。
如果設定了這個內容,PDE 建置便會跳過整個提取階段。
如果您要忽略對映檔所指定的標示,您可以將 fetchTag 內容設成特定值。
當從 HEAD 而不是從標示版本中執行夜間建置時,這很有用。
從 CVS 中取得對映檔
對映檔通常儲存在儲存庫中。
「PDE 建置」會提供從 CVS 儲存庫中取得這些對映檔的預設基礎架構。
如果要啟用這個功能,請變更您的配置在配置目錄中之 build.properties 的下列內容:
- skipMaps:註銷這個內容。
如果設定了這個內容,PDE 建置便不會提取這個對映檔。
- mapsRepo =
:pserver:anonymous@example.com/path/to/repo。
從中取得對映檔的 CVS 儲存庫。
- mapsRoot =
/path/to/maps。
在 CVS 儲存庫中,通往對映檔所在目錄的路徑。
- mapsCheckoutTag = HEAD。
用來移出對映檔的 CVS 標示。
在建置的「預先建置」階段中,會從 CVS 提取對映檔。
在建置的提取階段中,會產生和執行一些 Script,用來提取併入您在建置之特性的所有特性和外掛程式。
自動從其他儲存庫中提取
「PDE 建置」提供了一個延伸點,供您插入不同儲存庫的提取 Script 產生器。
當您的 Eclipse 安裝包含提供不同儲存庫類型之 Script 產生器延伸規格的軟體組時,您可以在對映檔項目中指定這個儲存檔案來使用它:
<elementType>@<elementID> = <REPOSITORY>, <TAG>, [...]
TAG 之後的對映項目格式會隨著延伸規格而不同。
如果您從儲存庫中自動提取對映檔,您必須將 org.eclipse.pde.build/templates/headless-build 中的 customTarget.xml 檔複製到配置目錄中。
目標 getMapFiles 用來提取對映檔,您應該加以修改,以便從您的儲存庫中提取。
手動取得原始碼
您可以撰寫自訂提取目標來擷取 customTargets.xml 檔中的 preSetup 或 postSetup 目標所能呼叫的外掛程式和特性。
特性和外掛程式應該分別提取到 ${buildDirectory}/features 和 ${buildDirectory}/plugins 中。