|
From: <ls...@us...> - 2009-04-29 19:58:10
|
Revision: 5360
http://jnode.svn.sourceforge.net/jnode/?rev=5360&view=rev
Author: lsantha
Date: 2009-04-29 19:58:08 +0000 (Wed, 29 Apr 2009)
Log Message:
-----------
Improved handling of classlib classes in jnode trunk.
Modified Paths:
--------------
trunk/all/build-x86.xml
trunk/all/build.xml
trunk/all/conf/default-plugin-list.xml
trunk/all/conf/system-plugin-list.xml
trunk/builder/src/builder/org/jnode/build/AbstractAsmConstBuilder.java
trunk/core/build.xml
trunk/core/descriptors/com.sun.tools.javac.xml
trunk/core/descriptors/com.sun.tools.jdi.xml
trunk/core/descriptors/javax.ext.tools.xml
trunk/core/descriptors/org.classpath.core.xml
trunk/core/descriptors/org.classpath.ext.awt.xml
trunk/core/descriptors/org.classpath.ext.corba.xml
trunk/core/descriptors/org.classpath.ext.core.xml
trunk/core/descriptors/org.classpath.ext.imageio.xml
trunk/core/descriptors/org.classpath.ext.jdwp.xml
trunk/core/descriptors/org.classpath.ext.management.xml
trunk/core/descriptors/org.classpath.ext.print.xml
trunk/core/descriptors/org.classpath.ext.security.xml
trunk/core/descriptors/org.classpath.ext.sql.xml
trunk/core/descriptors/org.classpath.ext.xml
trunk/core/descriptors/org.classpath.ext.xml.ws.tools.xml
trunk/core/descriptors/org.classpath.ext.xml.ws.xml
trunk/core/descriptors/org.classpath.ext.xml.xml
trunk/core/descriptors/org.classpath.tools.xml
trunk/core/descriptors/org.jnode.vm.core.xml
trunk/core/descriptors/sun.tools.xml
trunk/core/src/core/org/jnode/vm/VmSystemClassLoader.java
trunk/core/src/test/org/jnode/test/core/IMTCompilerTest.java
Added Paths:
-----------
trunk/core/descriptors/org.classpath.core.vm.xml
trunk/core/descriptors/org.classpath.ext.core.vm.xml
Modified: trunk/all/build-x86.xml
===================================================================
--- trunk/all/build-x86.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/all/build-x86.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -130,7 +130,8 @@
<taskdef name="genconst" classname="org.jnode.build.x86.AsmConstBuilder" classpathref="cp-x86" />
<taskdef name="asm" classname="org.jnode.ant.taskdefs.Asm" classpathref="cp-x86" />
- <genconst destfile="${build.native.dir}/src/java.inc" bits="${jnode.bits}" classesURL="file:///${jnode-core.jar}/">
+ <genconst destfile="${build.native.dir}/src/java.inc" bits="${jnode.bits}"
+ classesURL="file:///${jnode-core.jar}/,jar:file://${classlib.jar}!/,file:///${root.dir}/builder/build/classes/">
<class classname="java.lang.Throwable" />
<class classname="org.jnode.build.x86.BootImageBuilder" static="on" />
<class classname="org.jnode.vm.SoftByteCodes" static="on" />
Modified: trunk/all/build.xml
===================================================================
--- trunk/all/build.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/all/build.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -108,6 +108,7 @@
<property name="jnode-x86_64-lite.iso" value="${cdroms.dir}/jnode-x86_64-lite.iso"/>
<path id="cp">
+ <pathelement location="${classlib.jar}"/>
<pathelement location="${mmtk.jar}"/>
<pathelement location="${ant.jar}"/>
<pathelement location="${junit.jar}"/>
@@ -230,18 +231,6 @@
</then>
</if>
<property name="classlib.stamp" value="${root.dir}/all/build/classlib.stamp" />
- <if>
- <or>
- <not>
- <available file="${classlib.stamp}" />
- </not>
- <uptodate srcfile="${classlib.stamp}" targetfile="${classlib.jar}"/>
- </or>
- <then>
- <unjar src="${classlib.jar}" dest="${jnode-core.jar}"/>
- <touch file="${classlib.stamp}"/>
- </then>
- </if>
</target>
<!-- Call the assemble target of all subprojects -->
@@ -255,6 +244,96 @@
<target name="assemble-plugins" depends="assemble-projects,openjdk-annotate">
<!-- Now assemble all plugins -->
<taskdef name="plugin" classname="org.jnode.build.PluginTask" classpathref="cp-jnode"/>
+ <if>
+ <or>
+ <not>
+ <available file="${classlib.stamp}" />
+ </not>
+ <uptodate srcfile="${classlib.stamp}" targetfile="${classlib.jar}"/>
+ </or>
+ <then>
+ <!-- Now assemble all plugins -->
+ <plugin todir="${plugins.dir}" tmpdir="${build.dir}/tmp/plugins" pluginDir="${descriptors.dir}">
+ <packager userApplicationsDir="${user.applications.dir}" pathRefId="cp"/>
+
+ <libalias name="jnode-core.jar" alias="${jnode-core.jar}"/>
+ <libalias name="jnode-distr.jar" alias="${jnode-distr.jar}"/>
+ <libalias name="jnode-fs.jar" alias="${jnode-fs.jar}"/>
+ <libalias name="jnode-gui.jar" alias="${jnode-gui.jar}"/>
+ <libalias name="jnode-textui.jar" alias="${jnode-textui.jar}"/>
+ <libalias name="jnode-net.jar" alias="${jnode-net.jar}"/>
+ <libalias name="jnode-shell.jar" alias="${jnode-shell.jar}"/>
+
+ <libalias name="jnode-mmtk-genrc.jar" alias="${jnode-mmtk-genrc.jar}"/>
+ <libalias name="jnode-mmtk-ms.jar" alias="${jnode-mmtk-ms.jar}"/>
+ <libalias name="jnode-mmtk-nogc.jar" alias="${jnode-mmtk-nogc.jar}"/>
+
+ <libalias name="mmtk.jar" alias="${mmtk.jar}"/>
+
+ <libalias name="commons-net-1.1.0.jar" alias="${commons-net.jar}"/>
+ <libalias name="dnsjava-1.6.6.jar" alias="${dnsjava.jar}"/>
+ <libalias name="jsch-0.1.24.jar" alias="${jsch.jar}"/>
+ <libalias name="log4j.jar" alias="${log4j.jar}"/>
+ <libalias name="beanshell.jar" alias="${beanshell.jar}"/>
+ <libalias name="nanoxml-java.jar" alias="${nanoxml-java.jar}"/>
+ <libalias name="js.jar" alias="${js.jar}"/>
+ <libalias name="thinlet.jar" alias="${thinlet.jar}"/>
+
+ <libalias name="junit.jar" alias="${junit.jar}"/>
+ <libalias name="jmock-1.0.1.jar" alias="${jmock.jar}"/>
+ <libalias name="jmock-cglib-1.0.1.jar" alias="${jmock-cglib.jar}"/>
+ <libalias name="asm.jar" alias="${asm.jar}"/>
+ <libalias name="asm-attrs.jar" alias="${asm-attrs.jar}"/>
+ <libalias name="asm-util.jar" alias="${asm-util.jar}"/>
+ <libalias name="cglib.jar" alias="${cglib.jar}"/>
+ <libalias name="mauve.jar" alias="${mauve.jar}"/>
+
+ <libalias name="ant.jar" alias="${ant.jar}"/>
+ <libalias name="ant-launcher.jar" alias="${ant-launcher.jar}"/>
+ <libalias name="edtftpj.jar" alias="${edtftpj.jar}"/>
+ <libalias name="jcifs.jar" alias="${jcifs.jar}"/>
+ <libalias name="ejc.jar" alias="${ejc.jar}"/>
+ <libalias name="oncrpc.jar" alias="${oncrpc.jar}"/>
+ <libalias name="telnetd.jar" alias="${telnetd.jar}"/>
+ <libalias name="commons-logging.jar" alias="${commons-logging.jar}"/>
+ <libalias name="jawk.jar" alias="${jawk.jar}"/>
+ <libalias name="jetty.jar" alias="${jetty.jar}"/>
+ <libalias name="jetty-util.jar" alias="${jetty-util.jar}"/>
+ <libalias name="jsp.jar" alias="${jsp.jar}"/>
+ <libalias name="jsp-api.jar" alias="${jsp-api.jar}"/>
+ <libalias name="servlet.jar" alias="${servlet.jar}"/>
+ <libalias name="derby.jar" alias="${derby.jar}"/>
+ <libalias name="derbynet.jar" alias="${derbynet.jar}"/>
+ <libalias name="derbytools.jar" alias="${derbytools.jar}"/>
+ <libalias name="classlib.jar" alias="${classlib.jar}"/>
+
+ <descriptors dir="${descriptors.dir}/">
+ <include name="org.classpath.core.xml"/>
+ <include name="org.classpath.ext.awt.xml"/>
+ <include name="org.classpath.ext.corba.xml"/>
+ <include name="org.classpath.ext.core.xml"/>
+ <include name="org.classpath.ext.imageio.xml"/>
+ <include name="org.classpath.ext.jdwp.xml"/>
+ <include name="org.classpath.ext.management.xml"/>
+ <include name="org.classpath.ext.print.xml"/>
+ <include name="org.classpath.ext.security.xml"/>
+ <include name="org.classpath.ext.sql.xml"/>
+ <include name="org.classpath.ext.xml"/>
+ <include name="org.classpath.ext.xml.ws.tools.xml"/>
+ <include name="org.classpath.ext.xml.ws.xml"/>
+ <include name="org.classpath.ext.xml.xml"/>
+ <include name="org.classpath.tools.xml"/>
+ <include name="com.sun.tools.javac.xml"/>
+ <include name="com.sun.tools.jdi.xml"/>
+ <include name="javax.ext.tools.xml"/>
+ <include name="sun.tools.xml"/>
+ </descriptors>
+ </plugin>
+
+ <touch file="${classlib.stamp}"/>
+ </then>
+ </if>
+
<plugin todir="${plugins.dir}" tmpdir="${build.dir}/tmp/plugins" pluginDir="${descriptors.dir}">
<packager userApplicationsDir="${user.applications.dir}" pathRefId="cp"/>
@@ -311,6 +390,26 @@
<descriptors dir="${descriptors.dir}/">
<include name="*.xml"/>
<exclude name="*plugin-list.xml"/>
+ <exclude name="com.sun.tools.javac.xml"/>
+ <exclude name="com.sun.tools.jdi.xml"/>
+ <exclude name="javax.ext.tools.xml"/>
+ <exclude name="sun.tools.xml"/>
+ <exclude name="org.classpath.core.xml"/>
+ <exclude name="org.classpath.core.xml"/>
+ <exclude name="org.classpath.ext.awt.xml"/>
+ <exclude name="org.classpath.ext.corba.xml"/>
+ <exclude name="org.classpath.ext.core.xml"/>
+ <exclude name="org.classpath.ext.imageio.xml"/>
+ <exclude name="org.classpath.ext.jdwp.xml"/>
+ <exclude name="org.classpath.ext.management.xml"/>
+ <exclude name="org.classpath.ext.print.xml"/>
+ <exclude name="org.classpath.ext.security.xml"/>
+ <exclude name="org.classpath.ext.sql.xml"/>
+ <exclude name="org.classpath.ext.xml"/>
+ <exclude name="org.classpath.ext.xml.ws.tools.xml"/>
+ <exclude name="org.classpath.ext.xml.ws.xml"/>
+ <exclude name="org.classpath.ext.xml.xml"/>
+ <exclude name="org.classpath.tools.xml"/>
</descriptors>
</plugin>
</target>
Modified: trunk/all/conf/default-plugin-list.xml
===================================================================
--- trunk/all/conf/default-plugin-list.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/all/conf/default-plugin-list.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -10,6 +10,7 @@
<attribute key="Main-Class-Arg" value="boot"/>
</manifest>
+ <plugin id="org.classpath.ext.core.vm"/>
<plugin id="org.jnode.driver"/>
<plugin id="org.jnode.driver.block"/>
<plugin id="org.jnode.partitions"/>
Modified: trunk/all/conf/system-plugin-list.xml
===================================================================
--- trunk/all/conf/system-plugin-list.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/all/conf/system-plugin-list.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -9,6 +9,7 @@
<plugin id="org.apache.jakarta.log4j"/>
<plugin id="nanoxml"/>
<plugin id="rt"/>
+ <plugin id="rt.vm"/>
<plugin id="org.jnode.runtime"/>
<plugin id="org.jnode.runtime.core"/>
Modified: trunk/builder/src/builder/org/jnode/build/AbstractAsmConstBuilder.java
===================================================================
--- trunk/builder/src/builder/org/jnode/build/AbstractAsmConstBuilder.java 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/builder/src/builder/org/jnode/build/AbstractAsmConstBuilder.java 2009-04-29 19:58:08 UTC (rev 5360)
@@ -46,7 +46,7 @@
public abstract class AbstractAsmConstBuilder {
private File destFile;
- private URL classesURL;
+ private String classesURL;
private ArrayList<ClassName> classes = new ArrayList<ClassName>();
/**
@@ -76,8 +76,12 @@
throws BuildException, ClassNotFoundException, IllegalAccessException, IOException, InstantiationException {
final VmArchitecture arch = getArchitecture();
- final int slotSize = arch.getReferenceSize();
- final VmSystemClassLoader cl = new VmSystemClassLoader(classesURL, arch);
+ String[] urls = classesURL.split(",");
+ URL[] urla = new URL[urls.length];
+ for (int i = 0; i < urls.length; i++)
+ urla[i] = new URL(urls[i].trim());
+
+ final VmSystemClassLoader cl = new VmSystemClassLoader(urla, arch);
final Vm vm = new Vm("?", arch, cl.getSharedStatics(), false, cl, null);
vm.toString(); // Just to avoid compiler warnings
VmType.initializeForBootImage(cl);
@@ -90,8 +94,8 @@
out.println();
for (ClassName cn : classes) {
- final URL classUrl = cn.getURL(classesURL);
- lastModified = Math.max(lastModified, classUrl.openConnection().getLastModified());
+ lastModified = Math.max(lastModified, cl.findResource(cn.getClassFileName()).
+ openConnection().getLastModified());
out.println("; Constants for " + cn.getClassName());
if (cn.isStatic()) {
@@ -221,6 +225,10 @@
public URL getURL(URL root) throws MalformedURLException {
return new URL(root.toExternalForm() + "/" + className.replace('.', '/') + ".class");
}
+
+ public String getClassFileName() {
+ return "/" + className.replace('.', '/') + ".class";
+ }
}
/**
@@ -228,7 +236,7 @@
*
* @return URL
*/
- public URL getClassesURL() {
+ public String getClassesURL() {
return classesURL;
}
@@ -237,7 +245,7 @@
*
* @param classesURL The classesURL to set
*/
- public void setClassesURL(URL classesURL) {
+ public void setClassesURL(String classesURL) {
this.classesURL = classesURL;
}
Modified: trunk/core/build.xml
===================================================================
--- trunk/core/build.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/build.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -95,6 +95,7 @@
<jnode.compile destdir="${my-classes-plan.dir}/@{package}/">
<src path="${my-gen-plan.dir}/@{package}/"/>
<classpath>
+ <pathelement location="${classlib.jar}"/>
<pathelement location="${jnode-code.jar}"/>
<pathelement location="${mmtk.jar}"/>
</classpath>
Modified: trunk/core/descriptors/com.sun.tools.javac.xml
===================================================================
--- trunk/core/descriptors/com.sun.tools.javac.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/descriptors/com.sun.tools.javac.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -13,7 +13,7 @@
<import plugin="javax.ext.tools"/>
</requires>
<runtime>
- <library name="jnode-core.jar">
+ <library name="classlib.jar">
<export name="com.sun.mirror.apt.*"/>
<export name="com.sun.mirror.declaration.*"/>
<export name="com.sun.mirror.type.*"/>
Modified: trunk/core/descriptors/com.sun.tools.jdi.xml
===================================================================
--- trunk/core/descriptors/com.sun.tools.jdi.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/descriptors/com.sun.tools.jdi.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -10,7 +10,7 @@
license-name="classpath">
<runtime>
- <library name="jnode-core.jar">
+ <library name="classlib.jar">
<export name="com.sun.jdi.*"/>
<export name="com.sun.jdi.connect.*"/>
<export name="com.sun.jdi.connect.spi.*"/>
Modified: trunk/core/descriptors/javax.ext.tools.xml
===================================================================
--- trunk/core/descriptors/javax.ext.tools.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/descriptors/javax.ext.tools.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -15,7 +15,7 @@
</requires>
<runtime>
- <library name="jnode-core.jar">
+ <library name="classlib.jar">
<export name="javax.annotation.processing.*"/>
<export name="javax.lang.model.*"/>
<export name="javax.lang.model.element.*"/>
Copied: trunk/core/descriptors/org.classpath.core.vm.xml (from rev 5355, trunk/core/descriptors/org.classpath.ext.awt.xml)
===================================================================
--- trunk/core/descriptors/org.classpath.core.vm.xml (rev 0)
+++ trunk/core/descriptors/org.classpath.core.vm.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plugin SYSTEM "jnode.dtd">
+
+<plugin id="rt.vm"
+ name="Classpath AWT classes"
+ version="@VERSION@"
+ system="true"
+ plugin-version="@VERSION@"
+ provider-name="Classpath"
+ provider-url="http://classpath.org"
+ license-name="classpath">
+
+ <runtime>
+ <library name="jnode-core.jar">
+ <export name="gnu.classpath.*"/>
+ <export name="gnu.classpath.jdwp.*"/>
+ <export name="gnu.classpath.jdwp.transport.*"/>
+ <export name="gnu.java.security.action.*"/>
+ <export name="gnu.java.security.util.*"/>
+ <export name="java.io.*"/>
+ <export name="java.lang.*"/>
+ <export name="java.lang.ref.*"/>
+ <export name="java.lang.reflect.*"/>
+ <export name="java.net.*"/>
+ <export name="java.nio.*"/>
+ <export name="java.nio.channels.*"/>
+ <export name="java.security.*"/>
+ <export name="java.sql.*"/>
+ <export name="java.util.*"/>
+ <export name="java.util.concurrent.atomic.*"/>
+ <export name="java.util.jar.*"/>
+ <export name="java.util.logging.*"/>
+ <export name="java.util.prefs.*"/>
+ <export name="javax.imageio.spi.*"/>
+ <export name="sun.reflect.*"/>
+ <export name="sun.misc.*"/>
+ <export name="sun.security.provider.*"/>
+
+ <export name="javax.isolate.*"/>
+ </library>
+ </runtime>
+</plugin>
Modified: trunk/core/descriptors/org.classpath.core.xml
===================================================================
--- trunk/core/descriptors/org.classpath.core.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/descriptors/org.classpath.core.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -10,7 +10,7 @@
license-name="classpath">
<runtime>
- <library name="jnode-core.jar">
+ <library name="classlib.jar">
<export name="com.sun.beans.*"/>
<export name="com.sun.beans.finder.*"/>
<export name="com.sun.java.util.jar.pack.*"/>
@@ -121,8 +121,6 @@
<export name="java.util.concurrent.atomic.*"/>
<export name="java.util.concurrent.locks.*"/>
- <export name="javax.isolate.*"/>
-
<export name="javax.naming.*"/>
<export name="javax.naming.spi.*"/>
@@ -160,6 +158,7 @@
<export name="org.xml.sax.*"/>
<export name="org.jnode.java.io.*"/>
+ <export name="org.jnode.annotation.*"/>
<export name="org.w3c.dom.*"/>
<export name="org.w3c.dom.bootstrap.*"/>
Modified: trunk/core/descriptors/org.classpath.ext.awt.xml
===================================================================
--- trunk/core/descriptors/org.classpath.ext.awt.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/descriptors/org.classpath.ext.awt.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -11,7 +11,7 @@
license-name="classpath">
<runtime>
- <library name="jnode-core.jar">
+ <library name="classlib.jar">
<export name="gnu.java.awt.peer.headless.*"/>
<export name="gnu.java.awt.peer.swing.*"/>
<export name="gnu.java.awt.font.*"/>
Modified: trunk/core/descriptors/org.classpath.ext.corba.xml
===================================================================
--- trunk/core/descriptors/org.classpath.ext.corba.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/descriptors/org.classpath.ext.corba.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -11,7 +11,7 @@
license-name="classpath">
<runtime>
- <library name="jnode-core.jar">
+ <library name="classlib.jar">
<export name="javax.rmi.CORBA.*"/>
<export name="org.omg.CORBA.*"/>
Added: trunk/core/descriptors/org.classpath.ext.core.vm.xml
===================================================================
--- trunk/core/descriptors/org.classpath.ext.core.vm.xml (rev 0)
+++ trunk/core/descriptors/org.classpath.ext.core.vm.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plugin SYSTEM "jnode.dtd">
+
+<fragment id="org.classpath.ext.core.vm"
+ name="Classpath AWT classes"
+ version="@VERSION@"
+ plugin-id="rt"
+ plugin-version="@VERSION@"
+ provider-name="Classpath"
+ provider-url="http://classpath.org"
+ license-name="classpath">
+
+ <runtime>
+ <library name="jnode-core.jar">
+ <export name="java.awt.*"/>
+ <export name="java.awt.event.*"/>
+ <export name="java.awt.image.*"/>
+ <export name="sun.awt.*"/>
+ <export name="sun.awt.image.*"/>
+ <export name="sun.font.*"/>
+ <export name="sun.java2d.*"/>
+ <export name="sun.java2d.loops.*"/>
+ <export name="sun.java2d.pipe.*"/>
+ <export name="sun.rmi.server.*"/>
+ <export name="org.jnode.imageio.jpeg.*"/>
+ </library>
+ </runtime>
+</fragment>
Modified: trunk/core/descriptors/org.classpath.ext.core.xml
===================================================================
--- trunk/core/descriptors/org.classpath.ext.core.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/descriptors/org.classpath.ext.core.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -11,7 +11,7 @@
license-name="classpath">
<runtime>
- <library name="jnode-core.jar">
+ <library name="classlib.jar">
<export name="com.sun.media.sound.*"/>
Modified: trunk/core/descriptors/org.classpath.ext.imageio.xml
===================================================================
--- trunk/core/descriptors/org.classpath.ext.imageio.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/descriptors/org.classpath.ext.imageio.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -11,7 +11,7 @@
license-name="classpath">
<runtime>
- <library name="jnode-core.jar">
+ <library name="classlib.jar">
<export name="com.sun.imageio.stream.*"/>
<export name="com.sun.imageio.spi.*"/>
@@ -34,8 +34,6 @@
<export name="gnu.javax.imageio.gif.*"/>
<export name="gnu.javax.imageio.jpeg.*"/>
<export name="gnu.javax.imageio.png.*"/>
-
- <export name="org.jnode.imageio.jpeg.*"/>
</library>
</runtime>
Modified: trunk/core/descriptors/org.classpath.ext.jdwp.xml
===================================================================
--- trunk/core/descriptors/org.classpath.ext.jdwp.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/descriptors/org.classpath.ext.jdwp.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -11,7 +11,7 @@
license-name="classpath">
<runtime>
- <library name="jnode-core.jar">
+ <library name="classlib.jar">
<export name="gnu.classpath.jdwp.*"/>
<export name="gnu.classpath.jdwp.event.*"/>
<export name="gnu.classpath.jdwp.event.filters.*"/>
Modified: trunk/core/descriptors/org.classpath.ext.management.xml
===================================================================
--- trunk/core/descriptors/org.classpath.ext.management.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/descriptors/org.classpath.ext.management.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -11,7 +11,7 @@
license-name="classpath">
<runtime>
- <library name="jnode-core.jar">
+ <library name="classlib.jar">
<export name="com.sun.management.*"/>
<export name="com.sun.jmx.defaults.*"/>
<export name="com.sun.jmx.interceptor.*"/>
Modified: trunk/core/descriptors/org.classpath.ext.print.xml
===================================================================
--- trunk/core/descriptors/org.classpath.ext.print.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/descriptors/org.classpath.ext.print.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -11,7 +11,7 @@
license-name="classpath">
<runtime>
- <library name="jnode-core.jar">
+ <library name="classlib.jar">
<export name="javax.print.*"/>
<export name="javax.print.attribute.*"/>
<export name="javax.print.attribute.standard.*"/>
Modified: trunk/core/descriptors/org.classpath.ext.security.xml
===================================================================
--- trunk/core/descriptors/org.classpath.ext.security.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/descriptors/org.classpath.ext.security.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -11,7 +11,7 @@
license-name="classpath">
<runtime>
- <library name="jnode-core.jar">
+ <library name="classlib.jar">
<export name="sun.security.tools.*"/>
<export name="sun.security.timestamp.*"/>
<export name="sun.security.acl.*"/>
Modified: trunk/core/descriptors/org.classpath.ext.sql.xml
===================================================================
--- trunk/core/descriptors/org.classpath.ext.sql.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/descriptors/org.classpath.ext.sql.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -11,7 +11,7 @@
license-name="classpath">
<runtime>
- <library name="jnode-core.jar">
+ <library name="classlib.jar">
<export name="java.sql.*"/>
<export name="javax.sql.*"/>
Modified: trunk/core/descriptors/org.classpath.ext.xml
===================================================================
--- trunk/core/descriptors/org.classpath.ext.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/descriptors/org.classpath.ext.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -11,7 +11,7 @@
license-name="classpath">
<runtime>
- <library name="jnode-core.jar">
+ <library name="classlib.jar">
<export name="javax.security.*"/>
<export name="javax.security.auth.spi.*"/>
<export name="javax.security.auth.kerberos.*"/>
Modified: trunk/core/descriptors/org.classpath.ext.xml.ws.tools.xml
===================================================================
--- trunk/core/descriptors/org.classpath.ext.xml.ws.tools.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/descriptors/org.classpath.ext.xml.ws.tools.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -11,7 +11,7 @@
license-name="classpath">
<runtime>
- <library name="jnode-core.jar">
+ <library name="classlib.jar">
<export name="com.sun.codemodel.internal.*"/>
<export name="com.sun.codemodel.internal.fmt.*"/>
<export name="com.sun.codemodel.internal.util.*"/>
Modified: trunk/core/descriptors/org.classpath.ext.xml.ws.xml
===================================================================
--- trunk/core/descriptors/org.classpath.ext.xml.ws.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/descriptors/org.classpath.ext.xml.ws.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -11,7 +11,7 @@
license-name="classpath">
<runtime>
- <library name="jnode-core.jar">
+ <library name="classlib.jar">
<export name="com.sun.activation.registries.*"/>
<export name="com.sun.istack.internal.*"/>
<export name="com.sun.istack.internal.tools.*"/>
Modified: trunk/core/descriptors/org.classpath.ext.xml.xml
===================================================================
--- trunk/core/descriptors/org.classpath.ext.xml.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/descriptors/org.classpath.ext.xml.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -11,7 +11,7 @@
license-name="classpath">
<runtime>
- <library name="jnode-core.jar">
+ <library name="classlib.jar">
<export name="com.sun.org.apache.bcel.internal.*"/>
<export name="com.sun.org.apache.bcel.internal.classfile.*"/>
<export name="com.sun.org.apache.bcel.internal.generic.*"/>
Modified: trunk/core/descriptors/org.classpath.tools.xml
===================================================================
--- trunk/core/descriptors/org.classpath.tools.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/descriptors/org.classpath.tools.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -11,7 +11,7 @@
license-name="classpath">
<runtime>
- <library name="jnode-core.jar">
+ <library name="classlib.jar">
<export name="gnu.classpath.tools.*"/>
<export name="gnu.classpath.tools.common.*"/>
<export name="gnu.classpath.tools.getopt.*"/>
Modified: trunk/core/descriptors/org.jnode.vm.core.xml
===================================================================
--- trunk/core/descriptors/org.jnode.vm.core.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/descriptors/org.jnode.vm.core.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -20,7 +20,6 @@
<export name="org.vmmagic.unboxed.*"/>
<export name="org.jnode.assembler.*"/>
<export name="org.jnode.vm.*"/>
- <export name="org.jnode.annotation.*"/>
<export name="org.jnode.vm.bytecode.*"/>
<export name="org.jnode.vm.classmgr.*"/>
<export name="org.jnode.vm.compiler.*"/>
Modified: trunk/core/descriptors/sun.tools.xml
===================================================================
--- trunk/core/descriptors/sun.tools.xml 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/descriptors/sun.tools.xml 2009-04-29 19:58:08 UTC (rev 5360)
@@ -10,7 +10,7 @@
license-name="classpath">
<runtime>
- <library name="jnode-core.jar">
+ <library name="classlib.jar">
<export name="com.sun.tools.jconsole.*"/>
<export name="sun.applet.*"/>
<export name="sun.applet.resources.*"/>
Modified: trunk/core/src/core/org/jnode/vm/VmSystemClassLoader.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/VmSystemClassLoader.java 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/src/core/org/jnode/vm/VmSystemClassLoader.java 2009-04-29 19:58:08 UTC (rev 5360)
@@ -63,7 +63,7 @@
private VmType[] bootClasses;
- private transient URL classesURL;
+ private transient URL[] classesURL;
private static transient boolean verbose = false;
@@ -103,6 +103,16 @@
* @param arch
*/
public VmSystemClassLoader(URL classesURL, VmArchitecture arch) {
+ this(new URL[]{classesURL}, arch, null);
+ }
+
+ /**
+ * Constructor for VmClassLoader.
+ *
+ * @param classesURL
+ * @param arch
+ */
+ public VmSystemClassLoader(URL[] classesURL, VmArchitecture arch) {
this(classesURL, arch, null);
}
@@ -113,7 +123,7 @@
* @param arch
* @param resolver
*/
- public VmSystemClassLoader(URL classesURL, VmArchitecture arch,
+ public VmSystemClassLoader(URL[] classesURL, VmArchitecture arch,
ObjectResolver resolver) {
this.classesURL = classesURL;
this.classInfos = new TreeMap<String, ClassInfo>();
@@ -501,7 +511,7 @@
}
}
- protected URL findResource(String name) {
+ public URL findResource(String name) {
if (verbose) {
System.out.println("VmSystemClassLoader.findResource(" + name + ")");
}
@@ -513,7 +523,16 @@
System.out.println("Loading resource " + name + " from " + classesURL);
}
try {
- return new URL(classesURL, name);
+ for (URL u : classesURL) {
+ URL url = new URL(u, name);
+ try {
+ url.openStream().close();
+ return url;
+ } catch (IOException e) {
+ //continue
+ }
+ }
+ return null;
} catch (MalformedURLException e) {
e.printStackTrace();
return null;
@@ -567,8 +586,15 @@
if (verbose) {
System.out.println("Loading resource " + name + " from " + classesURL);
}
- URL url = new URL(classesURL, name);
- return url.openStream();
+ for (URL u : classesURL) {
+ URL url = new URL(u, name);
+ try {
+ return url.openStream();
+ } catch (IOException e) {
+ //continue
+ }
+ }
+ return null;
} else if (systemRtJar != null) {
if (verbose) {
System.out.println("Loading resource " + name + " from systemRtJar");
Modified: trunk/core/src/test/org/jnode/test/core/IMTCompilerTest.java
===================================================================
--- trunk/core/src/test/org/jnode/test/core/IMTCompilerTest.java 2009-04-29 15:39:29 UTC (rev 5359)
+++ trunk/core/src/test/org/jnode/test/core/IMTCompilerTest.java 2009-04-29 19:58:08 UTC (rev 5360)
@@ -22,6 +22,7 @@
import java.io.File;
import java.io.FileOutputStream;
+import java.net.URL;
import org.jnode.vm.Vm;
import org.jnode.vm.VmSystemClassLoader;
import org.jnode.vm.classmgr.TIBLayout;
@@ -42,8 +43,8 @@
final String dir = System.getProperty("classes.dir", ".");
final VmX86Architecture arch = new VmX86Architecture32();
- final VmSystemClassLoader cl = new VmSystemClassLoader(new File(dir)
- .toURL(), arch, new CompilerTest.DummyResolver());
+ final VmSystemClassLoader cl = new VmSystemClassLoader(new URL[]{new File(dir)
+ .toURL()}, arch, new CompilerTest.DummyResolver());
final IMTCompiler cmp = arch.getIMTCompiler();
cmp.initialize(cl);
VmType.initializeForBootImage(cl);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|