From Fedora Project Wiki
(20 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= Eclipse 3.4 =
= Eclipse 3.4 =
== Summary ==
== Summary ==
Re-base to Eclipse 3.4 (Ganymede).
Re-base to Eclipse 3.4 (Ganymede).  What's new for this release?  In addition to bug fixes and general improvements, there are some interesting new features.  For example, there is the Equinox/p2 provisioning framework which replaces the old update manager.  The new update manager is a lot easier for the end-user to update and maintain the workbench.  In the JDT, multicore support has been added to ensure Eclipse is fast as possible for compiling Java code in the future.  As well, a new feature called Plug-in Spy has been added which is a useful tool for plug-in developers to determine what plug-in supplies a selection class.


== Owner ==
== Owner ==
Line 8: Line 8:
== Current status ==
== Current status ==
* Targeted release: [[Releases/10|  Fedora 10]]  
* Targeted release: [[Releases/10|  Fedora 10]]  
* Last updated: 2008-07-14
* Last updated: 2008-09-16 by Jeff Johnston
* Percentage of completion: 40%
* Percentage of completion: 100%
* Outstanding issues:
** <s>tag build in koji</s>
** <s>get p2 user UI working</s>
** <s>get builds going on non-upstream platforms</s>
** <s>get p2-ization stuff into package-build and eclipse-* %install sections</s>
** <s>run tests</s>
** <s>re-build icu4j, sat4j, tomcat5, and eclipse-*</s>


== Detailed Description ==
== Detailed Description ==
 
* The Eclipse project releases its IDE and development platform once a year.  The most recent release in June 2008 is version 3.4 also known as Ganymede.  A lot of improvements and functional additions appear in 3.4.


== Benefit to Fedora ==
== Benefit to Fedora ==
Line 19: Line 26:
== Scope ==
== Scope ==
See [https://bugzilla.redhat.com/show_bug.cgi?id=452875 452875]
See [https://bugzilla.redhat.com/show_bug.cgi?id=452875 452875]
* use p2
* <s>use p2</s>
** decide (with other distros and in consultation with upstream) about dropins location
** <s>decide (with other distros and in consultation with upstream) about dropins location</s>
** update pdebuild.sh to generate p2 metadata
** <s>update pdebuild.sh to generate p2 metadata</s>
** ensure our metadata is properly read by p2 if we're going to use the dropins approach for additional plugins
** <s>ensure our metadata is properly read by p2 if we're going to use the dropins approach for additional plugins</s>
** <s>ensure our arch-specific/arch-independent split still works</s>move everything to %{_libdir}/eclipse
** <s>ensure our arch-specific/arch-independent split still works</s>move everything in the SDK to %{_libdir}/eclipse
* <s>ensure we have all dependent packages updated and OSGi-ified a la [http://eclipse.org/orbit Orbit]</s>
* <s>ensure we have all dependent packages updated and OSGi-ified a la [http://eclipse.org/orbit Orbit]</s>
* <s>get sat4j [https://bugzilla.redhat.com/show_bug.cgi?id=453781 reviewed]</s>
* <s>get sat4j [https://bugzilla.redhat.com/show_bug.cgi?id=453781 reviewed]</s>
* ensure secondary arches can still build and run
* <s>ensure secondary arches can still build and run</s>ppc64 works.  I assume other arches will also work.


== Test Plan ==
== Test Plan ==
Line 35: Line 42:


== Dependencies ==
== Dependencies ==
* `sat4j` ([https://bugzilla.redhat.com/show_bug.cgi?id=453781 Review Request])
* <s>`sat4j` ([https://bugzilla.redhat.com/show_bug.cgi?id=453781 Review Request]</s>[http://koji.fedoraproject.org/koji/buildinfo?buildID=56190 Done].)
* <s>OSGi-ifying:  `objectweb-asm` (probably with a sub-package, `objectweb-asm-eclipse` or something)
* <s>OSGi-ifying:  `objectweb-asm` (probably with a sub-package, `objectweb-asm-eclipse` or something)
** get a mega-asm bundle from the multiple JARs we have in Fedora now</s>
** get a mega-asm bundle from the multiple JARs we have in Fedora now</s>
Line 98: Line 105:
||org.objectweb.asm_3.1.0.v200803061910.jar||objectweb-asm||<s>Need to get monolithic OSGi-ified JAR '''OR''' patch  pde.api to use the multiple jars (and will have to add OSGi MANIFEST.MFs to them).  The vast majority of the imports are included in asm-3.1.jar but two are in asm-tree-3.1.jar and one is in asm-util-3.1.jar.  See [http://fedorapeople.org/~overholt/asm.jars this file] for more details.</s>  ''Update 2008-07-07'':  Alexander Kurtakov has done the work to OSGi-ify asm-all.jar (which wasn't in Fedora).  <s>[https://bugzilla.redhat.com/show_bug.cgi?id=455263 Patch application request].</s>  [http://koji.fedoraproject.org/koji/taskinfo?taskID=714592 Done].
||org.objectweb.asm_3.1.0.v200803061910.jar||objectweb-asm||<s>Need to get monolithic OSGi-ified JAR '''OR''' patch  pde.api to use the multiple jars (and will have to add OSGi MANIFEST.MFs to them).  The vast majority of the imports are included in asm-3.1.jar but two are in asm-tree-3.1.jar and one is in asm-util-3.1.jar.  See [http://fedorapeople.org/~overholt/asm.jars this file] for more details.</s>  ''Update 2008-07-07'':  Alexander Kurtakov has done the work to OSGi-ify asm-all.jar (which wasn't in Fedora).  <s>[https://bugzilla.redhat.com/show_bug.cgi?id=455263 Patch application request].</s>  [http://koji.fedoraproject.org/koji/taskinfo?taskID=714592 Done].
|-
|-
||org.sat4j.core_2.0.0.v20080602.jar||sat4j||<s>[https://bugzilla.redhat.com/show_bug.cgi?id=453781 Review request]</s>  Pending Fedora CVS module creation.
||org.sat4j.core_2.0.0.v20080602.jar||sat4j||<s>[https://bugzilla.redhat.com/show_bug.cgi?id=453781 Review request]</s>  [http://koji.fedoraproject.org/koji/buildinfo?buildID=56190 Done]
|-
|-
||org.sat4j.pb_2.0.0.v20080602.jar||sat4j||<s>[https://bugzilla.redhat.com/show_bug.cgi?id=453781 Review request]</s>  Pending Fedora CVS module creation.
||org.sat4j.pb_2.0.0.v20080602.jar||sat4j||<s>[https://bugzilla.redhat.com/show_bug.cgi?id=453781 Review request]</s>  [http://koji.fedoraproject.org/koji/buildinfo?buildID=56190 Done]
|}
|}


== Contingency Plan ==
== Contingency Plan ==
Stick with Eclipse 3.3.2.
* Stick with Eclipse 3.3.2.


== Documentation ==
== Documentation ==
* http://help.eclipse.org


== Release Notes ==
== Release Notes ==
We may need a release note if we don't get user-installed plugins working.
We will need a release note stating that user-installed plugins from earlier releases will need to be re-installed for 3.4.
 
== Comments and Discussion ==
 
* See [[Talk:Features/Eclipse34]]


----
----
[[Category:ProposedFeature]]
 
[[Category:FeatureAcceptedF10]]

Revision as of 17:52, 16 September 2008

Eclipse 3.4

Summary

Re-base to Eclipse 3.4 (Ganymede). What's new for this release? In addition to bug fixes and general improvements, there are some interesting new features. For example, there is the Equinox/p2 provisioning framework which replaces the old update manager. The new update manager is a lot easier for the end-user to update and maintain the workbench. In the JDT, multicore support has been added to ensure Eclipse is fast as possible for compiling Java code in the future. As well, a new feature called Plug-in Spy has been added which is a useful tool for plug-in developers to determine what plug-in supplies a selection class.

Owner

Current status

  • Targeted release: Fedora 10
  • Last updated: 2008-09-16 by Jeff Johnston
  • Percentage of completion: 100%
  • Outstanding issues:
    • tag build in koji
    • get p2 user UI working
    • get builds going on non-upstream platforms
    • get p2-ization stuff into package-build and eclipse-* %install sections
    • run tests
    • re-build icu4j, sat4j, tomcat5, and eclipse-*

Detailed Description

  • The Eclipse project releases its IDE and development platform once a year. The most recent release in June 2008 is version 3.4 also known as Ganymede. A lot of improvements and functional additions appear in 3.4.

Benefit to Fedora

The latest bells and whistles :)

Scope

See 452875

  • use p2
    • decide (with other distros and in consultation with upstream) about dropins location
    • update pdebuild.sh to generate p2 metadata
    • ensure our metadata is properly read by p2 if we're going to use the dropins approach for additional plugins
    • ensure our arch-specific/arch-independent split still worksmove everything in the SDK to %{_libdir}/eclipse
  • ensure we have all dependent packages updated and OSGi-ified a la Orbit
  • get sat4j reviewed
  • ensure secondary arches can still build and runppc64 works. I assume other arches will also work.

Test Plan

Automated upstream tests, daily usage, 3rd party plugin installation

User Experience

The user should see a seamless upgrade from eclipse-*-3.3.2 to eclipse-*-3.4.0. Unfortunately, 3rd party plugins users have installed (into ~/.eclipse) will probably no longer work without re-installation (see Eclipse.org bug 223434.

Dependencies

  • sat4j (Review RequestDone.)
  • OSGi-ifying: objectweb-asm (probably with a sub-package, objectweb-asm-eclipse or something)
    • get a mega-asm bundle from the multiple JARs we have in Fedora now
  • the rest of the dependencies from Eclipse 3.3 except Tomcat (actually, still need Tomcat for the servlet{,.jsp} API and jasper sub-packages)

JARs we'll need to have to be able to symlink

These are all the JARs in the source drop. The source ones will be generated by the build so ignore those.

JAR filename Containing package More info
com.ibm.icu_3.8.1.v20080530.jar icu4j Upgrade to 3.8.1?Done
com.jcraft.jsch_0.1.37.v200803061811.jar jsch Ensure we have the proper version and MANIFEST.MF data.Done
javax.servlet.jsp_2.0.0.v200806031607.jar tomcat5-servlet-2.4-api Ensure we have the proper MANIFEST.MF data.Done
javax.servlet_2.4.0.v200806031604.jar tomcat5-jsp-2.0-api Ensure we have the proper MANIFEST.MF data.Done
org.apache.ant_1.7.0.v200803061910/lib/* ant I think we're good here.
org.apache.commons.el_1.0.0.v200806031608.jar jakarta-commons-el Done
org.apache.commons.logging_1.0.4.v20080605-1930.jar jakarta-commons-logging Done
org.apache.jasper_5.5.17.v200806031609.jar tomcat5-jasper-eclipse We have 5.5.26 but upstream ships against 5.5.17. We may need to see if anything has a hard version requirement on 5.5.17. Done
org.apache.lucene.analysis_1.9.1.v20080530-1600.jar lucene Ensure 2.3.x we have in Fedora still works. Done
org.apache.lucene_1.9.1.v20080530-1600.jar lucene Ensure 2.3.x we have in Fedora still works. Done
org.eclipse.ecf.filetransfer_2.0.0.v20080611-1715.jar eclipse-ecf For now, build as part of SDK build. In the future, we can have an eclipse-ecf package which builds and owns these files. Parts of ECF other than the filetransfer stuff (which is all the SDK uses) have dependencies on things we don't have in Fedora (Smack version 2 -- upstream is porting to 3.x; ch.ethz.iks.r_osgi.remote; ch.ethz.iks.slp).
org.eclipse.ecf.identity_2.0.0.v20080611-1715.jar eclipse-ecf
org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20080611-1715.jar eclipse-ecf
org.eclipse.ecf.provider.filetransfer_2.0.0.v20080611-1715.jar eclipse-ecf
org.eclipse.ecf.ssl_1.0.0.v20080611-1715.jar eclipse-ecf
org.eclipse.ecf_2.0.0.v20080611-1715.jar eclipse-ecf
org.eclipse.osgi/osgi/osgi.cmpn.jar internal to Eclipse Ensure unnecessary for build.
org.eclipse.osgi/osgi/osgi.core.jar internal to Eclipse Ensure unnecessary for build.
org.eclipse.osgi/supplement/osgi/osgi.jar internal to Eclipse Ensure unnecessary for build.
org.eclipse.swt.tools/swttools.jar internal to Eclipse Ensure unnecessary for build.
org.eclipse.swt.win32.win32.x86/swt.jar internal to Eclipse Ensure unnecessary for build.
org.eclipse.swt/extra_jars/exceptions.jar internal to Eclipse Ensure unnecessary for build.
org.junit4/junit.jar junit4 No work needed.
org.junit_3.8.2.v20080602-1318/junit.jar junit No work needed.
org.mortbay.jetty_5.1.14.v200806031611.jar jetty Upgrade to 5.1.14? Verify new build has proper OSGi data in MANIFEST.MF.Done
org.objectweb.asm_3.1.0.v200803061910.jar objectweb-asm Need to get monolithic OSGi-ified JAR OR patch pde.api to use the multiple jars (and will have to add OSGi MANIFEST.MFs to them). The vast majority of the imports are included in asm-3.1.jar but two are in asm-tree-3.1.jar and one is in asm-util-3.1.jar. See this file for more details. Update 2008-07-07: Alexander Kurtakov has done the work to OSGi-ify asm-all.jar (which wasn't in Fedora). Patch application request. Done.
org.sat4j.core_2.0.0.v20080602.jar sat4j Review request Done
org.sat4j.pb_2.0.0.v20080602.jar sat4j Review request Done

Contingency Plan

  • Stick with Eclipse 3.3.2.

Documentation

Release Notes

We will need a release note stating that user-installed plugins from earlier releases will need to be re-installed for 3.4.

Comments and Discussion