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.

------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations 
Conference from O'Reilly Media. Velocity features a full day of 
expert-led, hands-on workshops and two days of sessions from industry 
leaders in dedicated Performance & Operations tracks. Use code vel09scf 
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
_______________________________________________
Jnode-svn-commits mailing list
Jnode-svn-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jnode-svn-commits

Reply via email to