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 "EclipseLink/Development/EclipseLinkPDEConversionPlan"
m (→External Dependencies) |
m (→External Dependencies) |
||
Line 32: | Line 32: | ||
! Note | ! Note | ||
|- | |- | ||
− | | dbws - wsdl4j.jar || javax.wsdl 1.6.2 javax.xml.soap SAAJ 1.3 || dbws/lib || || Existing Jars || || | + | | dbws - wsdl4j.jar || javax.wsdl 1.6.2 <br> javax.xml.soap SAAJ 1.3 || dbws/lib || || Existing Jars || || |
|- | |- | ||
| foundation - activation.jar || javax.activation 1.1.0 || lib || || Orbit || || | | foundation - activation.jar || javax.activation 1.1.0 || lib || || Orbit || || |
Revision as of 16:41, 23 April 2008
Contents
Requirements
- Provide PDE projects for EclipseLink bundle development
- Publish EclipseLink bundles
- Allow users that do not want to use OSGi to continue to work in an understandable manner
- Allow current test set to run
Plan
The conversion will be done in multiple phases
- An initial conversion to PDE projects
- Tidy up the converted projects to they actually run in OSGI
- 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 javax.xml.soap SAAJ 1.3 |
dbws/lib | Existing Jars | |||
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
- What is the best way to package the Oracle-specific dependencies to allow both plugin and non-plug-in implementations to work?
- Some information required about what depends on a couple of the moxy dependencies (jaxb-impl.jar, jaxb-xjc.jar)
- Version numbering for javax.persistence and eclipselink projects needs some review
- 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...