Jump to: navigation, search

Difference between revisions of "Scout/Release/Juno"

(Compatibility with Previous Releases)
(Previous Release Documentation)
(28 intermediate revisions by 4 users not shown)
Line 16: Line 16:
  
 
== Scout Release Review Documentation ==
 
== Scout Release Review Documentation ==
* '''{{ScoutLink|Release|JunoDoc|Documentation|name=Scout Juno Documentation}}''' - todo
+
* '''{{ScoutLink|Release|JunoDoc|Documentation|name=Scout Juno Documentation}}''' - in progress
  
 
== Planning Document ==
 
== Planning Document ==
Line 23: Line 23:
 
== New and Noteworthy ==
 
== New and Noteworthy ==
  
{{ScoutLink|NewAndNoteworty|name=New and Noteworthy}}
+
{{ScoutLink|NewAndNoteworthy|name=New and Noteworthy}}
  
 
== End-of-Life ==
 
== End-of-Life ==
Line 36: Line 36:
  
 
== Target Environment  ==
 
== Target Environment  ==
 +
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. For Juno the following JREs are supported:
+
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.
  
*Oracle Java 6
+
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.
*Oracle Java 7
+
 
+
Beside the JRE Eclipse Scout also requires a compatible Eclipse platform. For Juno release of Scout the following Eclipse platforms are supported:
+
  
 +
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 Galileo (3.5) Limited support only: Scout Web UI (RAP) is not supported.
 
*Eclipse Helios (3.6)  
 
*Eclipse Helios (3.6)  
 
*Eclipse Indigo (3.7)  
 
*Eclipse Indigo (3.7)  
 
*Eclipse Juno (3.8 / 4.2)
 
