Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between pages "Execution Environments" and "CDT/Developer/FAQ"

(Difference between pages)
 
m
 
Line 1: Line 1:
==What are Execution Environments?==
+
== General ==
  
Execution environments tell the compiler and runtime the minimum level of class libraries required by your plug-in.
+
* Is it fun writing code for the CDT?
  
==Why should I set them for my plug-in?==
+
You betcha! And the Eclipse SDK is such a great environment to work in. We've pumped out quality code by the boat load without a lot of effort.
  
Our goal should always be to minimize our dependancies to make our plug-ins useful in more scenerios. If you set your EE to be J2SE-1.3, then the compiler will help you stick to that and not let you use APIs which exist in other class library versions. If you choose to increase your EE level, then you are forced to explicitly do so, rather than finding out later that you did it accidentally by referencing new APIs.
+
== Release Engineering ==
  
==Which Execution Environment should I use?==
+
* Where can I get the latest builds?
  
Check out the table of execution environments in the [http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_2.html#Appendix1 Eclipse 3.2 Plan]. The execution environment listed in the table is what your plug-in is committed to. If there is an error with the table, please send a note to the  [mailto:eclipse-dev@eclipse.org eclipse-dev] mailing list and someone will update the table.
+
We have a build machine, [http://cdt.eclipse.org cdt.eclipse.org], that we use for our builds. You can access them from the builds section on its home page. You can also generate your own builds by checking out the CDT out of CVS and using the Export -> Deployable Feature menu item provided by the PDE.
 
+
==Setting the Execution Environment==
+
# Use build N20060420-0010 or later.
+
# Right click on your plug-in's <tt>MANIFEST.MF</tt> and select '''Open With...''' -> '''Plug-in Manifest Editor'''.
+
# Select the '''Overview''' tab.
+
# Note the section in the lower left corner entitled '''Execution Environments'''.
+
# Add your appropriate environment(s).
+
# Save the file.
+
# Select the link "update the classpath and compiler compliance settings".
+
# Ensure you have no compile errors in your workspace.
+
# Release your changes to the repository.
+
 
+
 
+
==Special cases==
+
 
+
===Foundation Class Libraries===
+
Plug-ins that are Foundation 1.0 should in fact list Foundation 1.0 AND J2SE-1.3 in their execution environments.  This is because Foundation 1.0 is not a proper subset of 1.3.  Listing them both will in essence say that the intersection of the
+
two is valid for use in that plug-in. The situation is the same for Foundation 1.1 and J2SE-1.4.
+
 
+
[[J9 | Getting J9]] is the easiest way to get a Foundation JRE to run or compile against.
+
 
+
===Compiling Against More Than Is Required===
+
In some cases, a plug-in may require a higher version to compile against, but is able to run perfectly fine against a lower version. For instance, the <tt>org.eclipse.osgi</tt> bundle will use <tt>java.nio.*</tt> classes if available. So it must be compiled against J2SE-1.4 but can run on OSGI/Minimum-1.0.
+
 
+
In these cases the EE required to compile against must appear '''first''' in the list. So for <tt>org.eclipse.osgi</tt>, the list (in order) is ''J2SE-1.4'' then ''OSGI/Minimum-1.0''.
+
 
+
===XML===
+
Some bundles may think that they require an EE of J2SE-1.4 but really the only special thing that they require from the 1.4 class libraries are the JAXP XML APIs. So in these cases they can be listed as having an EE of J2SE-1.3 because they still will run ok if another bundle is providing the XML APIs.
+

Revision as of 14:01, 5 May 2006

General

  • Is it fun writing code for the CDT?

You betcha! And the Eclipse SDK is such a great environment to work in. We've pumped out quality code by the boat load without a lot of effort.

Release Engineering

  • Where can I get the latest builds?

We have a build machine, cdt.eclipse.org, that we use for our builds. You can access them from the builds section on its home page. You can also generate your own builds by checking out the CDT out of CVS and using the Export -> Deployable Feature menu item provided by the PDE.

Back to the top