Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 189295

Summary: XSD Info Set (still) requires JDT, via update site
Product: Community Reporter: David Williams <david_williams>
Component: Cross-ProjectAssignee: Cross-Project issues <cross-project.inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: David.Olsen, Ed.Merks, marcelop, mober.at+eclipse
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Bug Depends on: 106804    
Bug Blocks:    

Description David Williams CLA 2007-05-26 14:04:53 EDT
I've done some early testing on Europa RC1 site and was surpised that picking XSD info set, then "select required" still pulls in JDT (this is starting with only the Eclipse Platform, naturally). 

The "cuplrit" is some emf codegen plugins, which require jdt. 

And, some 'importer' and 'exporter' plugins in xsd info set that pre-req emf codegen. 

I thought with all the new features defined in EMF, this problem was going to be fixed. At least, was hoping so. 

The use case we need working for WTP is that WST should be able to be installed without JDT. We have worked hard to get rid of all our own pre-reqs on JDT, and just fixed/got rid of our last use of codegen in wst. 

We do pre-req some XSD bundles (by design), but not the importer/exporter stuff that would end-up pre-reqing JDT. 

So, thought I'd enter this in cross-project, in case others are interested, but it's basically a request/question for EMF team ... is your stuff on update site correct and final and working as designed? Or ... is there a chance you could still tweak update site features so all the JDT pre-reqing stuff would be seperate, and then ommitted by "select required"? (if indeed, not required). 

Thanks,
Comment 1 Nick Boldt CLA 2007-05-27 01:23:19 EDT
Did you install the XSD SDK feature? Or just the individual XSD feature(s) you need? 
Comment 2 David Williams CLA 2007-05-27 02:41:40 EDT
In the update manager on Europa site, I just selected xsd end user plugin (which I think was "smallest" one available. 

Comment 3 David Williams CLA 2007-05-27 02:50:39 EDT
(In reply to comment #2)
> In the update manager on Europa site, I just selected xsd end user plugin
> (which I think was "smallest" one available. 
> 

Opps, I mean 'feature', of course. 

Comment 4 Martin Oberhuber CLA 2007-05-27 18:10:25 EDT
The request for being able to get EMF subfeatures which do not need JDT from the Europa site has been asked already in bug #106804 comment 44. Two options were proposed for satisfying this request.

Thinking about his more, what would you think about this proposal:
  * All the small EMF component features need to be on the Europa site anyways,
    they are just not listed in the site.xml
  * Let's list them all in the Europa site.xml, but in a special category e.g.
       "Automatically included subfeatures"
    with a description
       "This category contains components which update manager selects
       automatically when "Select Required" is chosen. These are not meant
       for manual selection."

Then, the WTP folk can just add EMF plugin dependencies into their feature.xml, on Europa choose WTP then "Select required" and they should get the right EMF featureset of small components they need but without codegen and without JDT... (and it would also make us DSDP folk happy for our TM Discovery component).
Comment 5 Nick Boldt CLA 2007-05-28 14:04:53 EDT
Do you like apples? ;-)

I spoke with Marcelo & Ed about this, and it's been suggested that rather than 

a) dropping 23 more emf/sdo/xsd features into Europa, or
b) creating yet more features (or features-of-features) for 'with JDT' and 'without JDT', (Tastes Great! Less Filling! Desert Topping! Floor Wax! Spoon! Fork!) we could...

c) simply drop two more features to Europa, emf.common and emf.ecore. Since these are really only useful as 'Enabling Features', I propose putting them in that category, so 'Select Required' can find them but J. Random Europa-User won't be burdened with them.

How do you like those apples? Would that be enough to satisfy the need for an 'EMF Lite: all the flavour, none of the JDT' Europa feature? 

(Forgive the preceding perceived flippancy or sarcasm -- I'm just in a good mood today, despite the fact that features still... ahem... suck.) ;-)
Comment 6 Nick Boldt CLA 2007-05-28 14:39:27 EDT
David (and cc: to John):

On further reflection, if I:

a) start with Eclipse 3.3RC1 SDK
b) use the RC1 Europa update site
c) pick WebTools' WST then hit Select Required...

... UM picks BOTH the org.eclipse.xsd feature and its SDK, too, which it should only be doing if you depend on something other than the org.eclipse.xsd plugin/feature. 

If you depend on org.eclipse.xsd.ecore.{importer,exporter}, then you depend on JDT, and no amount of feature reorging will change that.

XSD SDK feature (contains...)
  c> xsd.ecore.converter feature (contains...)
    c> xsd.ecore.{importer,exporter} plugins (depends on...)
      !> org.eclipse.emf.converter feature (contains...)
        c> org.eclipse.emf.{importer,exporter} plugins (depends on...)
          !> org.eclipse.jdt runtime feature (contains...)
            c> org.eclipse.jdt.core plugin

Comment 7 Nick Boldt CLA 2007-05-28 14:58:27 EDT
Another test: 

a) start with Eclipse 3.3RC2 Platform Runtime Binary
b) use the RC1 Europa update site AND the EMF Update site (http://download.eclipse.org/modeling/emf/updates/site-interim.xml)
c) pick WebTools' WST then hit Select Required...

The following 10 features get selected for install:

wst
gef
emf.common + common.ui
emf.ecore + emf.ecore.edit
emf.edit + emf.edit.ui
xsd + xsd.edit (.edit is what causes the XSD SDK feature to be selected)

So, if you want to avoid installing the full EMF or XSD runtimes/SDKs (and thus requiring JDT), we'd need to provide 7 new "Enabling Features" to Europa. 

Would those 7 make DSDP TM Discovery happy too?
Comment 8 Martin Oberhuber CLA 2007-05-29 09:25:03 EDT
(In reply to comment #7)
> emf.common + common.ui
> emf.ecore + emf.ecore.edit
> emf.edit + emf.edit.ui

These six features are exactly what TM Discovery needs, so yes this change would make us happy too :-)
Comment 9 Nick Boldt CLA 2007-05-31 13:54:07 EDT
As I've heard no objections or 'please add feature X, too' I'll add these 7 new "Enabling Features" to Europa today.
Comment 10 Nick Boldt CLA 2007-06-01 10:59:30 EDT
Martin, David:

The last RC2 respin worked[1], so you now have 7 new features to play with.

Can you run some tests using the staging site[2], and close this bug if you're both satisfied?

Thanks!

[1] http://dash.eclipse.org/~bfreeman/europa/#emf-emf
[2] http://download.eclipse.org/releases/europa/staging/
Comment 11 David Williams CLA 2007-06-05 19:18:51 EDT
(In reply to comment #10)

> Can you run some tests using the staging site[2], and close this bug if you're
> both satisfied?
> 

I'm happy. I tested the RC2 staging area and I could install WST without JDT. 
Very nice! Thank you so much for your attention to this, and willingness to "work around" the fact that features still... ahem... :)

Comment 12 Martin Oberhuber CLA 2007-06-06 05:25:45 EDT
Works perfectly fine for me as well, getting exactly the 6 small features I need.
Awsome!
Comment 13 Nick Boldt CLA 2007-06-07 16:55:58 EDT
Fixed in Europa 3.3RC2.