2010-02-27 79 views
13

我目前在無頭模式下使用PDE構建我的OSGI Bundle項目。 PDE Antrunner任務使用Eclipse安裝,我只是將它指向我的本地Eclipse安裝。Eclipse:無頭PDE構建所需的Eclipse最低安裝量是多少?

不幸的是我的eclipse安裝大概是260MB,但我認爲PDE構建不需要在標準eclipse安裝中的所有插件。

現在有人做什麼是我需要做無頭PDE構建所需的最小插件列表? 我實際上在自定義目標平臺文件夾中存在的所有依賴關係,所以我想我需要從eclipse安裝中唯一需要的是PDE構建實際需要的依賴關係。但那些是什麼? 我可以將安裝縮小到最小程度嗎?

我的目標是將這個「build-eclipse」文件夾簽入到我的項目的SVN中,這樣當您檢查出來時,您可以擁有開始完整構建所需的一切,而無需觸摸任何build.properties。但我不想承諾266MB的eclipse,如果我只需要20MB的。

感謝 克里斯托夫

回答

3

我不能直接回答你的問題,但我可以揮動周圍一點點,其中一些可能會幫助你找到一個真正的答案我的手。

在我的PDE的經驗,我發現它非常有用的區分:

    我使用交互式編輯
  • Eclipse的IDE
  • 「月蝕」安裝我是用無頭PDE構建
  • 「目標平臺」(組插件/功能/等我建立的東西要看的。)

這聽起來像這些都是在你的頭腦清醒,獨立的概念,以及:你有已經隔離了「目標平臺」,並且正在尋找將您的交互式Eclipse與PDE構建器隔離開來。

您可以嘗試在交互式Eclipse中創建一個新的(空白)工作區(只是爲了確保您正在查看它,而不是在目標平臺上),打開「插件」視圖,右鍵單擊看起來很有前途的插件,如org.eclipse.pde.build,並選擇「Open Dependencies」。 「平面佈局」可能是比分層結構更有用的查看結果的方式,但在我的Eclipse中,我似乎無法複製和粘貼此列表。

在我的情況下,這並沒有提到JDT中的任何內容,這讓我覺得實際上嘗試構建基於Java的插件會失敗,但希望這可以提供另一個潛在客戶(例如「無法找到org.eclipse.jdt 「, 或者其他的東西)。

似乎應該使用軟件更新機制,目標平臺或Buckminster來命名一個插件並使所有其他插件落入適當位置。也許你可以使用目標平臺,選擇你需要的插件,點擊按鈕選擇需要的插件,然後以某種方式導出一個「構建」,有效地收集所有這些插件?

我承認我們剛剛在交互式Eclipse中籤入了一段時間,並將其用作我們的PDE構建器。我們不以交互方式使用它,而且我們也保持單獨的目標平臺。我們的PDE生成器顯然不是最小的,但也可能會成爲現實,所以我希望你會用你的發現來更新這個空間。

+0

伍迪嗨,爲感謝您的回答。你對這三個概念是絕對正確的......這正是我所說的。我基本上想要擺脫「交互式Eclipse相關插件」。你的想法聽起來不錯,明天我會試試看。我會在這裏發表我的發現。我想知道我們是否是唯一考慮這個問題的人? 謝謝克里斯託弗 – Christoph 2010-03-04 15:42:31

+0

好的,這裏是我的第一個發現:org.eclipse.pde.build和依賴不足以構建。構建過程在不調試輸出的情況下停止,因此我首先必須找出底層實際發生的情況。你知道任何命令行參數,以便我可以獲得關於構建過程內部的更多調試輸出嗎? (例如。-verbose或其他) 如果我發現缺少什麼,我會嘗試逐步找到所需的插件,並將其發佈到此處。 謝謝 Christoph – Christoph 2010-03-05 13:28:18

+0

