Jump to: navigation, search

Difference between revisions of "Common Build Infrastructure/Getting Started/Build In Eclipse"

(Fetch releng project)
(Run a build)
 
(11 intermediate revisions by the same user not shown)
Line 8: Line 8:
 
# Run build.xml
 
# Run build.xml
  
=== Fetch build projects ===
+
=== Fetch basebuilder & Athena projects ===
  
At minimum, you will need these two projects in your workspace (or elsewhere on disk):
+
You need these two projects:
  
 
* org.eclipse.releng.basebuilder (contains Eclipse Platform, PDE + tools/scripts needed to build)
 
* org.eclipse.releng.basebuilder (contains Eclipse Platform, PDE + tools/scripts needed to build)
 
* org.eclipse.dash.common.releng (contains tools/scripts to communicate & extend PDE)
 
* org.eclipse.dash.common.releng (contains tools/scripts to communicate & extend PDE)
* your.projects.name.here.releng (contains configurations and settings to drive PDE for building and testing)
 
  
The simplest way to get the first two projects is to download this [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.dash/athena/org.eclipse.dash.commonbuilder/org.eclipse.dash.common.releng/psfs/athena.cvs.psf?revision=1.1&root=Technology_Project athena.cvs.psf].
+
====By Hand====
  
Next, open Eclipse, and do <code>File > Import > Team > Team Project Set</code>. Browse for the [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.dash/athena/org.eclipse.dash.commonbuilder/org.eclipse.dash.common.releng/psfs/athena.cvs.psf?revision=1.1&root=Technology_Project athena.cvs.psf] file you downloaded above, and import it. You should end up with two new workspace projects.
+
* Download [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.dash/athena/org.eclipse.dash.commonbuilder/org.eclipse.dash.common.releng/psfs/athena.cvs.psf?revision=1.1&root=Technology_Project athena.cvs.psf]
  
==== Close the basebuilder project ====
+
* <code>File > Import > Team > Team Project Set > browse for athena.psf</code>
  
Because the basebuilder project is used OUTSIDE of eclipse, it does not need to be open, or to have everything properly compiled, to function. In particular, due to licensing reasons, there is at least one jar (ie., j2ee.jar or javamail.jar) which is required to have everything in the project compile. This cannot be included in the project because it is not available under an EPL-compatible license.
+
* Close the <code>org.eclipse.releng.basebuilder</code> project to hide the compilation errors. These can be safely ignored.
  
The workaround is therefore to put the jar into the project by hand, or to simply close the project and ignore the compilation errors.
+
====Automatically====
  
=== Fetch or creaate releng project ===
+
Use [[Common_Build_Infrastructure/Getting_Started/Build_In_Hudson/Bootstrapping | bootstrap.xml]]
 +
 
 +
=== Fetch or create releng project ===
 
<table style="float:right; border: 1px dashed #000080">
 
<table style="float:right; border: 1px dashed #000080">
 
<tr><th>Sample Athena Releng Projects</th><tr>
 
<tr><th>Sample Athena Releng Projects</th><tr>
 
<tr><td>
 
<tr><td>
 +
CVS Source
 
