Jump to: navigation, search

Difference between revisions of "Corona/Gyrex/Merger"

(Corona Product)
 
(5 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
The following plan outlines the steps for merging the existing Corona functionality with the Gyrex project.
 
The following plan outlines the steps for merging the existing Corona functionality with the Gyrex project.
 +
 +
;Assumptions
 +
* All Corona projects and packages will be refactored to adopt Gyrex naming convention
  
 
== Corona Product ==
 
== Corona Product ==
 
* Corona provides an Eclipse product definition that defines its core runtime distribution for each execution environment.
 
* Corona provides an Eclipse product definition that defines its core runtime distribution for each execution environment.
 +
** Corona currently names its ''Program Launcher'' '''eclipses'''.  The extra '''s''' at the end is used to indicate ''server''.
 
** The product definition includes 1 feature: org.eclipse.corona.core
 
** The product definition includes 1 feature: org.eclipse.corona.core
 
** All other Corona features can be optionally added to Corona's runtime via P2
 
** All other Corona features can be optionally added to Corona's runtime via P2
  
;Open Issues
+
;Migration Steps
* Corona currently names its ''Program Launcher'' '''eclipses'''. The extra '''s''' at the end is used to indicate ''server''.
+
# Rename Eclipse product definition from ''corona.product'' to ''gyrex.product''
 +
# Updated reference to new ''core'' feature
  
== Corona Features ===
+
== Corona Features ==
 +
 
 +
For each Corona feature and associated plug-ins, the following migration steps need to be performed.
 +
 
 +
;Migration Steps
 +
# Refactor feature name from ''org.eclipse.corona.core.feature'' to ''org.eclipse.gyrex.server.core''
 +
## Update feature's legal metadata
 +
# Refactor each plug-in
 +
## Rename plug-in project
 +
## Rename packages
 +
## Update legal metadata
 +
# Submit CQ request for code contributions
  
 
=== Feature: org.eclipse.corona.core ===
 
=== Feature: org.eclipse.corona.core ===
 +
Corona's core feature defines the minimal set of plug-ins needed to run an Eclipse server-side platform. 
  
=== Feature: Diagnostics ===
+
;Plug-In(s)
 +
* org.eclipse.corona
 +
 
 +
;System Properties
 +
* Corona references ''corona.app.*'' Java system properties.  This will need to be refactored to use another name.
 +
 
 +
;Extension Point
 +
* corona.core introduces extension point to auto start server-side bundles.  This can be replaced with the introduction of P2.
 +
 
 +
;IP CQ
 +
* n/a - 100% code contribution from committer
 +
 
 +
=== Feature: org.eclipse.corona.diagnostics ===
 +
Corona's diagnostic feature provides a framework to collect diagnostic data.  This functionality is useful to collect data needed to help resolve issues.
 +
 
 +
;Plug-In(s)
 +
* org.eclipse.corona.diagnotics
 +
* org.eclipse.corona.diag.data.bundles
 +
* org.eclipse.corona.diag.data.system
 +
 
 +
;Extension Point
 +
* Extension point used to register diagnostic data collection component needs to be renamed.
 +
 
 +
;IP CQ
 +
* n/a - 100% code contribution from committer
  
 
=== Feature: Container Database ===
 
=== Feature: Container Database ===
 +
 +
;Plug-In(s)
 +
* org.eclipse.corona.container.database
 +
 +
;IP CQ
 +
* Existing Corona CQ for Apache Derby will need to be reassigned to Gyrex
  
 
=== Feature: Container Web ===
 
=== Feature: Container Web ===
 +
 +
;Plug-In(s)
 +
* org.eclipse.corona.container.web
 +
 +
;IP CQ
 +
* TBD - uses Jetty.  Is a CQ needed?
  
 
=== Feature: Test Framework ===
 
=== Feature: Test Framework ===
 +
 +
;Plug-In(s)
 +
* org.eclipse.corona.test
 +
* org.eclipse.corona.test.antjunitlink
 +
* org.eclipse.corona.test.cases
 +
* org.eclipse.corona.test.runner.junit4
 +
* org.eclipse.corona.test.sample
 +
 +
;IP CQ
 +
* TBD - uses JUnit4.  Is a CQ needed?
  
 
=== Feature: SDK ===
 
=== Feature: SDK ===
  
 
== PDE Build ==
 
== PDE Build ==
 +
 +
;Migration Steps
 +
# Build Eclipse product ''gyrex.product'' (formally corona.product)
 +
# Build each Corona feature
  
 
=== P2 Repository ===
 
=== P2 Repository ===
 +
 +
;Migration Steps
 +
# Post P2 repository to Eclipse download site
 +
 +
== Development Environment ==
 +
 +
=== Team Project Sets ===
 +
* Create both ''working'' and ''team project'' sets
 +
 +
=== Target Runtime ===
 +
* Define target runtime needed for IDE to support the development environment

Latest revision as of 14:35, 31 August 2009

The Eclipse Corona project will be merged with Gyrex project to establish a an Eclipse server-side platform. The goal is to establish a Rich Server Platform (RSP) similar to the Rich Client Platform (RCP), but without UI components.

The following plan outlines the steps for merging the existing Corona functionality with the Gyrex project.

Assumptions
  • All Corona projects and packages will be refactored to adopt Gyrex naming convention

Corona Product

  • Corona provides an Eclipse product definition that defines its core runtime distribution for each execution environment.
    • Corona currently names its Program Launcher eclipses. The extra s at the end is used to indicate server.
    • The product definition includes 1 feature: org.eclipse.corona.core
    • All other Corona features can be optionally added to Corona's runtime via P2
Migration Steps
  1. Rename Eclipse product definition from corona.product to gyrex.product
  2. Updated reference to new core feature

Corona Features

For each Corona feature and associated plug-ins, the following migration steps need to be performed.

Migration Steps
  1. Refactor feature name from org.eclipse.corona.core.feature to org.eclipse.gyrex.server.core
    1. Update feature's legal metadata
  2. Refactor each plug-in
    1. Rename plug-in project
    2. Rename packages
    3. Update legal metadata
  3. Submit CQ request for code contributions

Feature: org.eclipse.corona.core

Corona's core feature defines the minimal set of plug-ins needed to run an Eclipse server-side platform.

Plug-In(s)
  • org.eclipse.corona
System Properties
  • Corona references corona.app.* Java system properties. This will need to be refactored to use another name.
Extension Point
  • corona.core introduces extension point to auto start server-side bundles. This can be replaced with the introduction of P2.
IP CQ
  • n/a - 100% code contribution from committer

Feature: org.eclipse.corona.diagnostics

Corona's diagnostic feature provides a framework to collect diagnostic data. This functionality is useful to collect data needed to help resolve issues.

Plug-In(s)
  • org.eclipse.corona.diagnotics
  • org.eclipse.corona.diag.data.bundles
  • org.eclipse.corona.diag.data.system
Extension Point
  • Extension point used to register diagnostic data collection component needs to be renamed.
IP CQ
  • n/a - 100% code contribution from committer

Feature: Container Database

Plug-In(s)
  • org.eclipse.corona.container.database
IP CQ
  • Existing Corona CQ for Apache Derby will need to be reassigned to Gyrex

Feature: Container Web

Plug-In(s)
  • org.eclipse.corona.container.web
IP CQ
  • TBD - uses Jetty. Is a CQ needed?

Feature: Test Framework

Plug-In(s)
  • org.eclipse.corona.test
  • org.eclipse.corona.test.antjunitlink
  • org.eclipse.corona.test.cases
  • org.eclipse.corona.test.runner.junit4
  • org.eclipse.corona.test.sample
IP CQ
  • TBD - uses JUnit4. Is a CQ needed?

Feature: SDK

PDE Build

Migration Steps
  1. Build Eclipse product gyrex.product (formally corona.product)
  2. Build each Corona feature

P2 Repository

Migration Steps
  1. Post P2 repository to Eclipse download site

Development Environment

Team Project Sets

  • Create both working and team project sets

Target Runtime

  • Define target runtime needed for IDE to support the development environment