Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jdt-dev] [test] Hard-coded class libraries names in org/eclipse/jdt/core/tests/util/Util.java

In the function "public static String[] getJavaClassLibs()", it will get the
class library path according to the name of vm. But Harmony
(harmony.apache.org) class library use J9 VM (modified version but with the
same vm name as J9) and DRLVM, While their class library is neither in
jre/lib/rt.jar or jre/lib/jclMax/classes.zip. The class library deployed in
lib/boot/*.jar.

It will make the test all fail because the test can not locate the library's
class.
So could you refactor the function to let it support the harmony's class
library?

// Line 499 of Util.java

if ("DRLVM".equals(vmName)) {
FilenameFilter jarFilter = new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.endsWith(".jar") &
!name.endsWith("-src.jar");
}
};
String[] jars = new File(jreDir + "/lib/boot/").list(jarFilter);
for (int i = 0; i < jars.length; i++) {
jars[i] = toNativePath(jreDir + "/lib/boot/" + jars[i]);
}
return jars;
}


if ("J9".equals(vmName)) {
if (vm is from harmony)
add harmony's classlib jars in to the path.

else{
in deed IBM JDK
return path;
}

Thanks.


--
Sean Qiu

Back to the top