2010-07-06 66 views
6

我目前正試圖讓我的無頭PD構建工作,但我卡在一個點,我不知道如何繼續。 問題是如何定義相關目標平臺來編譯插件。 我有以下調用的build.bat(全部在同一行!):PDE的目標平臺無頭構建不起作用

java -jar D:\target\eclipse\plugins\org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar 
-application org.eclipse.ant.core.antRunner 
-f D:\target\eclipse\plugins\org.eclipse.pde.build_3.5.2.R35x_20100114\scripts\productBuild\productBuild.xml 
-Dbuilder=c:\pde-build\scripts %* 

我試圖創建從不同地區的目標Eclipse平臺:在Eclipse SDK,RCP SDK,三角包,PDE-所有組合中的SDK,但都沒有效果。

我得到了以下錯誤:

BUILD FAILED 
D:\target\eclipse\plugins\org.eclipse.pde.build_3.5.2.R35x_20100114\scripts\productBuild\productBuild.xml:18: Cannot fin 
d ${eclipse.pdebuild.scripts}/build.xml imported from D:\target\eclipse\plugins\org.eclipse.pde.build_3.5.2.R35x_2010011 
4\scripts\productBuild\productBuild.xml 

其中變量$ {} eclipse.pdebuild.scripts沒有得到解決。我也嘗試通過命令行給出這個參數,但後來我得到了另一個關於svn任務失敗的錯誤,這是絕對令人困惑的,因爲這與我引用的本地eclipse安裝一起工作。

當我將d:/ target/eclipse的路徑替換爲本地eclipse安裝時,pde構建按預期工作! 這導致我的目標日食的配置不正確,但我不知道如何配置這一點!

我的目標是在本地站點上首先自動執行pde構建,而無需引用本地eclipse,之後將此構建過程集成到我們正在運行的巡航控件實例中。

正如我看到關於定義目標日食的另一個問題,我會很高興如果任何人都可以提供有關問題的提示或事實。

問候, 安德烈亞斯

+0

有關更多信息,$ {eclipse.pdebuild.scripts}變量由antrunner apllication在Java代碼中設置(位於org.eclipse.pde.internal.build.properties中的org.eclipse.pde.build插件中包) – 2010-07-06 09:57:16

回答

0

經過一番深入調查的時候,我發現了,我做錯了什麼至今。正如我前面提到的那樣,定義目標平臺並不像將SDK和插件複製到一個位置那樣簡單(就像在eclipse開發的早期階段一樣)。

現在的工作解決方案如下:將eclipse SDK複製到目標位置並運行此版本。在這裏安裝必要的PDE-Tools來啓用插件開發。之後,關閉IDE並將delta pack +相應的svn插件(我使用sourceforge中的org.eclipse.pde.build.svn-1.0.1RC2)複製到目標平臺中,然後完成。 現在我的自動PDE構建按預期運行。

現在唯一的小問題是:結果產品包含日食特定的菜單條目,當我在dev-eclipse中運行該菜單條目時,它們不在那裏。

對此有何暗示?

0

我剛剛發佈了一個回答我的問題對這類話題,可能是這可以幫助你:

Plugin product VS Feature product

+0

嗨曼努埃爾,我在這裏寫了一個答案,這導致我工作的解決方案。但我仍在尋找「最佳」目標平臺。不過,我的產品確實包含了所有需要的插件,因此可以運行。我試着用模板+視圖插件,這導致了一個48MB的zip文件;-)。 – Andreas 2010-07-06 09:54:03

5

當執行一個無頭的構建,目標可以是在Eclipse分開實際上運行構建本身。您在這裏遇到的問題是,您用於運行構建的eclipse沒有正確安裝PDE/Build。

這就是爲什麼${eclipse.pdebuild.scripts}未設置,因爲PDE/Build未安裝到該eclipse實例org.eclipse.pde中。構建包未解決,設置此屬性的代碼從未被調用過。同樣,PDE/Build任務所需的ant類路徑條目也不會被正確設置。

您需要安裝PDE的Eclipse才能運行構建,但構建的目標可以與此分開。

在根據-Dbuilder=c:\pde-build\scripts你可以設置幾個properties發現build.properties文件:

  1. baseLocation這是一個Eclipse是你的目標的路徑。
  2. buildDirectory這是構建實際發生的地方,源被提取到插件/和特性/子文件夾,但是如果這裏已經有二進制插件,那麼這些插件也會成爲目標的一部分。
  3. pluginPath這是一個路徑列表(在Windows上以';'分隔,或在linux上以':'分隔)包含應該被視爲目標的一部分的其他位置。這些位置可能有以下幾種情況:
    1. 類似eclipse的安裝包含插件/和功能/子文件夾的根目錄。這是提供增量包的一種好方法,而不是僅僅在eclipse安裝上解壓它。
    2. 類似工作區的文件夾的根目錄,其中根據清單或feature.xml的存在情況將所有子文件夾視爲插件或功能。
    3. 捆綁包或功能的根,或捆綁包的jar。
  4. 如果你正在做一個P2構建(p2.gathering = true)您也可以提供下一個${repoBaseLocation} P2存儲庫將${transformedRepoLocation}下轉化和放置,將成爲你的目標的一部分,和p 2元中會有獲得reused構建。
+0

嗨安德魯, thx爲偉大的解釋。我認爲這對我來說更加清晰了!希望別人也;-) – Andreas 2010-07-07 12:35:37