*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):
 +
 +
{|border="1" cellpadding="5" cellspacing="0"
 +
|-
 +
! scope="col" style="background:#efefef;" | Operating System
 +
! scope="col" style="background:#efefef;" | OS Version
 +
! scope="col" style="background:#efefef;" | Hardware
 +
! scope="col" style="background:#efefef;" | Java VM (vendor, version, arch)
 +
! scope="col" style="background:#efefef;" | Eclipse Platform (version, arch)
 +
|-
 +
|rowspan="9"|Windows
 +
|rowspan="7"|7
 +
|x86 32-bit
 +
|rowspan="5"|Oracle, 1.6, 32-bit
 +
|3.8.0, 32-bit
 +
|-
 +
|rowspan="6"|x86 64-bit
 +
|3.5.2, 32-bit
 +
|-
 +
|3.6.2, 32-bit
 +
|-
 +
|3.7.2, 32-bit
 +
|-
 +
|3.8.0, 32-bit
 +
|-
 +
|Oracle, 1.6, 64-bit
 +
|4.2.0, 64-bit
 +
|-
 +
|Oracle, 1.7, 64-bit
 +
|4.2.0, 64-bit, EPP
 +
|-
 +
|rowspan="2"|XP
 +
|rowspan="2"|x86 32-bit
 +
|Oracle, 1.7, 32-bit
 +
|4.2.0, 32-bit, EPP
 +
|-
 +
|Oracle, 1.6, 32-bit
 +
|3.8.0, 32-bit
 +
|-
 +
|rowspan="5"|Ubuntu Linux
 +
|rowspan="5"|12.04 LTS
 +
|x86 64-bit
 +
|OpenJDK, 1.7, 64-bit
 +
|4.2.0, 64-bit, EPP
 +
|-
 +
|rowspan="4"|x86 32-bit
 +
|Oracle, 1.6, 32-bit
 +
|rowspan="2"|3.8.0, 32-bit
 +
|-
 +
|Oracle, 1.7, 32-bit
 +
|-
 +
|OpenJDK, 1.7, 32-bit
 +
|rowspan="2"|4.2.0, 32-bit, EPP
 +
|-
 +
|Oracle, 1.6, 32-bit
 +
|-
 +
|rowspan="3"|Apple Mac OS
 +
|rowspan="3"|10.7 (Lion)
 +
|rowspan="3"|x86 64-bit
 +
|Oracle, 1.7, 64-bit
 +
|3.8.0, 64-bit
 +
|-
 +
|rowspan="2"|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:
 
The RAP (Rich Ajax Platform) UI for Eclipse Scout requires at least the following browser versions:
Line 57: Line 127:
 
== Compatibility with Previous Releases ==
 
== 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 the release notes:
+
'''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]].
  
https://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/trunk/org.eclipse.scout.commons/Release%20Notes.txt
+
All migrations are also described in in the [[http://wiki.eclipse.org/Scout/Migration/3.8#Release_Notes release notes]]:
https://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/trunk/org.eclipse.scout.http.servletfilter/ReleseNotes.txt
+
https://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/trunk/org.eclipse.scout.jaxws216/Release%20Notes.txt
+
https://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/trunk/org.eclipse.scout.rt.client/Release%20Notes.txt
+
https://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/trunk/org.eclipse.scout.rt.server/Release%20Notes.txt
+
https://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/trunk/org.eclipse.scout.rt.shared/ReleaseNotes.txt
+
https://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/trunk/org.eclipse.scout.rt.ui.rap/Release%20Notes.txt
+
https://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/trunk/org.eclipse.scout.rt.ui.swing/Release%20Notes.txt
+
https://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/trunk/org.eclipse.scout.rt.ui.swt/Release%20Notes.txt
+
https://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/trunk/org.eclipse.scout.service/Release%20Notes.txt
+
https://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/trunk/org.eclipse.scout.rt.testing.client/Release%20Notes.txt
+
https://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/trunk/org.eclipse.scout.rt.testing.server/Release%20Notes.txt
+
https://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/trunk/org.eclipse.scout.rt.testing.shared/Release%20Notes.txt
+
  
 
'''Scout SDK 3.8''' will NOT be upwards compatible with Scout SDK 3.7. Currently, the Scout SDK API is not yet used frequently.
 
'''Scout SDK 3.8''' will NOT be upwards compatible with Scout SDK 3.7. Currently, the Scout SDK API is not yet used frequently.
Line 79: Line 137:
 
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.
 
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 to ensure that we do not introduce new API useage that breaks on 3.8.
+
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 not actively test Scout against 3.8. but will focus our Juno testing efforts on 4.2. We will accept bugs as equally valid if they are reported when running on either 3.8 or 4.2. We will provide this type of one-stream, dual-platform support for Juno and its two coordinated maintenance releases.
+
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.
  
 
== Build Process ==
 
== Build Process ==
To do (jgu)
+
Scout is built using [http://ant.apache.org/ ant] and [[PDE/Build | pde]] feature build. Builds are executed nightly (artifacts see [http://www.eclipse.org/scout/downloads/ Scout downloads]) and per milestone and release.
  
=== Build Steps ===
+
'''Sources:'''
 +
* The scripts are available here: [https://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.builder/branches/3.8/org.eclipse.scout.releng SVN].
 +
* Custom ant tasks for used in the build (e.g. for packing plugins and waiting until the jars are signed) are available here: [https://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.builder/branches/3.8/org.eclipse.scout.releng.ant SVN]
 +
 
 +
'''Hudson:'''
 +
Both nightly and milestone builds are done with the job [https://hudson.eclipse.org/hudson/job/cbi-scout-3.7/ cbi-scout-3.7] for all versions using different parameters.
  
 
=== Checklist for building Scout milestones ===
 
=== Checklist for building Scout milestones ===
 +
 +
==== +0 Day====
 +
# 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
 +
 +
==== +1 Day====
 +
# 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
 +
 +
==== Milestone Build ====
 
# configure build.properties file for the corresponding branch/trunk:
 
# configure build.properties file for the corresponding branch/trunk:
#* enter latest ecllipse milestone versions (e.g. 4.2_eclipseFileName=eclipse-SDK-4.2M5-win32.zip)
 
#* stagingAreaFolder=stagingAreaManual (staging area must be manual for milestone build)
 
#* update version: versionMajor,versionMinor,versionMicro
 
 
#* update milestone version: versionMilestone=M5 (N for nightly, RC for RCs)
 
#* update milestone version: versionMilestone=M5 (N for nightly, RC for RCs)
#* scoutRepositoryFolder: version/Release Version (e.g. 3.8/M5 or 3.8/RC1 or 3.8/SR1_RC2 or nightly)
+
#* scoutRepositoryFolder: version/Release Version (e.g. releases/3.8/3.8.0, nightly)
#* checkin
+
#* 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
 
# create a Tag for the corresponding branch/trunk, e.g. 2012-01-31_S-3.8.0M5
 
# reset build.properties for nightly build
 
# reset build.properties for nightly build
# backup and clean manual staging area
 
 
# run hudson build with the tag created before:
 
# run hudson build with the tag created before:
 
#* properties N für nightly, S für stable
 
#* properties N für nightly, S für stable
 
#* choose tag. e.g. tags/2012-01-31_S-3.8.0M5 or trunk
 
#* choose tag. e.g. tags/2012-01-31_S-3.8.0M5 or trunk
# manually stage StagingAreaManual: e.g. copy /home/data/httpd/download.eclipse.org/scout/stagingAreaManual/M5 to /home/data/httpd/download.eclipse.org/scout/3.8/M5
 
 
# Test updatesite with empty eclipse
 
# Test updatesite with empty eclipse
# Change Aggregator properties to point to the new build in cvs property file: /cvsroot/callisto/org.eclipse.juno.build/scout.b3aggrcon
+
# 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
 
#* make sure the versionRange is correct
 
#* update location <repositories location=  
 
#* update location <repositories location=  
 
#* checkin (triggers aggregator build)
 
#* checkin (triggers aggregator build)
 
# Test the build
 
# Test the build
 +
# cleanup unnecessary old builds: remove from updatesite releases/3.8/3.8.0/compositeArtifacts.jar and compositeContent.jar
 +
# Review the [http://build.eclipse.org/juno/simrel/reporeports/ reports]
  
 
== Ramp down Policy ==
 
== Ramp down Policy ==
Line 121: Line 193:
  
 
== Previous Release Documentation ==
 
== Previous Release Documentation ==
* '''{{ScoutLink|Release|Indigo|Overview|name=Indigo Overview}}''' - Indigo documentation
+
 
 +
* '''{{ScoutLink|Release|Indigo|Overview|name=Indigo Overview (2011)}}'''

Revision as of 07:19, 16 August 2012

Eclipse Scout (Juno Release)

ScoutIcon32c.jpg

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.


Useful Links

Scout Release Review Documentation

Planning Document

Link to project plan as [XML document]

New and Noteworthy

New and Noteworthy

End-of-Life

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

Bugzilla Tickets

Target Environment

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
3.6.2, 32-bit
3.7.2, 32-bit
3.8.0, 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.

Build Process

Scout is built using ant and pde feature build. Builds are executed nightly (artifacts see Scout downloads) and per milestone and release.

Sources:

  • 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

+0 Day

  1. Check version: versionMajor,versionMinor,versionMicro
  2. Check orbit drop: (latest stable)
  3. 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

+1 Day

  1. Update build.properties to lastest eclipse milestone versions (e.g. 4.2_eclipseFileName=eclipse-SDK-4.2M5-win32.zip)
  2. Test scout with latest eclipse version

Milestone Build

  1. 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
  2. create a Tag for the corresponding branch/trunk, e.g. 2012-01-31_S-3.8.0M5
  3. reset build.properties for nightly build
  4. 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
  5. Test updatesite with empty eclipse
  6. 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)
  7. Test the build
  8. cleanup unnecessary old builds: remove from updatesite releases/3.8/3.8.0/compositeArtifacts.jar and compositeContent.jar
  9. 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

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]

Previous Release Documentation