Search code examples
eclipseeclipse-indigoupdate-site

Local update site with remote features


I would like to create a lightweight eclipse update site that would only reference to feature or plugins in remote update sites, in order to have a single entry point for my team to install and update all the common plugins that we use for some projects.

But I don't find a way to reference these external features/plugins. I've create some archive mapping to the external update sites, but it keeps downloading all the artifacts when building the update site.

Is there a way to prevent that so that we just have the descriptor locally?


Solution

  • You can do that but you have to add the plugins and features via archives to your site.xml. Furthermore, it is important to not change the names and to include all plugins that are needed by a feature in the archive path. Here is a snippet of a real example:

    <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"/>
    

    As you can see this includes the feature de.vonloesch.pdf4eclipse_1.0.1.jar from a github page. This features includes two plugins which were also added via <archive ... />.

    The downside of this approach is that you must include any updated version of the feature by hand, but I do not think there is another possibility to include a foreign feature.