Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 267442 - Provide OSGi bundles as Features and provide a P2 Repostory (Update Site)
Summary: Provide OSGi bundles as Features and provide a P2 Repostory (Update Site)
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Eclipselink (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Eric Gwin CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 263367 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-03-06 15:50 EST by Neil Hauge CLA
Modified: 2022-06-09 10:08 EDT (History)
5 users (show)

See Also:


Attachments
Initial cut at EclipseLink features (4.60 KB, application/octet-stream)
2009-03-06 17:11 EST, Neil Hauge CLA
no flags Details
First cut at EclipseLink UpdateSite (14.19 KB, application/octet-stream)
2009-03-06 17:18 EST, Neil Hauge CLA
no flags Details
Updated features (4.58 KB, application/octet-stream)
2009-03-10 00:52 EDT, Neil Hauge CLA
no flags Details
Updated Update Site (15.72 KB, application/octet-stream)
2009-03-10 00:58 EDT, Neil Hauge CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Neil Hauge CLA 2009-03-06 15:50:30 EST
EclipseLink should provide Eclipse "Features" in order to make the EclipseLink OSGi bundles more easily consumed by the Eclipse IDE community.  Features group bundles into functional units that can be easily managed and consumed by users. 

An update site should also be provided to host these features (in addition to the Galileo update site which will host train specific content).
Comment 1 Neil Hauge CLA 2009-03-06 17:11:26 EST
Created attachment 127872 [details]
Initial cut at EclipseLink features

Attached is a first attempt at Eclipse Features for EclipseLink.  I have created a separate feature for EclipseLink JPA, Moxy, SDO, and Oracle.  The "Oracle" feature includes the Oracle DB specific functionality.

This is something to look at and help further discuss what should be defined.
Comment 2 Neil Hauge CLA 2009-03-06 17:18:08 EST
Created attachment 127873 [details]
First cut at EclipseLink UpdateSite

This is a first attempt at a p2 based update site that hosts the previously defined features.  It does not include the Oracle feature due to the build dependency issues.  

In the update site you will see the contents of a p2 repository.  I have not fully tested the update site or the plugins included, but it looks like they are functional.

To reduce the size of the file, I am removing the actual plugins from the zip.
Comment 3 Neil Hauge CLA 2009-03-10 00:52:07 EDT
Created attachment 128133 [details]
Updated features

Updated zip of features for JPA, Moxy, SDO, and Oracle functionality.  Changed to include dependencies as plugin entries as this appears to be the correct approach.
Comment 4 Neil Hauge CLA 2009-03-10 00:58:19 EDT
Created attachment 128134 [details]
Updated Update Site

This update site includes the necessary p2 metadata for dependencies.  I have tested it locally and everything seems to be working well.  We should be able to use this as a model for the production update site.

The following plugins should be dropped into the /plugins directory in the update site to test it:

commonj.sdo_2.1.1.jar
javax.jms_1.1.0.jar
javax.mail_1.4.0.jar
javax.persistence_1.99.0.jar
javax.resource_1.5.0.jar
javax.transaction_1.1.0.jar
javax.xml.bind_2.0.0.jar
javax.xml.rpc_1.1.0.jar
javax.xml.soap_1.3.0.jar
javax.xml.stream_1.0.0.jar
javax.xml.ws_2.0.0.jar
org.eclipse.persistence.antlr_1.1.0.jar
org.eclipse.persistence.asm_1.1.0.jar
org.eclipse.persistence.core_1.1.0.jar
org.eclipse.persistence.jpa_1.1.0.jar
org.eclipse.persistence.moxy_1.1.0.jar
org.eclipse.persistence.sdo_1.1.0.jar

I could also build a test site on the EclipseLink website and host it there for testing purposes.
Comment 5 Neil Hauge CLA 2009-03-10 09:25:04 EDT
Dropping in the latest jars from the 1.1 bundle builds should work, since the qualifier on those jars is only on the file name, not in the manifest.  As a result, these bundle jars don't actually have a qualifier in the bundle version.

When we are done with all of this, the qualifier should be a part of bundle version (as a result of build changes).  The build would update the qualifier segment on the bundles and the reference in the feature XML's.

Side note - I forgot about DBWS, so don't expect to see it in the list on the Update Site.
Comment 6 Neil Hauge CLA 2009-03-10 17:56:14 EDT
It turns out that dropping in the bundles doesn't work for a couple of reasons, that being - the MD5 hash check, and the file name qualifiers mismatch.

I have found that I don't have the access to publish the site on the EclipseLink website or in the EclipseLink area in the download server.  I'll try to transfer the file to someone with access and have them publish the site for people to test.
Comment 7 Shaun Smith CLA 2009-03-12 12:00:52 EDT
I've tried out the P2 repository work that Neil's done and successfully installed our bundles in to Eclipse 3.5M5.

We should not move to incorporate the generation of the P2 Repository into the EclipseLink build.  The repository should be generated in addition to the existing bundle zip as non-Eclipse IDE users will still prefer the zip.

We can do the build changes in the 1.1.1 branch but I'd like to see a P2 repository generated for 1.1 for the convenience of adopters and users.  For example, on the EclipseLink newsgroup a developer is trying to install into Eclipse 3.5 to build RCP apps and having a P2 repository available would simplify the environment configuration.
Comment 8 Shaun Smith CLA 2009-03-12 13:23:37 EDT
I just realized we also need features for the bundle sources.
Comment 9 Eric Gwin CLA 2009-04-14 12:29:45 EDT
*** Bug 263367 has been marked as a duplicate of this bug. ***
Comment 10 Eric Gwin CLA 2009-04-14 12:40:11 EDT
closed overall Galileo bug as duplicate, since most of the work is being tracked here.

Note: the Galileo bug explicitly wants Optimized Pack200 jars in the repository.
Adding here as requirement to close.

PM has asked for this bug to finalize the "feature definitions", then will send back to Eric (me) for implimentation. (assigning to Shaun)

Note on features: 
  I recall the feature discussion touched on adding features for:
    core (don't recall if we decided yea or nea)
    Equinox weaving
    source bundles (one for each feature created)
    DBWS (again don't recall yea or nea)
    Oracle

  We currently have features defined for:
    JPA
    MOXy
    SDO
Comment 11 Eric Gwin CLA 2009-05-27 13:52:13 EDT
Work is complete. four primary repositories exist:
http://download.eclipse.org/rt/eclipselink/updates - for release builds.(in release version directories (TBD - 1.1.1 currently resides in updates))
http://download.eclipse.org/rt/eclipselink/incremental-updates/milestone - the latest milestone build
http://download.eclipse.org/rt/eclipselink/incremental-updates/nightly - the latest nightly build
http://download.eclipse.org/rt/eclipselink/galileo-integration - the build currently use for Galileo integration.

There are six features:
org.eclipse.persistence.jpa
org.eclipse.persistence.moxy
org.eclipse.persistence.sdo
org.eclipse.persistence.jpa.source
org.eclipse.persistence.moxy.source
org.eclipse.persistence.sdo.source

These should be divided into two categories (not working with online builds yet):
EclipseLink
EclipseLink Source 
Comment 12 Eric Gwin CLA 2009-05-27 13:58:09 EDT
Work is proceeding on unresolved issues, but the sites are functioning. Closing bug.

Perhaps I should mention feature composition:
JPA contains:
Core (and dependencies)
Oracle extensions
JPA and dependencies
JPA Equinox Weaving

MOXy contains:
Core (and dependencies)
MOXy and dependencies

SDO contains:
Core (and dependencies)
MOXy and dependencies
SDO and dependencies
Comment 13 Eclipse Webmaster CLA 2022-06-09 10:08:02 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink