Hi all,

I decided to start a small JBoss building experiment today, by going back in time, and starting with the earliest Jboss release for which I could find source [1], trying to build it with anrt and kaffe. Here are the results:

JBoss 2.4.3:

bash-2.05a$ tail -f /tmp/topic/orig/2.4.3/build.log.kjc
[snip] /var/tmp/topic/orig/2.4.3/jboss/src/main/org/jboss/util/FileURLPatch.java:51: error:Cannot find type "sun/net/www/protocol/file/Handler"


Yeah, well, everyone knows you should not use sun.* classes, right? Or at least be sane enough not to import them directly. :)

JBoss 2.4.4:

[javac] /var/tmp/topic/orig/JBoss-2.4.4-src/jboss/src/main/org/jboss/util/FileURLPatch.java:51: error:Cannot find type "sun/net/www/protocol/file/Handler"

Ahem. On a side note, the ant build uses CVS to check out some stuff from the JBoss server. Doesn't make too much sense to me in a released source tarball.


JBoss 2.4.9:

It still tries to grab something from the JBoss CVS server, whatever it is. It takes half an hour to do it, ao it has improved at least tenfold since 2.4.4, which took just a few minutes. It still fails with:

[javac] /var/tmp/topic/orig/JBoss-2.4.9-src/jboss/src/main/org/jboss/util/FileURLPatch.java:51: error:Cannot find type "sun/net/www/protocol/file/Handler"


JBoss 3.0.8:

This one fails squarely on kaffe's URL handler handling, somehow.

bash-2.05a$ ant -verbose -Dbuild.compiler=kjc -Djava.protocol.handler.pkgs=org.jboss.net.protocol
Unable to locate tools.jar. Expected to find it in /tmp/topic/orig/current//lib/tools.jar
Apache Ant version 1.6.1 compiled on February 12 2004
Buildfile: build.xml
Detected Java version: 1.4 in: /tmp/topic/orig/current/
Detected OS: Linux
parsing buildfile /var/tmp/topic/orig/jboss-3.0.8-src/build/build.xml with URI = file:///var/tmp/topic/orig/jboss-3.0.8-src/build/build.xml
Project base dir set to: /var/tmp/topic/orig/jboss-3.0.8-src/build
resolving systemId: resource://org/jboss/tools/buildmagic/common.xml


BUILD FAILED
Error reading project file /var/tmp/topic/orig/jboss-3.0.8-src/build/build.xml: Protocol handler not found: resource
at org.apache.tools.ant.helper.ProjectHelper2.parse (ProjectHelper2.java:238)
at org.apache.tools.ant.helper.ProjectHelper2.parse (ProjectHelper2.java:133)
at org.apache.tools.ant.ProjectHelper.configureProject (ProjectHelper.java:89)
at org.apache.tools.ant.Main.runBuild (Main.java:617)
at org.apache.tools.ant.Main.startAnt (Main.java:183)
at org.apache.tools.ant.launch.Launcher.run (Launcher.java:197)
at org.apache.tools.ant.launch.Launcher.main (Launcher.java:56)
Caused by: java.net.MalformedURLException: Protocol handler not found: resource
at java.net.URL.<init> (URL.java:438)
at java.net.URL.<init> (URL.java:316)
at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity (source file unknown)
at org.apache.xerces.impl.XMLEntityManager.startEntity (source file unknown)
at org.apache.xerces.impl.XMLEntityManager.startEntity (source file unknown)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEntityReference (source file unknown)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch (source file unknown)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument (source file unknown)
at org.apache.xerces.parsers.XML11Configuration.parse (source file unknown)
at org.apache.xerces.parsers.XML11Configuration.parse (source file unknown)
at org.apache.xerces.parsers.XMLParser.parse (source file unknown)
at org.apache.xerces.parsers.AbstractSAXParser.parse (source file unknown)
at org.apache.tools.ant.helper.ProjectHelper2.parse (ProjectHelper2.java:210)
...6 more
--- Nested Exception ---
java.net.MalformedURLException: Protocol handler not found: resource
at java.net.URL.<init> (URL.java:438)
at java.net.URL.<init> (URL.java:316)
at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity (source file unknown)
at org.apache.xerces.impl.XMLEntityManager.startEntity (source file unknown)
at org.apache.xerces.impl.XMLEntityManager.startEntity (source file unknown)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEntityReference (source file unknown)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch (source file unknown)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument (source file unknown)
at org.apache.xerces.parsers.XML11Configuration.parse (source file unknown)
at org.apache.xerces.parsers.XML11Configuration.parse (source file unknown)
at org.apache.xerces.parsers.XMLParser.parse (source file unknown)
at org.apache.xerces.parsers.AbstractSAXParser.parse (source file unknown)
at org.apache.tools.ant.helper.ProjectHelper2.parse (ProjectHelper2.java:210)
at org.apache.tools.ant.helper.ProjectHelper2.parse (ProjectHelper2.java:133)
at org.apache.tools.ant.ProjectHelper.configureProject (ProjectHelper.java:89)
at org.apache.tools.ant.Main.runBuild (Main.java:617)
at org.apache.tools.ant.Main.startAnt (Main.java:183)
at org.apache.tools.ant.launch.Launcher.run (Launcher.java:197)
at org.apache.tools.ant.launch.Launcher.main (Launcher.java:56)


