Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[pde-dev] [api tooling] system libraries in API baseline

API tooling developers,

Oliver found he needed access to the system libraries in order to be able 
to resolve type hierarchies, etc., for the compiler (when comparining 
types for API changes). Our API baseline already has a concept of 
"execution environment" (eg. J2SE-1.4). So, when the baseline is created, 
I add an "API component" to the baseline representing system libraries. 
Unfortunately, all the JDT code that works with execution environments and 
JREs, etc., requires an OSGi framework running to work. So, for now I've 
specified that an "execution environment description" file has to be 
passed into the baseline when you're creating it. (See 
http://wiki.eclipse.org/index.php/Execution_Environment_Descriptions for a 
description of the file format).

The file actually has more information than we need (we just need the 
library locations and execution environment name). So the file you pass in 
can be quite simple - for example, this is what I used for JDK1.4.2_08 
from SUN (which I placed in the \bin directory of the JRE installation).

-Djava.home=${ee.home}\..
-Dee.bootclasspath=..\jre\lib\rt.jar;..\jre\lib\sunrsasign.jar;..\jre\lib\jsse.jar;..\jre\lib\jce.jar;..\jre\lib\charsets.jar
-Dee.language.level=1.4
-Dee.class.library.level=J2SE-1.4

When running the API tooling tests you have to specify your ee file as a 
VM arg "-Dee.file={path to file}".  The UI code that creates baselines can 
generate an EE file for a user-chosen JRE and EE. I've added code to do 
this as well.

Darin Wright



Back to the top