Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 181026 - support for adding JREs from definition files
Summary: support for adding JREs from definition files
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Debug (show other bugs)
Version: 3.3   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: 3.4 M2   Edit
Assignee: Curtis Windatt CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 182414
Blocks:
  Show dependency tree
 
Reported: 2007-04-04 14:28 EDT by Jeff McAffer CLA
Modified: 2007-11-13 09:00 EST (History)
10 users (show)

See Also:


Attachments
example ee file (729 bytes, text/plain)
2007-04-13 09:19 EDT, Darin Wright CLA
no flags Details
work in progress (20.30 KB, patch)
2007-04-13 12:56 EDT, Darin Wright CLA
no flags Details | Diff
adds UI for selecting .ee file (33.11 KB, patch)
2007-04-13 16:37 EDT, Darin Wright CLA
no flags Details | Diff
more (36.62 KB, patch)
2007-04-13 17:27 EDT, Darin Wright CLA
no flags Details | Diff
updated for 3.4 (33.39 KB, patch)
2007-07-26 12:28 EDT, Darin Wright CLA
no flags Details | Diff
patch (40.33 KB, patch)
2007-07-30 13:10 EDT, Darin Wright CLA
no flags Details | Diff
patch (41.22 KB, patch)
2007-07-30 14:39 EDT, Darin Wright CLA
no flags Details | Diff
patch (42.37 KB, patch)
2007-07-31 16:05 EDT, Darin Wright CLA
no flags Details | Diff
compatible EE's (45.22 KB, patch)
2007-08-02 13:06 EDT, Darin Wright CLA
no flags Details | Diff
patch (47.44 KB, patch)
2007-08-09 12:25 EDT, Darin Wright CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jeff McAffer CLA 2007-04-04 14:28:30 EDT
In 3.3 we did a mess of work around the launcher and support for different execution environments.  Much of this is documented on the web at places like 
  http://wiki.eclipse.org/index.php/Execution_Environment_Descriptions

It would be extremely useful to be able to add Installed JREs based on the definitions found in these files.  This would address problems we have today with targetting Foundation 1.1 and other configurations of J9 as well as alternate JRE configurations (e.g., Harmony, JRocket, ...).  We envision some relatively simple support in the Add JRE dialog to allow the specification of an .ee file rather than a JRE Home dir.  Then, rather than running the discovered JRE to interogate its class lib level, boot path, ... that information would be read directly from the declarative .ee file.  Note that this also better facilitates cross platform development where the developers are writing code for a JRE that does not actually run on their development machine (think embedded scenarios).
Comment 1 Jeff McAffer CLA 2007-04-04 14:29:13 EDT
In case there is any confusion, my PMC vote... +1
Comment 2 Darin Wright CLA 2007-04-13 09:19:48 EDT
Created attachment 63738 [details]
example ee file
Comment 3 Darin Wright CLA 2007-04-13 12:56:46 EDT
Created attachment 63777 [details]
work in progress

Adds infrastructure to support JREs defined by .ee files. The UI is not hooked up yet, but you can type an .ee file name into the "Add JRE" dialog as a home location, and it works.
Comment 4 Darin Wright CLA 2007-04-13 16:37:33 EDT
Created attachment 63794 [details]
adds UI for selecting .ee file
Comment 5 Darin Wright CLA 2007-04-13 17:27:22 EDT
Created attachment 63799 [details]
more

- added support to analyze class lib level, to recognize foundation1.0 and 1.1 configurations (for SDK compatible execution environments)
- added support for source archive property (ee.src)
Comment 6 Jeff McAffer CLA 2007-04-13 21:40:50 EDT
as a point of interest, what is the format for ee.src?  the wiki page just says that it is the source archive but in practice that may be many zips/jars.  Are we assuming that they are all together in one dir?  comma separated list?  of what?
Comment 7 Darin Wright CLA 2007-04-17 08:53:30 EDT
Targeting for 3.4
Comment 8 Darin Wright CLA 2007-07-26 12:28:56 EDT
Created attachment 74704 [details]
updated for 3.4

Updated patch for 3.4. Modified to read raw roperties file to avoid use of "java.util.Properties" file format (which does escaping, etc).
Comment 9 Darin Wright CLA 2007-07-30 13:10:13 EDT
Created attachment 74950 [details]
patch

Added support for generating default VM arguments from ee files. So default VM args can be initialized in the "Add VM" dialog (and other places we create VMs - searching, etc). Added method #getDefaultVMArguments() to AbstractVMInstallType (similar to contract for #getDefaultJavadocLocation()).

Still need to update EEVMType to return default VM args from the ee file.
Comment 10 Darin Wright CLA 2007-07-30 14:39:12 EDT
Created attachment 74960 [details]
patch

Updates to generate default VM arguments. All args in the ee definition file are passed through to the VM when invoked, and are set as default VM arguments in the UI.
Comment 11 Darin Wright CLA 2007-07-31 16:05:27 EDT
Created attachment 75076 [details]
patch

Minor updates to the "add VM dialog". Renamed buttons, update button enablement based on VM type. The "Definition File..." button is only enabled for the "Standard VM Type".
Comment 12 Darin Wright CLA 2007-08-02 13:06:50 EDT
Created attachment 75251 [details]
compatible EE's

Updated patch to compute compatible execution environments based on class.library.level entry in .ee file.
Comment 13 Darin Wright CLA 2007-08-09 12:25:57 EDT
Created attachment 75772 [details]
patch

Updated Javadoc in IVMInstallType and IVMInstall to reflect that a description file (in addition to a directory) can be used to describe/validate the install location of a VM install.
Comment 14 Darin Wright CLA 2007-08-10 16:15:44 EDT
Released initial support to HEAD along with tests. We also need to update the 'vmInstalls' extensin point to allow an extension to provide an '.ee' file when contributing a JRE.
Comment 15 Darin Wright CLA 2007-08-15 11:59:59 EDT
Fixed. Update vmInstalls extension point documentation to note that VM definition files may also be referenced by the "home" attribute. Updated JavaRuntime to initialize default VM args from VM install type when no explicit args are specified by an extension.
Comment 16 Darin Wright CLA 2007-08-15 12:00:14 EDT
Please verify, Curtis.
Comment 17 Darin Wright CLA 2007-08-15 14:15:13 EDT
Also updated user doc to describe the new buttons on the Add JRE dialog.
Comment 18 Curtis Windatt CLA 2007-08-16 16:06:42 EDT
Filed bug 200245, everything else looks good.

Verified.