Christoph,我不確定。 。 。但是當你運行一個命令行的PDE構建時,你正在啓動一個OSGi運行庫,據我所知它具有類似於Eclipse「Workspace」的地方,它可以緩存依賴信息等等,還有 - 在這裏相關的 - 放置日誌文件。也許你可以找出「工作區」的位置並閱讀其日誌? – 2010-03-05 17:10:32

5

我終於需要今天自己做這件事(地址爲a problem I was having where directories with spaces in their names weren't being included in the bundle PDE Build produced)。我最終得到了一些可以構建我的(基於Java的)插件集合的東西。我不知道它是否「最小化」,但它是專門針對Java PDE Build的,比完整的Eclipse IDE安裝要小得多。

我採取了粗略的筆記;這裏可能會有一些遺漏或者多餘的步驟,但是應該指導它。

我:

  1. 發射了最近的Eclipse IDE(在我的情況下,3.5比如我目前使用)。
  2. 使用了一個臨時工作區,所以對目標平臺的更改不會弄亂我的「真實」項目。
  3. 確保將目標平臺設置爲我想從我的案例中繪製我的PDE構建器插件的位置(就我的運行Eclipse而言)。 (窗口|首選項... |插件開發|目標平臺)
  4. 創建一個新的空項目。
  5. 在該項目中創建新的產品配置(使用「基本設置」)。
  6. 在新產品配置的「概述」頁面中,選中「該產品包括本機啓動神器」
  7. 依存關係,規定了以下插件作爲構成產品:
    • org.eclipse.pde.build
    • org.apache.ant
    • org.eclipse.jdt.core
  8. 經過「包含可選的依賴。 。 。「
  9. 單擊」添加必需的插件「。
  10. 在Package Explorer中右鍵單擊產品定義,然後選擇「導出... | Eclipse產品「。
  11. 告訴我想讓我的PDE構建器實例去。
  12. 未選中「導出前同步」。
  13. 未選中「生成元數據存儲庫」。
  14. 點擊「完成」。

現在我可以(繼續)推出通過調用像下面這樣的宏PDE從我的正常Ant構建構建(有沒有更好的辦法?):

<macrodef name="build-a-product"> 
    <attribute name="config-dir"/> 
    <sequential> 
     <property name="product-build-file" value="${pde-builder-path}\plugins\org.eclipse.pde.build_3.5.2.R35x_20100114\scripts\productBuild\productBuild.xml" /> 
     <java jar="${pde-builder-path}\plugins\org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar" fork="yes" failonerror="yes" > 
      <arg value="-application" /> 
      <arg value="org.eclipse.ant.core.antRunner" /> 

      <arg value="-buildfile" /> 
      <arg value="${product-build-file}" /> 

      <arg value="[email protected]{config-dir}" /> 

      <arg value="-Dbasedir=${basedir}" /> 
     </java> 
    </sequential> 
</macrodef> 
+0

嗨,伍迪,那真是個好消息。我最近沒有足夠的時間繼續深入研究這個問題。但mayby我會找點時間,以便我可以驗證你的發現。您可以減少構建eclipse安裝的實際大小(MB)是多少? – Christoph 2010-05-07 10:10:24

+0

在我的情況下,結果是略低於20 MB。對於它是什麼而言,這似乎仍然很大 - 也許我不應該包含那些可選的依賴關係 - 但這對我很有用。 – 2010-05-07 12:53:25

+0

我今天需要再做一次,以便我可以用Java 8構建。現在我的Eclipse IDE在Mars.1中有以下不同之處:1)步驟7中的「依賴關係」選項卡現在標記爲「內容」。 2)我還添加了(在步驟7中)org.eclipse.equinox.launcher插件,以便我可以調用PDE Build。 3)導出後,我在Ant構建文件中更新了一些特定插件版本的路徑。這似乎是關於它!新的PDE Build導出約爲28 MB(在Windows上)。 – 2017-02-03 20:41:54