* [http://dev.eclipse.org/viewcvs/index.cgi/pde/visualization/org.eclipse.pde.visualization.releng/ Eclipse - PDE - Visualization]
 
* [http://dev.eclipse.org/viewcvs/index.cgi/pde/visualization/org.eclipse.pde.visualization.releng/ Eclipse - PDE - Visualization]
  
Line 36: Line 38:
  
 
* [http://dev.eclipse.org/viewcvs/index.cgi/sourceediting/development/athena/org.eclipse.wst.xsl.releng/?root=WebTools_Project Eclipse Web Tools - XSL Tools]
 
* [http://dev.eclipse.org/viewcvs/index.cgi/sourceediting/development/athena/org.eclipse.wst.xsl.releng/?root=WebTools_Project Eclipse Web Tools - XSL Tools]
 
* [http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/releng/trunk/org.eclipse.linuxtools.releng/ Eclipse Technology - Linux Tools]
 
  
 
* [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.dash/athena/org.eclipse.dash.commonbuilder/org.eclipse.gef.releng/?root=Technology_Project Eclipse Tools - GEF]
 
* [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.dash/athena/org.eclipse.dash.commonbuilder/org.eclipse.gef.releng/?root=Technology_Project Eclipse Tools - GEF]
 +
 +
SVN Source
 +
* [http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/releng/trunk/org.eclipse.linuxtools.releng/ Eclipse Technology - Linux Tools]
  
 
* [http://anonsvn.jboss.org/repos/jbosstools/trunk/jmx/releng/ JBoss Tools - JMX Console]
 
* [http://anonsvn.jboss.org/repos/jbosstools/trunk/jmx/releng/ JBoss Tools - JMX Console]
Line 52: Line 55:
 
Note that some projects include a <code>psfs/</code> folder within their releng project to facilitate checking out sources, as in step 1 above.
 
Note that some projects include a <code>psfs/</code> folder within their releng project to facilitate checking out sources, as in step 1 above.
  
=== Configure your .releng project's build.properties ===
+
=== Configure your .releng project ===
  
 
==== Required settings ====
 
==== Required settings ====
Line 112: Line 115:
 
=== Run a build ===
 
=== Run a build ===
  
Select <code>your.project.releng/build.xml</code>, then <code>Run As > Ant Build</code>.
+
Select <code>your.project.releng/build.xml</code>, then <code>Run As > Ant Build</code>. (Or from your releng project folder, simply run <code>ant</code>)
 
* Ensure you have CVS or SVN installed on your machine.
 
* Ensure you have CVS or SVN installed on your machine.
 
* If the compiler fails with errors like "Cannot find Object", make sure you have a JAVA_HOME for every BREE in your manifests.  Please see the [[Common Build Infrastructure/Getting Started/FAQ]].
 
* If the compiler fails with errors like "Cannot find Object", make sure you have a JAVA_HOME for every BREE in your manifests.  Please see the [[Common Build Infrastructure/Getting Started/FAQ]].

Latest revision as of 15:14, 15 April 2010

Warning2.png
Draft Content
This page is currently under construction. Community members are encouraged to maintain the page, and make sure the information is accurate.


To run a build with Athena, you need to do four things:

  1. Fetch required basebuilder & Athena projects into your workspace, then close the org.eclipse.releng.basebuilder project.
  2. Fetch your releng project (if already created) or create it as a copy of the template project.
  3. Configure your releng project to define what to build, how to build, how to test, and how to publish.
  4. Run build.xml

Fetch basebuilder & Athena projects

You need these two projects:

  • org.eclipse.releng.basebuilder (contains Eclipse Platform, PDE + tools/scripts needed to build)
  • org.eclipse.dash.common.releng (contains tools/scripts to communicate & extend PDE)

By Hand

  • File > Import > Team > Team Project Set > browse for athena.psf
  • Close the org.eclipse.releng.basebuilder project to hide the compilation errors. These can be safely ignored.

Automatically

Use bootstrap.xml

Fetch or create releng project

Sample Athena Releng Projects

CVS Source

SVN Source

To fetch your project's releng folder, you will need to know where it is located in CVS or SVN.

To create a new one, you can copy from the sample project then configure using the examples at right:

Note that some projects include a psfs/ folder within their releng project to facilitate checking out sources, as in step 1 above.

Configure your .releng project

Required settings

The following properties must be set:

projectid=technology.foo
zipPrefix=MyFoo
version=0.5.0
buildType=N
mainFeatureToBuildID=org.eclipse.foo.all
testFeatureToBuildID=org.eclipse.foo.test
# if project is incubating, insert "-incubation" into
# generated zip file names; otherwise omit
incubation=-incubation
# set path and version of JVM to use; must set a variable for 
# each Bundle-RequiredExecutionEnvironment (BREE) used in plugins
# Or just use the default value provided by Eclipse, JAVA_HOME
JAVA14_HOME=${JAVA_HOME}
JAVA50_HOME=${JAVA_HOME}
JAVA60_HOME=${JAVA_HOME}

Define binary dependencies using dependencyURLs and/or repositoryURLs. For more examples, see Defining Binary Dependencies:

repositoryURLs=\
 http://download.eclipse.org/athena/repos/eclipse-Update-3.5.2-201002111343.zip
IUsToInstall=\
 org.eclipse.sdk.feature.group+org.eclipse.sdk.ide

dependencyURLs=\
 http://path/to/some/required-SDK.zip

Define what steps to perform. To run tests w/o building first, see Testing:

#default: buildUpdate,buildTests,generateDigests,testLocal,publish,cleanup
build.steps=buildUpdate

If you require SVN or do not have the test framework plugins in your map file, you will need this property too, or to perform the equivalent set up manually.

# To permit automatic downloads of non-EPL compatible code, set this to property to "I accept"
thirdPartyDownloadLicenseAcceptance="I accept"

Optional settings

You can also set other PDE variables and compiler settings in your releng project's build.properties:

compilerArg=-enableJavadoc -encoding ISO-8859-1
flattenDependencies=true
parallelCompilation=true
generateFeatureVersionSuffix=true

Run a build

Select your.project.releng/build.xml, then Run As > Ant Build. (Or from your releng project folder, simply run ant)

  • Ensure you have CVS or SVN installed on your machine.
  • If the compiler fails with errors like "Cannot find Object", make sure you have a JAVA_HOME for every BREE in your manifests. Please see the Common Build Infrastructure/Getting Started/FAQ.

A log of the build will may appear as your.project.releng/buildlog.latest.txt, if you have configured a launch configuration to do so. Otherwise a complete buildlog.txt should appear in the destination folder where the build is created, eg., /tmp/build/N201001282334/buildlog.txt.

  • If you do not yet have tests available in your repository (or have not linked them from your map file(s), you may receive errors running the "test" or "testLocal" step.

Troubleshooting / server setup

If needs be, you may find additional information related to troubleshooting or server configuration here.

Next Steps

Once you can build in Eclipse, you might want to get a job added to Hudson so you can run continuous integrations or nightlies, then start publishing to download.eclipse.org.