套裝 Eclipse 元件

Eclipse 元件是以保存檔來分送的。 每個保存檔都包含一個特性和外掛程式所組成的集合。 這些保存檔通常都會含有特定元件必須提供的所有函數。 一般而言,使用端會需要多個元件,且/或只需要某些元件的若干部分。 在未獲協助的情況下,使用端必須手動提取含有他們所需函數超集的保存檔,且必須手動擷取必要的特性和外掛程式。 這可能是一個費力又容易出錯的程序。

還好,PDE 有套裝程式,它是一個負責提供協助的批次導向的機制。 簡單地說,套裝程式是以包含特性之保存檔的清單和所需特性的清單為輸入。 之後,它會提取各個 ZIP 檔,擷取特性(及其外掛程式),再將它們重新套裝成單一輸出 ZIP。

快速入門

以下是套裝程式的一組入門基本步驟。 建議您在 *nix 機器上建置 *nix 套件,以確保檔案許可權會保留下來。

  1. 建立一個套裝配置目錄,將 org.eclipse.pde.build/templates/packager 中的範本檔(packager.properties、packaging.properties 和 customTargets.xml)複製到這裡。
  2. 編輯複製的 packager.properties 檔,設定下列內容:
  3. 取得套裝程式對映檔。下列內容用來控制下載對映檔:
    套裝程式 Script 會將在 ${downloadDirectory} 中找到的所有 *.map 檔連結起來。 如果要下載多個對映檔,或從 CVS 中提取它們,請編輯 customTargets.xml 檔,變更 getMapFiles 目標。
  4. 利用下列指令來執行套裝程式:
  5. java -jar <eclipse install>/startup.jar -application org.eclipse.ant.core.antRunner 
    -buildfile <<eclipse install>/plugins/org.eclipse.pde.build_<version>/scripts/package.xml>
    -DpackagingInfo=<path to your packaging configuration directory>

套裝程式對映檔格式

套裝程式對映檔用來說明各種保存檔及其內容,以及它們的下載來源。 它們類似於建置程序用來從儲存庫中提取軟體組的對映檔。 套裝程式對映檔項目的格式如下:
archiveName = url | [configList] | [directory] | contentDescription | componentName

請注意,configList 和 directory 是選用的,仍使用適當的數字分隔符號 "|",這一點很重要。
範例:
eclipse-SDK-3.1-win32.zip=http://download.eclipse.org/downloads/drops/R-3.1-200506271435/ | win32,win32,x86 | | sdk | eclipse
eclipse-PDE-3.1.zip=http://download.eclipse.org/downloads/drops/R-3.1-200506271435/ | | | runtime | pde

套裝程式配置內容

您可以在套裝程式配置檔 packager.properties 中設定下列內容:
baseDirectory
在其中進行所有套裝的目錄
workingDirectory
將在其中產生 Script 的目錄。 範本中的值是 ${baseDirectory}/workingPlace
downloadDirectory
保存檔下載到其中的資料夾。 範本中的值是 ${baseDirectory}/toPackage
tempDirectory
保存檔將擷取到其中的資料夾。 範本中的值是 ${baseDirectory}/temp
featurePaths
下載之保存檔的根目錄名稱。 範本中的值是 eclipse
featureList
您要重新套裝之特性 ID 的清單(用逗點分隔)。
componentFilter
可以從其中找到 featureList 中之特性的元件清單(用逗點分隔)。 這會過濾可用的保存檔,可讓套裝程式將所下載的檔案集最佳化。
contentFilter
這是一份要提取之內容類型的清單(用逗點分隔)。 這會過濾可用的保存檔集,可讓套裝程式將所下載的檔案集最佳化。
config
這是要重新套裝的配置清單,用 "&" 分隔各個配置,這些配置是作業系統、視窗系統和架構的三項值,三項值之間用逗點分隔。 (如:win32, win32, x86 & linux, gtk, x86
archivesFormat
保存檔的格式。 這是一份「config - format」的清單(用 "&" 來分隔)。 (如:win32, win32, x86 - antZip & linux, gtk, ppc - tar)。 如果未指定給定配置的保存格式,預設格式便是 antZip。
zipargs
將傳給 zip 的額外引數
unzipargs
將傳給 unzip 的額外引數
archivePrefix
產生之保存檔的字首
collectingFolder
產生的保存檔之根資料夾的名稱。
buildId
控制保存檔預設名稱中的建置 ID。
buildType
建置類型,供建輸出命名使用。 通常是 I、N、M、S、...其中之一
buildLabel
建置的標籤。 範本值是 ${buildType}.${buildId}
archiveNamePrefix
控制產生之保存檔的名稱。  這個的預設值是 ${buildId}
packagingProperties
含有內容套裝根檔案之檔案的相對路徑。 依預設,這會指向 packaging.properties。
deltaPack
是否產生增強套件。這會排除不關聯於特定平台的片段,且會將所有配置分組到單一保存檔中。

套裝根檔案

在套裝程式配置檔 packager.properties 中,packagingProperties 內容指向指定套裝所需根檔案的內容檔。 依預設,這是 packaging.properties 檔。

這個內容檔應該包含指定必要之根檔案的內容。 請參閱特性專屬內容頁面,以取得根內容的詳細資料。