Eclipse Scout (Juno Release)
This Wiki page is to cover the relevant aspects to fulfill the release review as described here for Eclipse Scout release 3.8 (Juno).
- Eclipse Scout is a mature and open framework for modern, service oriented business applications.
- Scout substantially boosts developer productivity and is simple to learn.
- User friendly applications are straight forward to implement with Scout’s comprehensive set of user interface components.
- Completely based on Java/Eclipse, Scout Applications are easy to integrate in most IT environments.
Scout Release Review Documentation
- Scout Juno Documentation - in progress
Link to project plan as [XML document]
New and Noteworthy
With Scout 3.8 (Juno Release):
- Scout integration for Apache Axis (web services) is no longer supported. As a replacement, we implemented JAX-WS integration into both Scout runtime and the Scout SDK. See the corresponding entry in our forum
- Tickets in Scout 3.8.0
In order to remain current, each Eclipse Project release targets reasonably current operating environments.
All of Eclipse Scout is "pure" Java code and has no direct dependence on the underlying operating system. The chief dependence is therefore on the Java Runtime (JRE) itself.
In general, the 3.8 release of Eclipse Scout is developed on an Oracle Java SE 6 VM. As such, Scout is targeted at all modern, desktop Java VMs. Most functionality is available for Java SE 6 level development everywhere, and extended development capabilities are made available on the VMs that support them.
There are many different implementations of the Java Platform running atop a variety of operating systems and various CPU architectures. Beside that Scout 3.8 also runs on various Eclipse platforms. For Juno release of Scout the following Eclipse platforms are supported:
- Eclipse Galileo (3.5) Limited support only: Scout Web UI (RAP) is not supported.
- Eclipse Helios (3.6)
- Eclipse Indigo (3.7)
- Eclipse Juno (3.8 / 4.2)
We focus our testing on a handful of popular combinations (OS, HW Arch, Java VM, Eclipse platform); these are our reference platforms. Scout undoubtedly runs fine in many operating environments beyond the reference platforms we test. However, since we do not systematically test them we cannot vouch for them. Problems encountered when running Scout on a non-reference platform that cannot be recreated on any reference platform will be given lower priority than problems with running Scout on a reference platform.
Scout 3.8 is tested and validated on the following reference platforms (this list is updated over the course of the release cycle):
|Operating System||OS Version||Hardware||Java VM (vendor, version, arch)||Eclipse Platform (version, arch)|
|Windows||7||x86 32-bit||Oracle, 1.6, 32-bit||3.8.0, 32-bit|
|x86 64-bit||3.5.2, 32-bit|
|Oracle, 1.6, 64-bit||4.2.0, 64-bit|
|Oracle, 1.7, 64-bit||4.2.0, 64-bit, EPP|
|XP||x86 32-bit||Oracle, 1.7, 32-bit||4.2.0, 32-bit, EPP|
|Oracle, 1.6, 32-bit||3.8.0, 32-bit|
|Ubuntu Linux||12.04 LTS||x86 64-bit||OpenJDK, 1.7, 64-bit||4.2.0, 64-bit, EPP|
|x86 32-bit||Oracle, 1.6, 32-bit||3.8.0, 32-bit|
|Oracle, 1.7, 32-bit|
|OpenJDK, 1.7, 32-bit||4.2.0, 32-bit, EPP|
|Oracle, 1.6, 32-bit|
|Apple Mac OS||10.7 (Lion)||x86 64-bit||Oracle, 1.7, 64-bit||3.8.0, 64-bit|
|Apple, 1.6, 64-bit||4.2.0, 32-bit, EPP|
|4.2.0, 64-bit, EPP|
The RAP (Rich Ajax Platform) UI for Eclipse Scout requires at least the following browser versions:
- Microsoft Internet Explorer 9
- Mozilla Firefox 9
- Google Chrome 16
- Apple Safari 5
Compatibility with Previous Releases
Scout RT 3.8 will be upwards compatible with Scout RT 3.7 except in those areas noted in the release notes. Programs that use affected APIs and extension points will need to apply the migrations described in Scout/Migration/3.8.
All migrations are also described in in the [release notes]:
Scout SDK 3.8 will NOT be upwards compatible with Scout SDK 3.7. Currently, the Scout SDK API is not yet used frequently.
Support for Eclipse 3.8 workbench
While Juno plans to provide Eclipse 4.2 as the primary platform, the Eclipse Project will also be providing a 3.8 based version as well. This is done since it is anticipated some adopters may not be able to move to 4.2 right away, and may need to wait for their own "release train" to get lined up.
We will support our adopters in a similar way: Eclipse Scout will support 3.8 as a secondary platform (while 4.2 will be the primary platform). But we anticipate having only one stream of development. Scout will continue to work with the 3.8 and 4.2 platform, using the compatibility layer, and no 4.2 specific APIs. For Juno we will make sure that Scout will also compile against 3.8 (and 3.7, 3.6, 3.5) to ensure that we do not introduce new API useage that breaks compatibility.
However, we will focus our testing efforts on 4.2. We will accept bugs as equally valid if they are reported when running on another Eclipse platform. We will provide this type of one-stream, multi-platform support for Juno and its two coordinated maintenance releases.
- The scripts are available here: SVN.
- Custom ant tasks for used in the build (e.g. for packing plugins and waiting until the jars are signed) are available here: SVN
Hudson: Both nightly and milestone builds are done with the job cbi-scout-3.7 for all versions using different parameters.
Checklist for building Scout milestones
- Check version: versionMajor,versionMinor,versionMicro
- Check orbit drop: (latest stable)
- Make sure, that features dependent on rap runtime are disabled (because rap rt is usually not aggregated at +0): org.eclipse.scout.rt.rap.feature.feature.group
- Update build.properties to lastest eclipse milestone versions (e.g. 4.2_eclipseFileName=eclipse-SDK-4.2M5-win32.zip)
- Test scout with latest eclipse version
- configure build.properties file for the corresponding branch/trunk:
- update milestone version: versionMilestone=M5 (N for nightly, RC for RCs)
- scoutRepositoryFolder: version/Release Version (e.g. releases/3.8/3.8.0, nightly)
- make sure rapStaging.target is set to staging updatesite
- create a Tag for the corresponding branch/trunk, e.g. 2012-01-31_S-3.8.0M5
- reset build.properties for nightly build
- run hudson build with the tag created before:
- properties N für nightly, S für stable
- choose tag. e.g. tags/2012-01-31_S-3.8.0M5 or trunk
- Test updatesite with empty eclipse
- Change Aggregator properties (Check out CVS: extssh:dev.eclipse.org:/cvsroot/callisto) to point to the new build in cvs property file: /cvsroot/callisto/org.eclipse.juno.build/scout.b3aggrcon
- always use the gui editor when adding features and verify the change
- make sure the versionRange is correct
- update location <repositories location=
- checkin (triggers aggregator build)
- Test the build
- cleanup unnecessary old builds: remove from updatesite releases/3.8/3.8.0/compositeArtifacts.jar and compositeContent.jar
- Review the reports
Ramp down Policy
We use daily builds. No API changes after M6, no new features after M7. In the RC phase only bugs marked P2 or higher or severity major or higher will be fixed.
Unit tests are executed during the nightly build of Eclipse Scout RT and Eclipse Scout SDK. The test suites contain simple unit tests as well as GUI tests. The latter are based on Scout's testing support bundles which is built on top of java.awt.Robot. Therefore our GUI tests require a fully-fledged desktop environment. The tests are currently executed on BSI's infrastructure.
Current Project Metrics
project metrics for Eclipse Scout provided on [ohloh]