Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "EclipseLink/Development/EclipseLinkPDEConversionPlan"

m (External Dependencies)
m (External Dependencies)
Line 32: Line 32:
 
! Note
 
! Note
 
|-
 
|-
| dbws:<br>&nbsp;wsdl4j.jar<br>&nbsp;saaj-api-1.3.jar || javax.wsdl 1.6.2 <br> javax.xml.soap 1.3 || dbws/lib ||  || Existing Jars || ||
+
| dbws - wsdl4j.jar || javax.wsdl 1.6.2 || dbws/lib ||  || Existing Jar || ||
 +
|-
 +
| dbws - saaj-api-1.3.jar || javax.xml.soap 1.3 || dbws/lib ||  || Existing Jar || ||
 
|-
 
|-
 
| foundation - activation.jar  || javax.activation 1.1.0 || lib ||  || Orbit || ||
 
| foundation - activation.jar  || javax.activation 1.1.0 || lib ||  || Orbit || ||

Revision as of 16:43, 23 April 2008

Requirements

  1. Provide PDE projects for EclipseLink bundle development
  2. Publish EclipseLink bundles
  3. Allow users that do not want to use OSGi to continue to work in an understandable manner
  4. Allow current test set to run

Plan

The conversion will be done in multiple phases

  1. An initial conversion to PDE projects
  2. Tidy up the converted projects to they actually run in OSGI
  3. Make the ant-based nightly build system produce and publish bundles

Phase 1 - Initial Conversion

External Dependencies

At the moment, libraries we depend on are stored in *.*.lib directories. e.g. dbws/eclipselink.dbws.lib, foundation/eclipselink.core.lib, moxy/eclipselink.moxy.lib, sdo/eclipselink.moxy.lib. These directories will be removed.

Each jar in those libraries will now be individually packaged as a bundle. The following is the list


Dependency Bundle Name New Location Depends On From Note
dbws - wsdl4j.jar javax.wsdl 1.6.2 dbws/lib Existing Jar
dbws - saaj-api-1.3.jar javax.xml.soap 1.3 dbws/lib Existing Jar
foundation - activation.jar javax.activation 1.1.0 lib Orbit
foundation - ejb.jar javax.ejb 3.0 lib javax.transaction, javax.xml.rpc Existing Jar
foundation - jms.jar javax.jms 1.1 lib Existing Jar
foundation - mail.jar javax.mail 1.4.0 lib Orbit
foundation - persistence.jar javax.persistence 1.0 lib Existing Jar This is one of 2 peristence jars - see below
foundation - persistence.jar javax.persistence 1.99 jpa/lib New persistence.jar with suggested JPA 2.0 changes
foundation - connector.jar javax.resource 1.5 lib Existing Jar
foundation - jta.jar javax.transaction 1.1 lib Existing Jar
moxy - jaxb-api.jar javax.xml.bind 2.0 moxy/lib Existing Jar
moxy - jaxb-impl.jar
moxy - jaxb-xjc.jar
javax.xml.rpc(new) javax.xml.rpc 1.1.0 lib Orbit
foundation - jms.jar javax.jms 1.1 lib Existing Jar
foundation - jsr173_1.0_api.jar javax.xml.stream ???? lib Existing Jar
foundation - ant.jar org.apache.ant 1.7.0 lib Orbit Newer version from Orbit
sdo - commonj.sdo.jar commonj.sdo 2.1 sdo/lib Existing Jar

EclipseLink Bundles

For the time being, only the runtime components of EclipseLink will be bundled. The testing and utils will be distributed in the same way as they are currently distributed. The following are the bundles:

Component Bundle Name New Location Depends On Note
ASM org.eclipse.persistence.asm 0.1 lib
ANTLR org.eclipse.persistence.antlr 0.1 lib
Core org.eclipse.persistence.core 0.1 foundation/eclipselink.core javax.activation, javax.ejb, javax.jms, javax.mail, javax.persistence, javax.resource, javax.transaction, javax.xml.bind, javax.xml.stream, org.apache.ant, org.eclipse.persistence.asm, org.eclipse.persistence.antlr dependencies are optional, reexports all but antlr, can depend on either version of javax.persistence
JPA org.eclipse.persistence.jpa 0.1 jpa/eclipselink.jpa org.eclipse.persistence.core Can depend on either version of javax.persistence
MOXy org.eclipse.persistence.moxy 0.1 moxy/eclipselink.moxy org.eclipse.persistence.core
Oracle Extensions org.eclipse.persistence.extension.oracle 0.1 foundation/eclipselink.extension.oracle org.eclipse.persistence.core, Oracle Libraries Undecided about best way to depend on Oracle Libraries
SDO org.eclipse.persistence.sdo 0.1 sdo/eclipselink.sdo org.eclipse.persistence.core, commondj.sdo work to make code base OSGI compatible is happening concurrently
DBWS org.eclipse.persistence.dbws 0.1 dbws/eclipselink.dbws org.eclipse.persistence.core, javax.wsdl currently some build errors in this part of the code base DBWS code update is coming soon

Non-bundled EclipseLink Projects

All remaining projects will remain as non-PDE projects. The only changes will be to allow them to compile based on any changes to the projects they depend on.

Eclipse Run Targets

As many as possible of the Eclipse Run targets packaged in the current SVN repository will be redefined to fit the new PDE projects

Open Questions

  1. What is the best way to package the Oracle-specific dependencies to allow both plugin and non-plug-in implementations to work?
  2. Some information required about what depends on a couple of the moxy dependencies (jaxb-impl.jar, jaxb-xjc.jar)
  3. Version numbering for javax.persistence and eclipselink projects needs some review
  4. Version number for javax.xml.stream required

Phase 2 - Running in OSGI

This phase of the project will add activators and other constructs necessary to run in OSGI.

More to come...

Phase 3 - Nightly Build conversion

This phase of the project will make our nightly build generate consumable OSGI bundles.

More to come...

Back to the top