2011-12-13 37 views
2

我想創建一個輕量級的eclipse更新站點,它只會引用遠程更新站點中的功能或插件,以便讓我的團隊擁有一個入口點來安裝和更新所有常見我們用於某些項目的插件。具有遠程功能的本地更新站點

但我沒有找到一種方法來引用這些外部功能/插件。我創建了一些存檔映射到外部更新站點,但它在構建更新站點時會一直下載所有工件。

有沒有一種方法可以阻止我們在本地描述符?

+0

你爲什麼不簡單給他們一個eclipse版本,其中所有的t他插件是預裝的? –

+2

因爲我們希望從更新機制中受益,並且我們還希望允許用戶在其環境中添加一些插件,而無需在每次交付新打包版本時重新安裝插件。 – gizmo

回答

3

您可以這樣做,但您必須通過存檔將插件和功能添加到您的site.xml。此外,重要的是不要更改名稱,並在歸檔路徑中包含功能所需的所有插件。這是一個真實的例子的一個片段:

<feature url="http://borisvl.github.com/Pdf4Eclipse/features/de.vonloesch.pdf4eclipse_1.0.1.jar" id="de.vonloesch.pdf4eclipse" version="1.0.1"> 
    <category name="Pdf4Eclipse"/> 
</feature> 

<archive path="features/de.vonloesch.pdf4eclipse_1.0.1.jar" url="http://borisvl.github.com/Pdf4Eclipse/features/de.vonloesch.pdf4eclipse_1.0.1.jar"/> 
<archive path="plugins/de.vonloesch.pdf4Eclipse_1.0.1.201111161450.jar" url="http://borisvl.github.com/Pdf4Eclipse/plugins/de.vonloesch.pdf4Eclipse_1.0.1.201111161450.jar"/> 
<archive path="plugins/de.vonloesch.pdf4eclipse.help_1.0.0.201111161450.jar" url="http://borisvl.github.com/Pdf4Eclipse/plugins/de.vonloesch.pdf4eclipse.help_1.0.0.201111161450.jar"/> 

正如你可以看到這包括從GitHub的頁面的功能de.vonloesch.pdf4eclipse_1.0.1.jar。此功能包含兩個插件,它也通過<archive ... />.

這種方法的缺點是,你必須包括手動功能的任何更新版本添加,但我不認爲還有另一種可能,包括外國的特徵。

4

如果您提供可指向一個或多個遠程回購站的組合p2回購站,則可以聚合其他遠程更新站點。在您的更新目錄,創建2個文件:

compositeArtifacts.xml

<?xml version='1.0' encoding='UTF-8'?> 
<?compositeArtifactRepository version='1.0.0'?> 
<repository name='Local Artifact Repository Collection' type='org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository' version='1'> 
    <properties size='2'> 
    <property name='p2.timestamp' value='1323486257091'/> 
    <property name='p2.compressed' value='true'/> 
    </properties> 
    <children size='2'> 
    <child location='http://download.eclipse.org/eclipse/updates/3.8-I-builds/'/> 
    <child location='http://download.eclipse.org/e4/updates/0.12-I-builds'/> 
    </children> 
</repository> 

compositeContent.xml

<?xml version='1.0' encoding='UTF-8'?> 
<?compositeMetadataRepository version='1.0.0'?> 
<repository name='Local Content Repository Collection' type='org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository' version='1'> 
    <properties size='2'> 
    <property name='p2.timestamp' value='1323486257489'/> 
    <property name='p2.compressed' value='true'/> 
    </properties> 
    <children size='2'> 
    <child location='http://download.eclipse.org/eclipse/updates/3.8-I-builds/'/> 
    <child location='http://download.eclipse.org/e4/updates/0.12-I-builds'/> 
    </children> 
</repository> 

然後你可以使用您的更新目錄輸入Help>Install New Software

+0

沒有爲我工作。什麼應該是時間戳的價值?我應該改變這個價值嗎? – warunapww

+0

時間戳大多是毫無意義的。什麼部分不起作用?你做了什麼?也許你應該問一個新問題。 –

相關問題