Jump to: navigation, search

Common Build Infrastructure/Getting Started/Build In Eclipse

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 build projects into your workspace, then close the org.eclipse.releng.basebuilder project.
  2. Fetch required releng project into your workspace.
  3. Configure build.properties to suit your system's needs.
  4. Run build.xml

Fetch build projects

At minimum, you will need these two projects in your workspace (or elsewhere on disk):

  • 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)
  • 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 athena.cvs.psf.

Next, open Eclipse, and do File > Import > Team > Team Project Set. Browse for the athena.cvs.psf file you downloaded above, and import it. You should end up with two new workspace projects.

Close the basebuilder project

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.

The workaround is therefore to put the jar into the project by hand, or to simply close the project and ignore the compilation errors.

Fetch releng project

Sample Athena Releng Projects

To fetch your project's releng folder, you will need to know where it is located in CVS or SVN. Some examples to try are at right:

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

If you do not have a .releng project for your own code, you can create one based on the above examples.

Configure your .releng project's build.properties

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.

  • 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.