Common Build Infrastructure/Getting Started/Build In Eclipse
To run a build with Athena, you need to do four things:
- Fetch required build projects into your workspace, then close the org.eclipse.releng.basebuilder project.
- Fetch required releng project into your workspace.
- Configure build.properties to suit your system's needs.
- 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.
your.project.releng/build.properties and edit to suit your needs. There may be examples available for Windows, Linux, and MacOSX to help you get started. You can either copy from the .example file into build.properties, or point
build.xml at the alternate build.properties.example.* file, like this:
<property file="build.properties.example.linux" />
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 JAVA_HOME=/path/to/java/home JAVA14_HOME=/path/to/java/home JAVA50_HOME=/path/to/java/home JAVA60_HOME=/path/to/java/home
Define binary dependencies using
repositoryURLs. For more examples, see Defining Binary Dependencies:
repositoryURLs=\ http://download.eclipse.org/athena/repos/eclipse-Update-R-3.5.1-200909170800.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"
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
Run As > Ant Build.
- Ensure you have CVS 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.,
- 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.
- Common Build Infrastructure/Virtual Server Setup/Fedora
- Common Build Infrastructure/Virtual Server Setup/MacOSX
- Common Build Infrastructure/Virtual Server Setup/WinXP