Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Linux Tools Project/Eclipse Build/Inner Workings"

(Fetching Sources)
Line 2: Line 2:
  
 
== Fetching Sources ==
 
== Fetching Sources ==
 +
 +
When an SDK source tarball is not available, sources can be fetched using <code>buildSDKSource.sh</code>. This can be the case for example if a release has not yet been made of the version you wish to build.
 +
 +
To fetch the sources you need the build ID. The build ID is the git (or CVS) tag which is used to create particular version. Form more details about the upstream Eclipse build cycle click here. [http://download.eclipse.org/eclipse/downloads/ Here] you can find recent builds, the build ID's (tags) which were used to create them and and you can inspect the build results.
  
 
== Bootstrapping Eclipse ==
 
== Bootstrapping Eclipse ==

Revision as of 10:22, 25 July 2011

Given an archive with Eclipse SDK sources Eclipse Build will extract the sources and remove all the pre-built OSGI jars, but collects all the OSGI metadata (contained in MANIFEST.MF files). Then Eclipse Build tries use jars provided by the system, verifying that versions match the OSGI information provided in the eclipse sources archive.

Fetching Sources

When an SDK source tarball is not available, sources can be fetched using buildSDKSource.sh. This can be the case for example if a release has not yet been made of the version you wish to build.

To fetch the sources you need the build ID. The build ID is the git (or CVS) tag which is used to create particular version. Form more details about the upstream Eclipse build cycle click here. Here you can find recent builds, the build ID's (tags) which were used to create them and and you can inspect the build results.

Bootstrapping Eclipse

Removing Prebuilt Jars

Searching for System Jars

The following Java files are used to define ant tasks which perform the version verification and symlinking of the system jars

task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkInstalledOSGiJars.java
task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkOSGiJars.java
task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkNonOSGiJars.java

The search path used by the ant tasks above is specified in *.properties files. For example:

org.objectweb.asm_3.3.1.v201101071600.jar=/usr/share/java/objectweb-asm/asm-all.jar:/usr/share/java/asm3-all.jar

means that the MANIFEST.MF files of /usr/share/java/objectweb-asm/asm-all.jar and /usr/share/java/asm3-all.jar will be examined to see if they satisfied the requirement of org.objectweb.asm_3.3.1.v201101071600.jar

Building Eclipse

Packaging Eclipse

Back to the top