Difference between revisions of "Common Build Infrastructure/Defining Binary Dependencies"

From Eclipsepedia

Jump to: navigation, search
m (Remote Site)
m (Remote Site)
Line 19: Line 19:
  
 
==Remote Site==
 
==Remote Site==
 +
 +
===Eclipse 3.4 (Ganymede) ===
  
 
Provisioning directly from an update site may fail due to socket timeouts; however, this method can work when the network is cooperative.
 
Provisioning directly from an update site may fail due to socket timeouts; however, this method can work when the network is cooperative.
Line 36: Line 38:
 
   http://download.eclipse.org/birt/update-site/2.3/
 
   http://download.eclipse.org/birt/update-site/2.3/
 
  featureIDsToInstall=org.eclipse.emf,org.eclipse.birt,org.eclipse.cdt
 
  featureIDsToInstall=org.eclipse.emf,org.eclipse.birt,org.eclipse.cdt
 +
 +
===Eclipse 3.5 (Galileo) ===
  
 
With Eclipse 3.5, you can do multiple provisioning installs in a single p2 operation. Note the use of "+" to define which feature.groups to install together. You can still use commas to define sequential operations.
 
With Eclipse 3.5, you can do multiple provisioning installs in a single p2 operation. Note the use of "+" to define which feature.groups to install together. You can still use commas to define sequential operations.

Revision as of 20:03, 1 September 2009

There are multiple ways to define your dependencies when doing an Athena build. Below are examples which can be used in your build.properties file.

Note that instead of http:// or ftp:// paths, you can also specify /path/to/some.zip. Once a zip has been fetched from remote, it will be cached in your downloadsDir for reuse - but you need not reference it by a local path since the build system will check the downloadsDir for a matching zip before attempting to re-download it from remote.

By default, downloadsDir will be /tmp/build/downloads/ (c:\tmp\build\downloads\ on Windows); to set a different location, use the downloadsDir property in your build.properties to point to an alternate path.

Contents

SDK or Runtime Zips

By default, everything listed in dependencyURLs will be installed automatically. Should you want to override this behaviour, you can define your own buildExtra.xml or testExtra.xml and inject custom steps for unpacking dependencyURLs. Zips containing "master" or "update" in their name will be treated as update sites; all others will be unpacked into eclipse/dropins/.

# CDT master zip is an update site zip w/ p2 metadata and site.xml
dependencyURLs=\
 http://download.eclipse.org/eclipse/downloads/drops/R-3.4.2-200902111700/eclipse-SDK-3.4.2-linux-gtk-ppc.tar.gz,\
 http://download.eclipse.org/tools/cdt/releases/ganymede/dist/cdt-master-5.0.2.zip,\
 http://download.eclipse.org/birt/downloads/drops/R-R1-2_3_2_1-200904141342/birt-report-framework-2_3_2_1.zip,\
 http://download.eclipse.org/modeling/emf/emf/downloads/drops/2.4.2/R200902171115/emf-runtime-2.4.2.zip

Update Sites

Remote Site

Eclipse 3.4 (Ganymede)

Provisioning directly from an update site may fail due to socket timeouts; however, this method can work when the network is cooperative.

dependencyURLs=\
 http://download.eclipse.org/eclipse/downloads/drops/R-3.4.2-200902111700/eclipse-SDK-3.4.2-linux-gtk.tar.gz
repositoryURLs=http://download.eclipse.org/releases/ganymede/
featureIDsToInstall=org.eclipse.emf,org.eclipse.birt,org.eclipse.cdt

Or, specify multiple update sites:

dependencyURLs=\
 http://download.eclipse.org/eclipse/downloads/drops/R-3.4.2-200902111700/eclipse-SDK-3.4.2-linux-gtk.tar.gz
repositoryURLs=\
 http://download.eclipse.org/tools/cdt/updates/ganymede/,\
 http://download.eclipse.org/modeling/emf/updates/releases/,\
 http://download.eclipse.org/birt/update-site/2.3/
featureIDsToInstall=org.eclipse.emf,org.eclipse.birt,org.eclipse.cdt

Eclipse 3.5 (Galileo)

With Eclipse 3.5, you can do multiple provisioning installs in a single p2 operation. Note the use of "+" to define which feature.groups to install together. You can still use commas to define sequential operations.

dependencyURLs=\
 http://download.eclipse.org/eclipse/downloads/drops/R-3.5-200906111540/eclipse-SDK-3.5-linux-gtk.tar.gz
repositoryURLs=http://download.eclipse.org/releases/galileo
featureIDsToInstall=org.eclipse.emf+org.eclipse.birt+org.eclipse.cdt

You can also install plugins from, for example, an Orbit update site (MUST BE A p2 REPO, not simply a "Classic" update site):

dependencyURLs=\
 http://download.eclipse.org/eclipse/downloads/drops/R-3.5-200906111540/eclipse-SDK-3.5-linux-gtk.tar.gz
repositoryURLs=http://download.eclipse.org/tools/orbit/downloads/drops/R20090825191606/updateSite
pluginIDsToInstall=org.apache.xml.resolver+javax.xml+org.apache.xml.serializer+org.apache.xerces+org.apache.xalan

Remote Zipped Site

As noted above, you can use update site zips as dependencyURLs. However, it's probably better to set them as repositoryURLs since that is what they are. Using the http://www.eclipse.org/downloads/download.php?r=1&file= prefix will fetch the specified zip from the mirror deemed to be closest to your IP address, unpack it, and if necessary, generate p2 metadata from the included site.xml file.

dependencyURLs=\
 http://download.eclipse.org/eclipse/downloads/drops/R-3.4.2-200902111700/eclipse-SDK-3.4.2-linux-gtk.tar.gz
repositoryURLs=\
 http://www.eclipse.org/downloads/download.php?r=1&file=/modeling/emf/emf/downloads/drops/2.4.2/R200902171115/emf-sdo-xsd-Update-2.4.2.zip,\
 http://www.eclipse.org/downloads/download.php?r=1&file=/tools/gef/downloads/drops/3.4.2/R200902171642/GEF-Update-3.4.2.zip
featureIDsToInstall=org.eclipse.emf,org.eclipse.gef

More information