JBoss 3.2.4:

The build dies early, too, because of a problem with kjc:

[snip]
Caused by: java.lang.NullPointerException
   at at.dms.kjc.CClass.descendsFrom (CClass.java:357)
   at at.dms.kjc.CMember.isAccessible (CMember.java:210)
   at at.dms.kjc.CClass.isAccessible (CClass.java:1239)
   at at.dms.kjc.CClass.lookupClass (CClass.java:570)
   at at.dms.kjc.CClassNameType.checkType (CClassNameType.java:194)
   at at.dms.kjc.JTypeDeclaration.join (JTypeDeclaration.java:196)
   at at.dms.kjc.JClassDeclaration.join (JClassDeclaration.java:127)
   at at.dms.kjc.JCompilationUnit.join (JCompilationUnit.java:172)
   at at.dms.kjc.Main.join (Main.java:383)
   at at.dms.kjc.Main.run (Main.java:160)
   at at.dms.kjc.Main.compile (Main.java:70)
   at java.lang.reflect.Method.invoke0 (Method.java)
   ...29 more

JBoss 4.0.0.DR4:

BUILD FAILED
java.lang.NullPointerException
at java.util.zip.ZipFile.getZipData0 (ZipFile.java)
at java.util.zip.ZipFile.getInputStream (ZipFile.java:102)
at org.apache.tools.ant.loader.AntClassLoader2.addPathFile (AntClassLoader2.java:253)
at org.apache.tools.ant.AntClassLoader.addPathElement (AntClassLoader.java:448)
at org.apache.tools.ant.AntClassLoader.setClassPath (AntClassLoader.java:348)
at org.apache.tools.ant.Project.createClassLoader (Project.java:304)
at org.apache.tools.ant.util.ClasspathUtils.getUniqueClassLoaderForPath (ClasspathUtils.java:209)
at org.apache.tools.ant.util.ClasspathUtils.getClassLoaderForPath (ClasspathUtils.java:185)
at org.apache.tools.ant.util.ClasspathUtils$Delegate.getClassLoader (ClasspathUtils.java:403)
at org.apache.tools.ant.taskdefs.DefBase.createLoader (DefBase.java:136)
at org.apache.tools.ant.taskdefs.Definer.execute (Definer.java:163)
at org.apache.tools.ant.UnknownElement.execute (UnknownElement.java:269)
at org.apache.tools.ant.Task.perform (Task.java:364)
at org.apache.tools.ant.Target.execute (Target.java:301)
at org.apache.tools.ant.Target.performTasks (Target.java:328)
at org.apache.tools.ant.Project.executeTarget (Project.java:1215)
at org.apache.tools.ant.Project.executeTargets (Project.java:1063)
at org.apache.tools.ant.Main.runBuild (Main.java:632)
at org.apache.tools.ant.Main.startAnt (Main.java:183)
at org.apache.tools.ant.launch.Launcher.run (Launcher.java:197)
at org.apache.tools.ant.launch.Launcher.main (Launcher.java:56)


Okay, looks like some problem with our Zip code :(

So, I guess the more interesting JBoss builds are from version 3 on, since earlier it seems to use some really ugly sun.* classes, that no free platform can implement. It's still a widely used practice in JBoss 3.0.8, unfortunately, so it's probably impossible to build JBoss 3.0.8 on a free runtime. Finally, I've also looked at 3.2.4, which also imports sun classes, but much less, only from the somewhat documented as part of JSSE com.sun.net.ssl package, and of course the classical mistake, sun's Base64 encoder[2].

cheers,
dalibor topic

[1] Forget the JBoss download page, and go straight to http://sourceforge.net/project/showfiles.php?group_id=22866 to get all files.
[2] Why people still use that in 2004 is beyound me. jakarta commons codec has been there for years now.


_______________________________________________
kaffe mailing list
[EMAIL PROTECTED]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to