Skip to main content

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.

Jump to: navigation, search

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

(How to build Eclipse SDK from checked out eclipse-build trunk)
(To-do list: Eclipse build is harness for Platform.releng.aggregator and no longer developed anymore.)
 
(34 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{#eclipseproject:technology.linux-distros}}
+
{{#eclipseproject:tools.linuxtools}}
 +
{{Linux_Tools}}
  
Eclipse-build aims to ease the building of the Eclipse SDK for Linux distributions.  
+
Eclipse-build aims to ease the building of the Eclipse SDK for Linux distributions.
  
== Prerequisites for building with eclipse-build ==
+
== Eclipse Build: Why And How ==
* A 1.6 JDK installed in a standard place (see build.properties)
+
 
* Ensure JAVA_HOME is set (e.g., export JAVA_HOME=/usr/lib/jvm/java)
+
When building, Eclipse normally satisfies its third party requirements by using libraries provided in [http://www.eclipse.org/orbit/ Orbit]. Orbit provides pre-built libraries which have been made into [http://www.osgi.org/About/HomePage OSGi] bundles with proper versioning, etc.
* Ant version 1.7.1 or newer
+
 
* bash, sh, perl, sed, below requirements for particular distro
+
The problem for some Linux distributions is that they cannot use the pre-built binaries provided by Orbit. Eclipse must be built using the binaries provided in that distribution.
* icu4j; jsch; java.servlet 2.5; javax.servlet.jsp 2.0; Apache Commons:  codec, EL, httpclient, logging; jasper; lucene; hamcrest; jetty; ASM; SAT4J
+
 
* At least 3 GB of storage available
+
For more information about how Eclipse Build works please refer to the [http://wiki.eclipse.org/Linux_Tools_Project/Eclipse_Build/Inner_Workings Eclipse Build Inner Workings Page]
* Xvnc (Fedora:  tigervnc-server package) if you want the tests to run and not touch your main display
+
  
 
== How To build Eclipse SDK with eclipse-build released tarballs ==
 
== How To build Eclipse SDK with eclipse-build released tarballs ==
  
 
* Download and extract the [http://download.eclipse.org/technology/linuxtools/eclipse-build/ latest eclipse-build*.tar.gz] (pick the appropriate directory for the release you want)
 
* Download and extract the [http://download.eclipse.org/technology/linuxtools/eclipse-build/ latest eclipse-build*.tar.gz] (pick the appropriate directory for the release you want)
* Download the SDK and SDK tests source tarballs from the same directory and put them in the eclipse-build* directory.  '''NOTE''': eclipse-build provides source tarballs created from the ''same tag'' as the official releases but with additional sources needed for the build.
+
* Download tarballs of the [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/3.6.x_Helios/eclipse-3.6.2-src.tar.bz2 SDK sources] (and optionally the [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/3.6.x_Helios/eclipse-sdktests-3.6.2-src.tar.bz2 SDK test sources] and [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/3.6.x_Helios/eclipse-sdktests-3.6.2-scripts.tar.bz2 SDK test scripts]) from the [http://download.eclipse.org/technology/linuxtools/eclipse-build/ eclipse-build downloads area] and put them in the eclipse-build* directory.  '''NOTE''': eclipse-build provides source tarballs created from the ''same tag'' as the official releases but with additional sources needed for the build.
 +
** 3.7.1 tarball is [http://www.eclipse.org/downloads/download.php?file=/technology/linuxtools/eclipse-build/3.7.x_Indigo/eclipse-3.7.1-src.tar.bz2&url=http://ftp.man.poznan.pl/eclipse/technology/linuxtools/eclipse-build/3.7.x_Indigo/eclipse-3.7.1-src.tar.bz2&mirror_id=488 here]
 
* Run <tt>ant</tt> (you will likely need to ensure that JAVA_HOME points to your JDK installation directory)
 
* Run <tt>ant</tt> (you will likely need to ensure that JAVA_HOME points to your JDK installation directory)
  
Line 21: Line 22:
  
 
Optional:  <tt>ant runTests</tt>.  Look for test results (a few hours running time) in <tt>tests_<timestamp>/results/html/org.eclipse.sdk.tests.html</tt>.
 
Optional:  <tt>ant runTests</tt>.  Look for test results (a few hours running time) in <tt>tests_<timestamp>/results/html/org.eclipse.sdk.tests.html</tt>.
 
== How to build Eclipse SDK from checked out eclipse-build trunk ==
 
* The following SVN commands can easily be replaced with checking things out in Eclipse (say, with [http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/releng/trunk/org.eclipse.linuxtools.releng/psfs/eclipse-build.psf this handy PSF] ([http://wiki.eclipse.org/PSF help on PSFs])).  The command-line actions afterwards can be executed from a terminal.  It is preferred that patches are generated from within Eclipse.  All patches must be submitted via [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Linux%20Tools&component=PackagingTools http://bugs.eclipse.org eclipse.org bugzila]
 
* <tt>svn co http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/eclipse-build/trunk/eclipse-build</tt>
 
* <tt>svn co http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/eclipse-build/trunk/eclipse-build-config</tt>
 
* <tt>svn co http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/eclipse-build/trunk/eclipse-build-feature</tt>
 
* <tt>cd eclipse-build</tt>
 
* <tt>ln -s ../eclipse-build-config</tt>
 
* <tt>ln -s ../eclipse-build-feature</tt>
 
* Download SDK sources as above and put them in the eclipse-build directory
 
* Optional:  download the test sources and test scripts as above and put them in the eclipse-build directory.
 
* Run <tt>ant</tt>
 
* Check for successful build in <tt>build/eclipse-$YOUR_BUILD_ID-src/installation</tt>
 
* Optional:  <tt>ant runTests</tt>.  Look for test results (a few hours running time) in <tt>testResults-${timestamp}/html/org.eclipse.sdk.tests.html</tt>.
 
  
 
== Submitting patches ==
 
== Submitting patches ==
* Check out from SVN ([http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/releng/trunk/org.eclipse.linuxtools.releng/psfs/eclipse-build.psf PSF] ([http://wiki.eclipse.org/PSF help on PSFs]), [http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/eclipse-build/trunk/ location])
+
* Clone our git repository:  [http://git.eclipse.org/c/linuxtools/org.eclipse.linuxtools.eclipse-build.git/ http://git.eclipse.org/c/linuxtools/org.eclipse.linuxtools.eclipse-build.git/]
* It is preferred that patches are generated from within Eclipse.  All patches must be submitted via [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Linux%20Tools&component=PackagingTools http://bugs.eclipse.org eclipse.org bugzila]
+
* It is preferred that patches are generated from within Eclipse (use [[EGit]].  All patches must be submitted via [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Linux%20Tools&component=PackagingTools http://bugs.eclipse.org eclipse.org bugzila]
 
+
== Debian/Ubuntu Build Requirements ==
+
 
+
On Ubuntu 9.10 "Karmic Koala" (and later) you can simply run "sudo apt-get build-dep eclipse && sudo aptitude install build-essential" to install those packages.
+
 
+
The list of build dependencies (excluding build-essential) can be found
+
[http://git.debian.org/?p=pkg-java/eclipse.git;a=blob_plain;f=debian/control here] (see Build-Depends).
+
  
 
== Fedora Build Requirements ==
 
== Fedora Build Requirements ==
 
On Fedora, just run <tt>yum-builddep eclipse</tt> to get the build dependencies (''including'' the dependencies to which the Fedora package is symlinked).  You must also ensure you have the following installed (the latter to run the tests):  <tt>patch tigervnc-server</tt>.
 
On Fedora, just run <tt>yum-builddep eclipse</tt> to get the build dependencies (''including'' the dependencies to which the Fedora package is symlinked).  You must also ensure you have the following installed (the latter to run the tests):  <tt>patch tigervnc-server</tt>.
 
= To-do list =
 
* See [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&classification=Technology&product=Linux+Tools&component=PackagingTools&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0= eclipse-build open bugs]
 
* [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Linux%20Tools&component=PackagingTools Add an item]
 
* In [https://bugs.eclipse.org/bugs/ Eclipse bugzilla], watch linux.packagingtools-inbox@eclipse.org if you want to be notified of new bugs
 
 
'''Planned items'''
 
* Provision every feature separately so we can move them in dropins
 
* Add ability to build only given feature e.g org.eclipse.swt (Maybe)
 
  
 
= Testing =
 
= Testing =
 
See [[/Tests|tests]] for how to build and run the SDK tests and to report results and check if others are working on common failures.
 
See [[/Tests|tests]] for how to build and run the SDK tests and to report results and check if others are working on common failures.

Latest revision as of 06:43, 13 January 2022

{{#eclipseproject:tools.linuxtools}}

Linux Tools
Website
Download
Community
Mailing ListForumsIRCmattermost
Issues
OpenHelp WantedBug Day
Contribute
Browse Source

Eclipse-build aims to ease the building of the Eclipse SDK for Linux distributions.

Eclipse Build: Why And How

When building, Eclipse normally satisfies its third party requirements by using libraries provided in Orbit. Orbit provides pre-built libraries which have been made into OSGi bundles with proper versioning, etc.

The problem for some Linux distributions is that they cannot use the pre-built binaries provided by Orbit. Eclipse must be built using the binaries provided in that distribution.

For more information about how Eclipse Build works please refer to the Eclipse Build Inner Workings Page

How To build Eclipse SDK with eclipse-build released tarballs

  • Download and extract the latest eclipse-build*.tar.gz (pick the appropriate directory for the release you want)
  • Download tarballs of the SDK sources (and optionally the SDK test sources and SDK test scripts) from the eclipse-build downloads area and put them in the eclipse-build* directory. NOTE: eclipse-build provides source tarballs created from the same tag as the official releases but with additional sources needed for the build.
    • 3.7.1 tarball is here
  • Run ant (you will likely need to ensure that JAVA_HOME points to your JDK installation directory)

If the build finishes without error there will be a build/eclipse-$YOUR_BUILD_ID-src/installation directory containing a ready-to-use Eclipse SDK. Eclipse-build is verified to work on x86, x86_64 and ppc architectures. Eclipse-build has been successfully tested on Fedora, Debian, Ubuntu, Gentoo, and RHEL. Refer to distribution-specific instructions below. We are interested in reports of success on other distributions. Please let us know via linuxtools-dev@eclipse.org.

Optional: ant runTests. Look for test results (a few hours running time) in tests_<timestamp>/results/html/org.eclipse.sdk.tests.html.

Submitting patches

Fedora Build Requirements

On Fedora, just run yum-builddep eclipse to get the build dependencies (including the dependencies to which the Fedora package is symlinked). You must also ensure you have the following installed (the latter to run the tests): patch tigervnc-server.

Testing

See tests for how to build and run the SDK tests and to report results and check if others are working on common failures.

Back to the top