Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Common Build Infrastructure/Defining Binary Dependencies"
(→SDK or Runtime Zips) |
|||
Line 1: | Line 1: | ||
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. | 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 <code>downloadsDir</code> for reuse. By default, this will be <code>/tmp/build/downloads/</code>. | |
+ | |||
+ | =SDK or Runtime Zips= | ||
By default, everything listed in <code>dependencyURLs</code> will be installed automatically. Should you want to override this behaviour, you can define your own [http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/releng/trunk/org.eclipse.linuxtools.releng/buildExtra.xml buildExtra.xml] or [http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/releng/trunk/org.eclipse.linuxtools.releng/testExtra.xml 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 <code>eclipse/dropins/</code>. | By default, everything listed in <code>dependencyURLs</code> will be installed automatically. Should you want to override this behaviour, you can define your own [http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/releng/trunk/org.eclipse.linuxtools.releng/buildExtra.xml buildExtra.xml] or [http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/releng/trunk/org.eclipse.linuxtools.releng/testExtra.xml 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 <code>eclipse/dropins/</code>. | ||
+ | # CDT master zip is an update site zip w/ p2 metadata and site.xml | ||
dependencyURLs=\ | 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/eclipse/downloads/drops/R-3.4.2-200902111700/eclipse-SDK-3.4.2-linux-gtk-ppc.tar.gz,\ | ||
Line 11: | Line 14: | ||
http://download.eclipse.org/modeling/emf/emf/downloads/drops/2.4.2/R200902171115/emf-runtime-2.4.2.zip | http://download.eclipse.org/modeling/emf/emf/downloads/drops/2.4.2/R200902171115/emf-runtime-2.4.2.zip | ||
− | + | =Update Sites= | |
− | + | ==Remote Site== | |
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 39: | Line 42: | ||
featureIDsToInstall=org.eclipse.emf+org.eclipse.birt+org.eclipse.cdt | featureIDsToInstall=org.eclipse.emf+org.eclipse.birt+org.eclipse.cdt | ||
− | + | ==Remote Zipped Site== | |
As noted above, you can use update site zips as <code>dependencyURLs</code>. However, it's probably better to set them as <code>repositoryURLs</code> since that is what they are. Using the <code>http://www.eclipse.org/downloads/download.php?r=1&file=</code> 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. | As noted above, you can use update site zips as <code>dependencyURLs</code>. However, it's probably better to set them as <code>repositoryURLs</code> since that is what they are. Using the <code>http://www.eclipse.org/downloads/download.php?r=1&file=</code> 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. | ||
Line 50: | Line 53: | ||
featureIDsToInstall=org.eclipse.emf,org.eclipse.gef | featureIDsToInstall=org.eclipse.emf,org.eclipse.gef | ||
− | + | = More information = | |
* See also {{bug|273518}}. | * See also {{bug|273518}}. | ||
+ | |||
+ | [[Category:Athena Common Build]] | ||
+ | [[Category:Releng]] |
Revision as of 11:45, 25 May 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. By default, this will be /tmp/build/downloads/
.
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
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
With Eclipse 3.5M7+, 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/S-3.5M7-200904302300/eclipse-SDK-3.5M7-linux-gtk.tar.gz repositoryURLs=http://download.eclipse.org/releases/galileo featureIDsToInstall=org.eclipse.emf+org.eclipse.birt+org.eclipse.cdt
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
- See also bug 273518.