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.
Difference between revisions of "Nebula/Builds"
(Nebula builds presentation : Maven Tycho and Hudson) |
(→Hudson) |
||
Line 69: | Line 69: | ||
These jobs are set up to run on Hudson every 5 hours if the repository has changed | These jobs are set up to run on Hudson every 5 hours if the repository has changed | ||
− | https://hudson.eclipse.org/hudson/job/ | + | https://hudson.eclipse.org/hudson/job/nebula.nebula/ |
− | https://hudson.eclipse.org/hudson/job/ | + | https://hudson.eclipse.org/hudson/job/nebula.incubation/ |
From this page, you can see build results, download jars and view java doc. | From this page, you can see build results, download jars and view java doc. | ||
Line 77: | Line 77: | ||
Lastest jars are available at these url | Lastest jars are available at these url | ||
− | + | http://download.eclipse.org/technology/nebula/snapshot | |
− | + | http://download.eclipse.org/technology/nebula/incubation/snapshot | |
− | + | ||
− | + | ||
Email notifications : Every Nebula committer has write access to builds configuration on Hudson. Most settings do not need to be changed but email addresses can be added for build event notifications (failures, return to normal) | Email notifications : Every Nebula committer has write access to builds configuration on Hudson. Most settings do not need to be changed but email addresses can be added for build event notifications (failures, return to normal) |
Revision as of 18:51, 5 January 2012
Contents
Summary
Nebula uses Maven Tycho to run its build
Maven / Tycho
Building with Maven and Tycho requires Java and Maven3 to be installed on your computer and a POM file (pom.xml). A POM file is a project definition and must be located at the root of each module. This file contains everything maven needs to build, package, test, run reports, ... the project.
Each Nebula widget needs this file, but in order to reduce the amount of configuration required, we use a parent POM which contains all common configuration. This special project must be installed locally before building a widget.
checkout org.eclipse.nebula.nebula-parent and run maven in this project's folder :
mvn install
Note : when running a complete build, this project is automatically installed.
A widget pom content :
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent> <artifactId>nebula-parent</artifactId> <groupId>org.eclipse.nebula</groupId> <version>1.0.0-SNAPSHOT</version> <relativePath>../org.eclipse.nebula.nebula-parent</relativePath> </parent>
<groupId>org.eclipse.nebula</groupId> <artifactId>org.eclipse.nebula.widgets.gallery</artifactId> <version>0.5.3-SNAPSHOT</version> <packaging>eclipse-plugin</packaging>
</project>
The only values which require modification are groupId, artifactId and version
Note : that the version number must match the version in MANIFEST.MF. Snapshot means developement version and requires an ending .qualifier in the plugin version.
Building a widget only requires a single command :
mvn install
jar files are then available in the target folder.
Tests bundles use the same pom with only a different packaging type (see gallery test plugin).
Note : tests run in an osgi environnement which is different from running the tests in PDE. As a result tests may have to be modified to run correctly on both Maven and PDE.
Builds
Nebula has 2 builds : Release for stable widget aiming for a 1.0 release (org.eclipse.swt.nebula.nebula-release) and Incubation (org.eclipse.swt.nebula.nebula-incubation) for widget which are work in progress.
Running these build requires to check-out the full nebula repository, to go into the selected build folder and run
mvn install integration-test
Note: integration-test runs tests from test-bundles
Adding a new widget to one of these build is easy. Once the widget builds with Maven, just add an additionnal module to the build pom :
<module>../org.eclipse.nebula.widgets.gallery</module>
Hudson
These jobs are set up to run on Hudson every 5 hours if the repository has changed
https://hudson.eclipse.org/hudson/job/nebula.nebula/
https://hudson.eclipse.org/hudson/job/nebula.incubation/
From this page, you can see build results, download jars and view java doc.
Lastest jars are available at these url
http://download.eclipse.org/technology/nebula/snapshot
http://download.eclipse.org/technology/nebula/incubation/snapshot
Email notifications : Every Nebula committer has write access to builds configuration on Hudson. Most settings do not need to be changed but email addresses can be added for build event notifications (failures, return to normal)