2011-12-13 57 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

时间戳大多是毫无意义的。什么部分不起作用?你做了什么?也许你应该问一个新问题。 –

相关问题