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. |