From: <cr...@us...> - 2009-09-09 15:13:51
|
Revision: 5665 http://jnode.svn.sourceforge.net/jnode/?rev=5665&view=rev Author: crawley Date: 2009-09-09 15:13:41 +0000 (Wed, 09 Sep 2009) Log Message: ----------- Merge changes from 'trunk' at r5663 (all tree) Modified Paths: -------------- branches/jikesRVM/all/.classpath branches/jikesRVM/all/.project branches/jikesRVM/all/.settings/org.eclipse.jdt.core.prefs branches/jikesRVM/all/all.iml branches/jikesRVM/all/build-x86.xml branches/jikesRVM/all/build.xml branches/jikesRVM/all/conf/default-plugin-list.xml branches/jikesRVM/all/conf/full-plugin-list.xml branches/jikesRVM/all/conf/system-plugin-list.xml branches/jikesRVM/all/conf/tests-plugin-list.xml branches/jikesRVM/all/conf/x86/menu-cdrom.lst branches/jikesRVM/all/conf/x86/menu.lst branches/jikesRVM/all/lib/jnode.xml branches/jikesRVM/all/template/header.txt Added Paths: ----------- branches/jikesRVM/all/conf/gui-plugin-list_disabled.xml branches/jikesRVM/all/conf/install-plugin-list_disabled.xml branches/jikesRVM/all/conf/openjdk-annotations.properties branches/jikesRVM/all/conf/shell-plugin-list.xml branches/jikesRVM/all/conf-source/ branches/jikesRVM/all/conf-source/jnode.properties.defaults branches/jikesRVM/all/conf-source/jnode.properties.template branches/jikesRVM/all/conf-source/script.xml branches/jikesRVM/all/jnode_checks.xml branches/jikesRVM/all/lib/ftp.properties branches/jikesRVM/all/lib/x86/eltorito.s2 branches/jikesRVM/all/lib/x86/fat.s15 branches/jikesRVM/all/lib/x86/grub.s1 branches/jikesRVM/all/lib/x86/grub.s2 branches/jikesRVM/all/lib/x86/pxegrub-via_rhine branches/jikesRVM/all/new_checks.xml Removed Paths: ------------- branches/jikesRVM/all/conf/gui-plugin-list.xml branches/jikesRVM/all/conf/install-plugin-list.xml branches/jikesRVM/all/conf-source/jnode.properties.defaults branches/jikesRVM/all/conf-source/jnode.properties.template branches/jikesRVM/all/conf-source/script.xml branches/jikesRVM/all/lib/x86/stage2_eltorito Property Changed: ---------------- branches/jikesRVM/all/ branches/jikesRVM/all/lib/ Property changes on: branches/jikesRVM/all ___________________________________________________________________ Modified: svn:ignore - build + build save Added: svn:mergeinfo + /trunk/all:2906-5663 Modified: branches/jikesRVM/all/.classpath =================================================================== --- branches/jikesRVM/all/.classpath 2009-09-06 14:00:37 UTC (rev 5664) +++ branches/jikesRVM/all/.classpath 2009-09-09 15:13:41 UTC (rev 5665) @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> - <classpathentry kind="src" path="/JNode-Builder"/> - <classpathentry kind="src" path="/JNode-Core"/> - <classpathentry kind="src" path="/JNode-FS"/> - <classpathentry kind="src" path="/JNode-GUI"/> - <classpathentry kind="src" path="/JNode-Net"/> - <classpathentry kind="src" path="/JNode-Shell"/> + <classpathentry kind="src" path="/builder"/> + <classpathentry kind="src" path="/core"/> + <classpathentry kind="src" path="/fs"/> + <classpathentry kind="src" path="/gui"/> + <classpathentry kind="src" path="/net"/> + <classpathentry kind="src" path="/shell"/> <classpathentry kind="output" path="build"/> </classpath> Modified: branches/jikesRVM/all/.project =================================================================== --- branches/jikesRVM/all/.project 2009-09-06 14:00:37 UTC (rev 5664) +++ branches/jikesRVM/all/.project 2009-09-09 15:13:41 UTC (rev 5665) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <projectDescription> - <name>JNode-All</name> + <name>all</name> <comment></comment> <projects> <project>JNode-Builder</project> Modified: branches/jikesRVM/all/.settings/org.eclipse.jdt.core.prefs =================================================================== --- branches/jikesRVM/all/.settings/org.eclipse.jdt.core.prefs 2009-09-06 14:00:37 UTC (rev 5664) +++ branches/jikesRVM/all/.settings/org.eclipse.jdt.core.prefs 2009-09-09 15:13:41 UTC (rev 5665) @@ -1,12 +1,12 @@ -#Tue Apr 12 20:07:44 CEST 2005 +#Mon Jul 14 11:35:05 CEST 2008 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.compiler.source=1.6 Modified: branches/jikesRVM/all/all.iml =================================================================== --- branches/jikesRVM/all/all.iml 2009-09-06 14:00:37 UTC (rev 5664) +++ branches/jikesRVM/all/all.iml 2009-09-09 15:13:41 UTC (rev 5665) @@ -1,14 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> -<module version="4" relativePaths="true" type="JAVA_MODULE"> - <component name="ModuleRootManager" /> - <component name="NewModuleRootManager"> - <output url="file://$MODULE_DIR$/classes" /> +<module relativePaths="true" type="JAVA_MODULE" version="4"> + <component name="NewModuleRootManager" inherit-compiler-output="false"> + <output url="file://$MODULE_DIR$/build/classes" /> <exclude-output /> <exclude-exploded /> <content url="file://$MODULE_DIR$" /> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> - <orderEntryProperties /> </component> </module> Modified: branches/jikesRVM/all/build-x86.xml =================================================================== --- branches/jikesRVM/all/build-x86.xml 2009-09-06 14:00:37 UTC (rev 5664) +++ branches/jikesRVM/all/build-x86.xml 2009-09-09 15:13:41 UTC (rev 5665) @@ -10,7 +10,7 @@ <property name="jnode.disk.pln" value="${my-build.dir}/jnodedisk${jnode.bits}.pln" /> <property name="jnode.disk.geometry" value="64/16/63" /> - <property name="jnode.virtual.memsize" value="768" /> + <property name="jnode.virtual.memsize" value="512" /> <property name="logFile" value="${build.dir}/debugger.txt" /> <property name="grub-ver" value="grub-0.97-i386-pc" /> @@ -78,6 +78,21 @@ <property name="build.native.dir" value="${my-build.dir}/${jnode.bits}bits/native" /> <property name="build.bootimage.dir" value="${my-build.dir}/${jnode.bits}bits/bootimage" /> + <condition property="vmware.vmx.overrides" value=""> + <and> + <not> + <isset property="vmware.vmx.overrides"/> + </not> + </and> + </condition> + <condition property="vmware.vmx.vmdk.image" + value="${jnode.virtual.disk.dir}/${jnode.virtual.disk}" else=""> + <and> + <equals arg1="${jnode.virtualization.platform}" arg2="vmware" casesensitive="false"/> + <isset property="jnode.virtual.disk.dir"/> + <isset property="jnode.virtual.disk"/> + </and> + </condition> </target> <!-- Initialize all project directories --> @@ -115,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" /> @@ -255,12 +271,41 @@ <copy todir="@{dir}"> <fileset dir="${initjars.dir}" /> </copy> - <copy file="${my-lib.dir}/stage2_eltorito" todir="@{dir}/boot/grub" /> - <copy file="${grub.menu.cdrom}" tofile="@{dir}/boot/grub/menu.lst" /> - <exec executable="mkisofs"> - <arg line="-o @{destfile} -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table @{dir}" /> - </exec> - </sequential> + <copy file="${my-lib.dir}/eltorito.s2" todir="@{dir}/boot/grub" /> + <copy file="${my-lib.dir}/fat.s15" todir="@{dir}/boot/grub" /> + <copy file="${my-lib.dir}/grub.s1" todir="@{dir}/boot/grub" /> + <copy file="${my-lib.dir}/grub.s2" todir="@{dir}/boot/grub" /> + <copy file="${grub.menu.cdrom}" tofile="@{dir}/boot/grub/menu.lst" /> + <if> + <equals arg1="${jnode.enable.mkisofs}" arg2="true" /> + <then> + <!-- Fail on a Windows platform if there are spaces in the root dir's pathname. It will + lead to mkisofs dying with a misleading error message. bluebit / crawley 2008-05-03 --> + <fail message="Cannot build JNode from a directory with spaces in the pathname."> + <condition> + <and> + <contains string="${os.name}" substring="windows" casesensitive="false" /> + <contains string="${root.dir}" substring=" " casesensitive="false" /> + </and> + </condition> + </fail> + <exec executable="mkisofs"> + <arg line="-o @{destfile} -R -b boot/grub/eltorito.s2 -no-emul-boot -boot-load-size 4 -boot-info-table @{dir}" /> + </exec> + </then> + <else> + <taskdef name="jiic-iso" classname="de.tu_darmstadt.informatik.rbg.hatlak.iso9660.ISOTask" classpathref="cp-x86" /> + <jiic-iso basedir="@{dir}" + destfile="@{destfile}" + enableRockRidge="true" + mkisofsCompatibility="true" + bootImage="@{dir}/boot/grub/eltorito.s2" + bootImageSectorCount="4" + genBootInfoTable="true" + /> + </else> + </if> + </sequential> </macrodef> <!-- Create a full distributable bootable CDROM image --> @@ -270,9 +315,12 @@ <taskdef name="vmware" classname="org.jnode.build.VMwareBuilderTask" classpathref="cp-x86" /> <vmware - isofile="${jnode-x86.iso}" + isoFile="${jnode-x86.iso}" logFile="${logFile}" - memsize="${jnode.virtual.memsize}" + memSize="${jnode.virtual.memsize}" + saveDir="${save.dir}" + vmdkImageFile="${vmware.vmx.vmdk.image}" + overrideFile="${vmware.vmx.overrides}" /> </target> @@ -281,11 +329,13 @@ <create-cdrom destfile="${jnode-x86-lite.iso}" dir="${my-build.dir}/cdrom-lite" /> <taskdef name="vmware" classname="org.jnode.build.VMwareBuilderTask" classpathref="cp-x86" /> - <vmware - isofile="${jnode-x86-lite.iso}" + isoFile="${jnode-x86-lite.iso}" logFile="${logFile}" - memsize="${jnode.virtual.memsize}" + memSize="${jnode.virtual.memsize}" + saveDir="${save.dir}" + vmdkImageFile="${vmware.vmx.vmdk.image}" + overrideFile="${vmware.vmx.overrides}" /> </target> @@ -293,11 +343,13 @@ <create-cdrom destfile="${jnode-x86_64-lite.iso}" dir="${my-build.dir}/cdrom-lite" /> <taskdef name="vmware" classname="org.jnode.build.VMwareBuilderTask" classpathref="cp-x86" /> - <vmware - isofile="${jnode-x86_64-lite.iso}" + isoFile="${jnode-x86_64-lite.iso}" logFile="${logFile}" - memsize="${jnode.virtual.memsize}" + memSize="${jnode.virtual.memsize}" + saveDir="${save.dir}" + vmdkImageFile="${vmware.vmx.vmdk.image}" + overrideFile="${vmware.vmx.overrides}" /> </target> Modified: branches/jikesRVM/all/build.xml =================================================================== --- branches/jikesRVM/all/build.xml 2009-09-06 14:00:37 UTC (rev 5664) +++ branches/jikesRVM/all/build.xml 2009-09-09 15:13:41 UTC (rev 5665) @@ -1,26 +1,37 @@ <project name="JNode" default="help" basedir="."> + <property name="root.dir" value="${basedir}/.."/> + + <!-- if task is used from this --> + <taskdef resource="net/sf/antcontrib/antcontrib.properties"/> + <!-- before including jnode.xml, we must set this property --> + <condition property="memoryMaximumSize" value="1512m" else="768m"> + <os arch="amd64"/> + </condition> + <echo message="Setting memoryMaximumSize to ${memoryMaximumSize}"/> + <!-- Include antlib --> - <typedef file="${basedir}/lib/jnode.xml"/> + <typedef file="${root.dir}/all/lib/jnode.xml"/> <!-- JNode version --> - <property name="jnode-ver" value="0.2.5-dev"/> + <property name="jnode-ver" value="0.2.9-dev"/> <!-- Java target and source version --> - <property name="java.target" value="1.5"/> - <property name="java.source" value="1.5"/> + <property name="java.target" value="1.6"/> + <property name="java.source" value="1.6"/> <property name="java.encoding" value="US-ASCII"/> - <property name="root.dir" value="${basedir}/.."/> <property name="build.dir" value="${basedir}/build"/> <property name="reports.dir" value="${build.dir}/reports"/> <property name="cdroms.dir" value="${build.dir}/cdroms"/> <property name="descriptors.dir" value="${build.dir}/descriptors"/> <property name="plugins.dir" value="${build.dir}/plugins"/> <property name="initjars.dir" value="${build.dir}/initjars"/> + <property name="save.dir" value="${basedir}/save"/> <property name="backup.dir" value="${build.dir}/backup"/> <property name="jnode-builder.jar" value="${build.dir}/descriptors/jnode-builder.jar"/> + <property name="jnode-configure.jar" value="${build.dir}/descriptors/jnode-configure.jar"/> <property name="jnode-core.jar" value="${root.dir}/core/build/classes"/> <property name="jscience.jar" value="${root.dir}/core/lib"/> <property name="scimark2.jar" value="${root.dir}/core/lib"/> @@ -31,41 +42,55 @@ <property name="jnode-textui.jar" value="${root.dir}/textui/build/classes"/> <property name="jnode-net.jar" value="${root.dir}/net/build/classes"/> <property name="jnode-shell.jar" value="${root.dir}/shell/build/classes"/> + <property name="jnode-cli.jar" value="${root.dir}/cli/build/classes"/> <property name="jnode-fonts.jar" value="${build.dir}/descriptors/jnode-fonts.jar"/> - <property name="jnode-images.jar" value="${build.dir}/descriptors/jnode-images.jar"/> + <property name="jnode-images.jar" value="${build.dir}/descriptors/jnode-images.jar"/> - <property name="jnode-mmtk-genrc.jar" value="${root.dir}/core/build/classes-plan/org.jnode.vm.memmgr.mmtk.genrc"/> + <property name="jnode-mmtk-genrc.jar" value="${root.dir}/core/build/classes-plan/org.jnode.vm.memmgr.mmtk.genrc"/> <property name="jnode-mmtk-ms.jar" value="${root.dir}/core/build/classes-plan/org.jnode.vm.memmgr.mmtk.ms"/> <property name="jnode-mmtk-nogc.jar" value="${root.dir}/core/build/classes-plan/org.jnode.vm.memmgr.mmtk.nogc"/> - <property name="mx4j.jar" value="${root.dir}/core/lib/mx4j.jar"/> - <property name="mx4j-remote.jar" value="${root.dir}/core/lib/mx4j-remote.jar"/> - + <property name="classlib.jar" value="${root.dir}/all/lib/classlib.jar"/> + <property name="classlib-src.jar" value="${root.dir}/all/lib/classlib-src.jar"/> <property name="ant.jar" value="${root.dir}/core/lib/ant.jar"/> <property name="ant-launcher.jar" value="${root.dir}/core/lib/ant-launcher.jar"/> <property name="commons-net.jar" value="${root.dir}/core/lib/commons-net-1.1.0.jar"/> - <property name="dnsjava.jar" value="${root.dir}/net/lib/dnsjava-2.0.1a.jar"/> + <property name="dnsjava.jar" value="${root.dir}/net/lib/dnsjava-1.6.6.jar"/> <property name="jsch.jar" value="${root.dir}/net/lib/jsch-0.1.24.jar"/> - <property name="junit.jar" value="${root.dir}/core/lib/junit.jar"/> + <property name="junit.jar" value="${root.dir}/core/lib/junit-4.5.jar"/> <property name="mmtk.jar" value="${root.dir}/core/lib/mmtk/mmtk.jar"/> <property name="mauve.jar" value="${root.dir}/core/lib/mauve.jar"/> <property name="edtftpj.jar" value="${root.dir}/fs/lib/edtftpj-1.5.2.jar"/> <property name="jcifs.jar" value="${root.dir}/fs/lib/jcifs-1.2.6.jar"/> <property name="ejc.jar" value="${root.dir}/core/lib/ejc-3.1.1.jar"/> + <property name="oncrpc.jar" value="${root.dir}/net/lib/oncrpc.jar"/> + <property name="telnetd.jar" value="${root.dir}/distr/lib/telnetd.jar" /> + <property name="commons-logging.jar" value="${root.dir}/distr/lib/commons-logging.jar" /> + <property name="jawk.jar" value="${root.dir}/distr/lib/jawk-1.02.jar"/> + <property name="jetty.jar" value="${root.dir}/distr/lib/jetty-6.1.5.jar" /> + <property name="jetty-util.jar" value="${root.dir}/distr/lib/jetty-util-6.1.5.jar" /> + <property name="jsp.jar" value="${root.dir}/distr/lib/jsp-2.1.jar" /> + <property name="jsp-api.jar" value="${root.dir}/distr/lib/jsp-api-2.1.jar" /> + <property name="servlet.jar" value="${root.dir}/distr/lib/servlet-api-2.5-6.1.5.jar" /> + <property name="derby.jar" value="${root.dir}/distr/lib/derby.jar" /> + <property name="derbynet.jar" value="${root.dir}/distr/lib/derbynet.jar" /> + <property name="derbytools.jar" value="${root.dir}/distr/lib/derbytools.jar" /> + <property name="nanoxml-java.jar" value="${root.dir}/shell/lib/nanoxml-2.2.3.jar" /> + <property name="iso9660.jar" value="${root.dir}/builder/lib/iso9660.jar" /> + <property name="sabre.jar" value="${root.dir}/builder/lib/sabre.jar" /> + <!-- libraries needed to run tests --> <property name="jmock-cglib.jar" value="${root.dir}/core/lib/jmock-cglib-1.0.1.jar"/> <property name="jmock.jar" value="${root.dir}/core/lib/jmock-1.0.1.jar"/> <property name="cglib.jar" value="${root.dir}/core/lib/cglib-2.1.jar"/> - <property name="asm.jar" value="${root.dir}/core/lib/asm.jar"/> - <property name="jcfe.jar" value="${root.dir}/core/lib/jcfe.jar"/> - <property name="jfunc.jar" value="${root.dir}/core/lib/jfunc.jar"/> + <property name="asm.jar" value="${root.dir}/core/lib/asm-1.5.3.jar"/> + <property name="asm-attrs.jar" value="${root.dir}/core/lib/asm-attrs-1.5.3.jar"/> + <property name="asm-util.jar" value="${root.dir}/core/lib/asm-util-1.5.3.jar"/> <property name="log4j.jar" value="${root.dir}/core/lib/log4j-1.2.8.jar"/> - <property name="gnu-crypto.jar" value="${root.dir}/core/lib/gnu-crypto.jar"/> - <property name="javax-crypto.jar" value="${root.dir}/core/lib/javax-crypto.jar"/> - <!-- property name="javax-security.jar" value="${root.dir}/core/lib/javax-security.jar" / --> - <property name="beanshell.jar" value="${root.dir}/shell/lib/bsh-2.0b1.jar"/> + <property name="beanshell.jar" value="${root.dir}/shell/lib/bsh-2.0b5.jar"/> + <property name="js.jar" value="${root.dir}/shell/lib/rhino1.6r5-jsr223.jar"/> <!-- libraries needed to check plugin dependencies --> <property name="bcel-5.1.jar" value="${root.dir}/builder/lib/bcel-5.1.jar" /> @@ -78,29 +103,41 @@ <property name="xmlParserAPIs.jar" value="${root.dir}/builder/pmd/lib/xmlParserAPIs-2.6.2.jar"/> <!-- lists of plugins to use while booting --> - <property name="default-plugin-list" value="${basedir}/conf/default-plugin-list.xml"/> - <property name="full-plugin-list" value="${basedir}/conf/full-plugin-list.xml"/> - <property name="install-plugin-list" value="${basedir}/conf/install-plugin-list.xml"/> - <property name="system-plugin-list" value="${basedir}/conf/system-plugin-list.xml"/> + <property name="default-plugin-list" value="${root.dir}/all/conf/default-plugin-list.xml"/> + <property name="full-plugin-list" value="${root.dir}/all/conf/full-plugin-list.xml"/> + <property name="install-plugin-list" value="${root.dir}/all/conf/install-plugin-list.xml"/> + <property name="system-plugin-list" value="${root.dir}/all/conf/system-plugin-list.xml"/> <property name="sources.dist.tar.gz" value="${build.dir}/jnodesources-${jnode-ver}.tar.gz"/> <property name="jnode-x86.iso" value="${cdroms.dir}/jnode-x86.iso"/> <property name="jnode-x86-lite.iso" value="${cdroms.dir}/jnode-x86-lite.iso"/> <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}"/> <pathelement location="${jmock.jar}"/> <pathelement location="${jmock-cglib.jar}"/> <pathelement location="${asm.jar}"/> + <pathelement location="${asm-attrs.jar}"/> + <pathelement location="${asm-util.jar}"/> <pathelement location="${cglib.jar}"/> <pathelement location="${log4j.jar}"/> - <pathelement location="${gnu-crypto.jar}"/> - <pathelement location="${javax-crypto.jar}"/> - <pathelement location="${basedir}/conf"/> + <pathelement location="${root.dir}/all/conf"/> <pathelement location="${beanshell.jar}"/> - <pathelement location="${jcfe.jar}"/> - <pathelement location="${jfunc.jar}"/> + <pathelement location="${js.jar}"/> + <pathelement location="${oncrpc.jar}"/> + <pathelement location="${edtftpj.jar}"/> + <pathelement location="${jcifs.jar}"/> + <pathelement location="${commons-net.jar}"/> + <pathelement location="${dnsjava.jar}"/> + <pathelement location="${mauve.jar}"/> + <pathelement location="${derby.jar}"/> + <pathelement location="${derbynet.jar}"/> + <pathelement location="${derbytools.jar}"/> + <pathelement location="${iso9660.jar}"/> + <pathelement location="${sabre.jar}"/> </path> <path id="cp-jnode"> @@ -111,13 +148,25 @@ <pathelement location="${jnode-shell.jar}"/> <pathelement location="${jnode-net.jar}"/> <pathelement location="${jnode-gui.jar}"/> + <pathelement location="${jnode-cli.jar}"/> <pathelement location="${thinlet.jar}"/> <pathelement location="${jnode-textui.jar}"/> <pathelement location="${bcel-5.1.jar}"/> - <pathelement location="${mx4j.jar}"/> - <pathelement location="${mx4j-remote.jar}"/> <path refid="cp"/> </path> + + <path id="cp-test"> + <pathelement location="${root.dir}/core/build/classes"/> + <pathelement location="${root.dir}/distr/build/classes"/> + <pathelement location="${root.dir}/fs/build/classes"/> + <pathelement location="${root.dir}/shell/build/classes"/> + <pathelement location="${root.dir}/net/build/classes"/> + <pathelement location="${root.dir}/gui/build/classes"/> + <pathelement location="${root.dir}/cli/build/classes"/> + <pathelement location="${root.dir}/textui/build/classes"/> + <pathelement location="${root.dir}/shell/lib/nanoxml-2.2.3.jar"/> + <path refid="cp"/> + </path> <filterset id="descriptors-filter"> @@ -133,6 +182,25 @@ </patternset> <target name="prepare"> + <!-- Fail on a Windows platform if there are spaces in the root dir's pathname. It will + lead to mkisofs dying with a misleading error message. bluebit / crawley 2008-05-03 --> + <fail message="Cannot build JNode from a directory with spaces in the pathname."> + <condition> + <and> + <os family="windows"/> + <contains string="${root.dir}" substring=" " casesensitive="false" /> + </and> + </condition> + </fail> + + <fail message="Java Runtime version 1.6 needed. Your version is: ${java.runtime.version}"> + <condition> + <not> + <contains string="${java.runtime.version}" substring="1.6" casesensitive="false"/> + </not> + </condition> + </fail> + <!-- Initialize all project directories --> <property file="${root.dir}/jnode.properties"/> <!-- Set overwritable properties --> @@ -144,30 +212,220 @@ <!-- Initialize timestamp --> <tstamp/> + + <property name="hotswap.class.tstamp.pattern" value="MM/dd/yyyy kk:mm:ss.SSS"/> + <tstamp> + <format property="hotswap.class.tstamp" pattern="${hotswap.class.tstamp.pattern}" /> + </tstamp> - <!-- Update default excludes --> + + <!-- Update default excludes --> <defaultexcludes add="**/_svn"/> <defaultexcludes add="**/_svn/**"/> <!-- Create basic build directories --> <mkdir dir="${build.dir}"/> <mkdir dir="${reports.dir}"/> + <mkdir dir="${save.dir}"/> <mkdir dir="${cdroms.dir}"/> <mkdir dir="${descriptors.dir}"/> <mkdir dir="${plugins.dir}"/> <mkdir dir="${initjars.dir}"/> + <property file="${root.dir}/all/lib/ftp.properties"/> + <!-- check for classlib update --> + <if> + <or> + <not> + <uptodate srcfile="${root.dir}/all/lib/ftp.properties" targetfile="${root.dir}/all/lib/classlib.pack.gz"/> + </not> + <not> + <uptodate srcfile="${root.dir}/all/lib/ftp.properties" targetfile="${root.dir}/all/lib/classlib-src.jar.bz2"/> + </not> + </or> + <then> + <!-- check if classlib update should be done locally or from the FTP server --> + <if> + <isset property="jnode.local.classlib"/> + <then> + <fail message="classlib is out of date, run copy or quickdeploy in classlib project"> + <condition> + <or> + <not> + <uptodate srcfile="${root.dir}/all/lib/ftp.properties" + targetfile="${root.dir}/all/lib/classlib.jar"/> + </not> + <not> + <uptodate srcfile="${root.dir}/all/lib/ftp.properties" + targetfile="${root.dir}/all/lib/classlib-src.jar"/> + </not> + </or> + </condition> + </fail> + </then> + <else> + <!-- classlib update from the FTP server --> + <delete file="${root.dir}/all/lib/classlib.pack.gz"/> + <delete file="${root.dir}/all/lib/classlib-src.jar.bz2"/> + <get src="${classlib.url}/classlib.pack.gz" dest="${root.dir}/all/lib/classlib.pack.gz"/> + <get src="${classlib.url}/classlib-src.jar.bz2" dest="${root.dir}/all/lib/classlib-src.jar.bz2"/> + <!-- verify checksum for downloaded files --> + <if> + <not> + <checksum algorithm="MD5" file="${root.dir}/all/lib/classlib.pack.gz" property="${classlib.md5}"/> + </not> + <then> + <delete file="${root.dir}/all/lib/classlib.pack.gz"/> + <fail message="checksum failed for classlib.pack.gz"/> + </then> + </if> + <if> + <not> + <checksum algorithm="MD5" file="${root.dir}/all/lib/classlib-src.jar.bz2" property="${classlib-src.md5}"/> + </not> + <then> + <delete file="${root.dir}/all/lib/classlib-src.jar.bz2"/> + <fail message="checksum failed for classlib-src.jar.bz2"/> + </then> + </if> + </else> + </if> + </then> + </if> + <if> + <or> + <not> + <available file="${classlib.jar}" /> + </not> + <uptodate srcfile="${classlib.jar}" targetfile="${root.dir}/all/lib/classlib.pack.gz"/> + </or> + <then> + <delete file="${classlib.jar}"/> + <echo message="Creating ${classlib.jar}"/> + <exec executable="${java.home}/bin/unpack200"> + <arg file="${root.dir}/all/lib/classlib.pack.gz"/> + <arg file="${classlib.jar}"/> + </exec> + </then> + </if> + <if> + <or> + <not> + <available file="${classlib-src.jar}" /> + </not> + <uptodate srcfile="${classlib-src.jar}" targetfile="${root.dir}/all/lib/classlib-src.jar.bz2"/> + </or> + <then> + <delete file="${classlib-src.jar}"/> + <echo message="Creating ${classlib-src.jar}"/> + <bunzip2 src="${root.dir}/all/lib/classlib-src.jar.bz2" dest="${classlib-src.jar}"/> + </then> + </if> + <property name="classlib.stamp" value="${root.dir}/all/build/classlib.stamp" /> </target> <!-- Call the assemble target of all subprojects --> <target name="assemble-projects" depends="prepare"> + <!-- pre compile tasks needed for compilation --> + <ant target="pre-compile" dir="${root.dir}/builder" inheritall="on" inheritrefs="on" /> <jnode.antall target="assemble"/> </target> <!-- Assemble all plugins --> - <target name="assemble-plugins" depends="assemble-projects"> + <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.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"/> + <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}"/> @@ -175,47 +433,74 @@ <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-cli.jar" alias="${jnode-cli.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="mx4j.jar" alias="${mx4j.jar}"/> - <libalias name="mx4j-remote.jar" alias="${mx4j-remote.jar}"/> <libalias name="commons-net-1.1.0.jar" alias="${commons-net.jar}"/> - <libalias name="dnsjava-1.5.0.jar" alias="${dnsjava.jar}"/> + <libalias name="dnsjava-1.6.6.jar" alias="${dnsjava.jar}"/> <libalias name="jsch-0.1.24.jar" alias="${jsch.jar}"/> - <libalias name="gnu-crypto.jar" alias="${gnu-crypto.jar}"/> - <libalias name="javax-crypto.jar" alias="${javax-crypto.jar}"/> <libalias name="log4j.jar" alias="${log4j.jar}"/> <libalias name="beanshell.jar" alias="${beanshell.jar}"/> - <libalias name="lw.jar" alias="${lw.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="jcfe.jar" alias="${jcfe.jar}"/> - <libalias name="jfunc.jar" alias="${jfunc.jar}"/> <libalias name="ant.jar" alias="${ant.jar}"/> - <libalias name="ant-commons-net.jar" alias="${ant-commons-net.jar}"/> <libalias name="ant-launcher.jar" alias="${ant-launcher.jar}"/> - <libalias name="ant-trax.jar" alias="${ant-trax.jar}"/> <libalias name="edtftpj.jar" alias="${edtftpj.jar}"/> <libalias name="jcifs.jar" alias="${jcifs.jar}"/> <libalias name="ejc.jar" alias="${ejc.jar}"/> <libalias name="jscience.jar" alias="${jscience.jar}"/> <libalias name="scimark2.jar" alias="${scimark2.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}"/> <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.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> @@ -226,8 +511,10 @@ <taskdef name="initjars" classname="org.jnode.build.InitJarsBuilder" classpathref="cp-jnode"/> <initjars destdir="${initjars.dir}" pluginDir="${plugins.dir}" - systemPluginList="${basedir}/conf/system-plugin-list.xml"> - <fileset dir="${basedir}/conf"> + systemPluginList="${root.dir}/all/conf/system-plugin-list.xml"> + <insert userApplicationsDir="${user.applications.dir}"/> + + <fileset dir="${root.dir}/all/conf"> <exclude name="system-plugin-list.xml"/> <include name="*plugin-list.xml"/> </fileset> @@ -240,7 +527,7 @@ <taskdef name="initjars" classname="org.jnode.build.InitJarsBuilder" classpathref="cp-jnode"/> <initjars destdir="${initjars.dir}" pluginDir="${plugins.dir}" - systemPluginList="${basedir}/conf/system-plugin-list.xml"> + systemPluginList="${root.dir}/all/conf/system-plugin-list.xml"> <fileset dir="${custom.plugin-list.dir}"> <include name="*plugin-list.xml"/> </fileset> @@ -252,7 +539,7 @@ </target> <!-- Give help on possible targets --> - <target name="help"> + <target name="help" description="help on the important targets"> <echo> Welcome to the JNode build system. @@ -272,11 +559,11 @@ 32-bit architecture. cd-x86_64-lite Build the JNode bootable CD-ROM for the X86 64-bit architecture. - +<!-- create-patch Create a patch file containing the differences between the local sources and the cvs HEAD branch. - +--> boot-files-winNT Build the JNode boot files for windows NT/2K/XP used together with NTLDR @@ -326,22 +613,26 @@ </target> <!-- Create a bootable CDROM image containing all x86 bootable images and the sources --> - <target name="cd-x86" depends="assemble"> + <target name="cd-x86" depends="assemble" description="create a bootable JNode CD image with sources included"> <tar destfile="${sources.dist.tar.gz}" compression="gzip" basedir="${root.dir}" excludes="*/build/**"/> <x86-build bits="32" target="java-image"/> - <x86-build bits="64" target="java-image"/> + <!-- TODO enable this when 64 bit support is working --> + <!--x86-build bits="64" target="java-image"/--> + <property name="jnode.bits" value="32" /> <ant antfile="build-x86.xml" inheritall="true" inheritrefs="true" target="cdrom"/> </target> <!-- Create a bootable CDROM image for x86 32-bits --> - <target name="cd-x86-lite" depends="assemble"> + <target name="cd-x86-lite" depends="assemble" description="create a bootable JNode CD image"> <x86-build bits="32" target="java-image"/> + <property name="jnode.bits" value="32" /> <ant antfile="build-x86.xml" inheritall="true" inheritrefs="true" target="cdrom-lite"/> </target> <!-- Create a bootable CDROM image for x86 64-bits --> <target name="cd-x86_64-lite" depends="assemble"> <x86-build bits="64" target="java-image"/> + <property name="jnode.bits" value="64" /> <ant antfile="build-x86.xml" inheritall="true" inheritrefs="true" target="cdrom_64-lite"/> </target> @@ -351,36 +642,59 @@ <mkdir dir="${upload.dir}"/> <gzip src="${jnode-x86.iso}" destfile="${upload.dir}/jnode-x86-${jnode-ver}.iso.gz"/> <copy todir="${upload.dir}" file="${sources.dist.tar.gz}"/> + <checksum algorithm="MD5" forceoverwrite="true"> + <fileset dir="${upload.dir}"> + <include name="jnode-x86-${jnode-ver}.iso.gz" /> + <include name="jnodesources-${jnode-ver}.tar.gz" /> + </fileset> + </checksum> + <echo message="FTP upload disabled. Uploadables are in: ${upload.dir}"/> + <!-- + TODO find a way to automatically upload the files + jsch based scp with sftp fails with an error to sourceforge + FTP uploads are abandone by sourceforge <ftp server="upload.sourceforge.net" remotedir="incoming" passive="yes" newer="yes" verbose="yes" userid="anonymous" password="${user.name}@users.sourceforge.net"> <fileset dir="${upload.dir}"/> </ftp> + --> </target> + + <!-- Save virtualization etc state across 'clean' --> + <target name="save"> + <copy file="${cdroms.dir}/JNode.nvram" todir="${save.dir}" failonerror="no"/> + </target> <!-- Clean everything files --> - <target name="clean"> + <target name="clean" depends="save" description="clean the complete build output"> <jnode.antall target="clean"/> <delete dir="${build.dir}" quiet="on"/> </target> + + <path id="cp-javadoc"> + <path refid="cp"/> + <pathelement location="${bcel-5.1.jar}"/> + <pathelement location="${nanoxml-java.jar}"/> + </path> <!-- Generate only the basic api javadoc files --> - <target name="javadoc-small"> + <target name="javadoc-small" description="generate documentation of the basic JNode APIs"> <jnode.javadoc destdir="${build.dir}/javadoc/small"> <sourcepath> - <pathelement location="${root.dir}/core/src/classpath/gnu"/> - <pathelement location="${root.dir}/core/src/classpath/java"/> - <pathelement location="${root.dir}/core/src/classpath/javax"/> - <pathelement location="${root.dir}/core/src/classpath/org"/> - <pathelement location="${root.dir}/core/src/classpath/5.0"/> + <pathelement location="${root.dir}/core/src/classlib"/> <pathelement location="${root.dir}/core/src/classpath/ext"/> <pathelement location="${root.dir}/core/src/classpath/vm"/> + <pathelement location="${root.dir}/core/src/openjdk/vm"/> + <pathelement location="${root.dir}/core/src/endorsed/nanoxml"/> <pathelement location="${root.dir}/core/src/core"/> + <pathelement location="${root.dir}/core/src/vmmagic"/> <pathelement location="${root.dir}/core/src/driver"/> + <pathelement location="${root.dir}/all/lib/classlib-src.jar"/> </sourcepath> <package name="org.jnode.driver"/> <package name="org.jnode.naming"/> <package name="org.jnode.plugin"/> <package name="org.jnode.system"/> - <bootclasspath refid="cp"/> + <bootclasspath refid="cp-javadoc"/> </jnode.javadoc> </target> @@ -388,30 +702,39 @@ <target name="javadoc-mmtk"> <jnode.javadoc destdir="${build.dir}/javadoc/mmtk"> <sourcepath> + <pathelement location="${root.dir}/core/src/classlib"/> <pathelement location="${root.dir}/core/src/vmmagic"/> <pathelement location="${root.dir}/core/src/mmtk-vm"/> + <pathelement location="${root.dir}/core/src/core"/> + <pathelement location="${root.dir}/core/src/classpath/ext"/> + <pathelement location="${root.dir}/core/src/classpath/vm"/> + <pathelement location="${root.dir}/core/src/openjdk/vm"/> + <pathelement location="${root.dir}/core/src/endorsed/nanoxml"/> + <pathelement location="${root.dir}/all/lib/classlib-src.jar"/> </sourcepath> <package name="org.mmtk.*"/> <package name="org.jnode.vm.memmgr.mmtk.*"/> <package name="org.vmmagic.*"/> - <classpath refid="cp"/> + <classpath refid="cp-javadoc"/> </jnode.javadoc> </target> <!-- Generate all javadoc files --> - <target name="javadoc"> + <target name="javadoc" description="generate documentation of all java source files"> <jnode.javadoc destdir="${build.dir}/javadoc/full"> <sourcepath> - <pathelement location="${root.dir}/core/src/classpath/gnu"/> - <pathelement location="${root.dir}/core/src/classpath/java"/> - <pathelement location="${root.dir}/core/src/classpath/javax"/> - <pathelement location="${root.dir}/core/src/classpath/org"/> - <pathelement location="${root.dir}/core/src/classpath/5.0"/> + <pathelement location="${root.dir}/builder/src/builder"/> + <pathelement location="${root.dir}/builder/src/configure"/> + <pathelement location="${root.dir}/cli/src/commands"/> + <pathelement location="${root.dir}/core/src/classlib"/> <pathelement location="${root.dir}/core/src/classpath/ext"/> <pathelement location="${root.dir}/core/src/classpath/vm"/> + <pathelement location="${root.dir}/core/src/openjdk/vm"/> <pathelement location="${root.dir}/core/src/core"/> <pathelement location="${root.dir}/core/src/driver"/> <pathelement location="${root.dir}/core/src/mmtk-vm"/> + <pathelement location="${root.dir}/core/src/endorsed/nanoxml"/> + <pathelement location="${root.dir}/core/src/test"/> <pathelement location="${root.dir}/core/src/vmmagic"/> <pathelement location="${root.dir}/distr/src/install"/> <pathelement location="${root.dir}/fs/src/fs"/> @@ -419,6 +742,9 @@ <pathelement location="${root.dir}/fs/src/driver"/> <pathelement location="${root.dir}/gui/src/awt"/> <pathelement location="${root.dir}/gui/src/driver"/> + <pathelement location="${root.dir}/gui/src/desktop"/> + <pathelement location="${root.dir}/gui/src/font"/> + <pathelement location="${root.dir}/gui/src/thinlet"/> <pathelement location="${root.dir}/net/src/net"/> <pathelement location="${root.dir}/net/src/driver"/> <pathelement location="${root.dir}/shell/src/shell"/> @@ -426,11 +752,12 @@ <package name="org.jnode.*"/> <package name="org.mmtk.*"/> <package name="org.vmmagic.*"/> - <bootclasspath refid="cp"/> + <bootclasspath refid="cp-javadoc"/> </jnode.javadoc> </target> <!-- Backup CVS files --> + <!-- TODO create replacement SVN task <target name="backup"> <mkdir dir="${backup.dir}"/> <tstamp> @@ -438,6 +765,7 @@ </tstamp> <get src="http://cvs.sourceforge.net/cvstarballs/jnode-cvsroot.tar.bz2" dest="${backup.dir}/jnode-cvsroot-${date}.tar.bz2" usetimestamp="true" verbose="true"/> </target> + --> <!-- Compare classpath version of jnode with real classpath version --> <target name="cp-compare" depends="assemble"> @@ -472,7 +800,7 @@ </patternset> <delete dir="${build.dir}/classpath-compare"/> - <cp-compare destdir="${build.dir}/classpath-compare"> + <cp-compare destdir="${build.dir}/classpath-compare" type="classpath"> <vmsources> <fileset dir="${root.dir}/core/src/classpath/gnu"> <patternset refid="cp-includes-pattern"/> @@ -483,15 +811,12 @@ <fileset dir="${root.dir}/core/src/classpath/javax"> <patternset refid="cp-includes-pattern"/> </fileset> - <fileset dir="${root.dir}/core/src/classpath/org"> + <fileset dir="${root.dir}/core/src/classpath/tools"> <patternset refid="cp-includes-pattern"/> </fileset> - <fileset dir="${root.dir}/core/src/classpath/tools"> + <fileset dir="${root.dir}/core/src/classpath/sun"> <patternset refid="cp-includes-pattern"/> </fileset> - <fileset dir="${root.dir}/core/src/classpath/5.0" target="1.5"> - <patternset refid="cp-includes-pattern"/> - </fileset> </vmsources> <vmspecificsources> <fileset dir="${root.dir}/core/src/classpath/vm"> @@ -503,14 +828,10 @@ <patternset refid="cp-includes-pattern"/> <patternset refid="cp-sources-pattern"/> </fileset> - <fileset dir="${root.dir}/../classpath-5.0" target="1.5" ignoremissing="on"> + <fileset dir="${root.dir}/../classpath/external/jsr166"> <patternset refid="cp-includes-pattern"/> <patternset refid="cp-sources-pattern"/> </fileset> - <fileset dir="${root.dir}/../classpath-5.0/external/jsr166" target="1.5" ignoremissing="on"> - <patternset refid="cp-includes-pattern"/> - <patternset refid="cp-sources-pattern"/> - </fileset> <fileset dir="${root.dir}/../classpath/resource"> <patternset refid="cp-includes-pattern"/> </fileset> @@ -527,39 +848,202 @@ <patternset refid="cp-includes-pattern"/> <patternset refid="cp-sources-pattern"/> </fileset> + <fileset dir="${root.dir}/../classpath/tools/external/asm"> + <patternset refid="cp-includes-pattern"/> + <patternset refid="cp-sources-pattern"/> + </fileset> </classpathsources> </cp-compare> </target> <!-- Compare classpath version of jnode with real classpath version --> <target name="header-fix" depends="assemble"> + <!-- todo clean up the excludes --> <taskdef name="header" classname="org.jnode.ant.taskdefs.HeaderTask" classpathref="cp-jnode"/> <header update="on" headerFile="${root.dir}/all/template/header.txt"> <fileset dir="${root.dir}/builder/src/builder" includes="**/*.java"/> + <fileset dir="${root.dir}/cli/src/commands" includes="**/*.java"/> <fileset dir="${root.dir}/core/src/classpath/ext" includes="**/*.java"/> - <fileset dir="${root.dir}/core/src/classpath/vm" includes="**/*.java"/> - <fileset dir="${root.dir}/core/src/core" includes="**/*.java"/> - <fileset dir="${root.dir}/core/src/vmmagic" includes="**/*.java"/> - <fileset dir="${root.dir}/core/src/mmtk-vm" includes="**/*.java"/> + <fileset dir="${root.dir}/core/src/classpath/vm" includes="**/*.java" + excludes="gnu/classpath/jdwp/VMFrame.java, + gnu/classpath/jdwp/VMIdManager.java, + gnu/classpath/jdwp/VMMethod.java, + gnu/classpath/jdwp/VMVirtualMachine.java, + gnu/classpath/VMStackWalker.java, + gnu/java/lang/VMInstrumentationImpl.java, + gnu/java/nio/VMChannel.java, + java/lang/Thread.java, + java/lang/VMProcess.java, + java/lang/VMSystem.java"/> + <fileset dir="${root.dir}/core/src/openjdk/vm" includes="**/*.java" excludes="java/lang/NativeStrictMath.java"/> + <fileset dir="${root.dir}/core/src/core" includes="**/*.java" excludes="org/jnode/imageio/jpeg/JPEGDecoder"/> + <fileset dir="${root.dir}/core/src/mmtk-vm" includes="**/*.java" excludes="org/mmtk/vm/**/*.java"/> <fileset dir="${root.dir}/core/src/driver" includes="**/*.java"/> - <fileset dir="${root.dir}/core/src/test" includes="**/*.java"/> + <fileset dir="${root.dir}/core/src/test" includes="**/*.java" excludes="org/jnode/test/mauve/**/*.java,org/jtestserver/**/*.java"/> <fileset dir="${root.dir}/distr/src/install" includes="**/*.java"/> <fileset dir="${root.dir}/distr/src/apps" includes="**/*.java"/> + <fileset dir="${root.dir}/distr/src/emu" includes="**/*.java"/> + <fileset dir="${root.dir}/distr/src/test" includes="**/*.java"/> <fileset dir="${root.dir}/fs/src/fs" includes="**/*.java"/> <fileset dir="${root.dir}/fs/src/driver" includes="**/*.java"/> <fileset dir="${root.dir}/fs/src/test" includes="**/*.java"/> - <fileset dir="${root.dir}/gui/src/awt" includes="**/*.java"/> + <fileset dir="${root.dir}/gui/src/awt" includes="**/*.java" excludes="org/jnode/awt/font/bdf/**/*.java"/> <fileset dir="${root.dir}/gui/src/desktop" includes="**/*.java"/> <fileset dir="${root.dir}/gui/src/driver" includes="**/*.java"/> <fileset dir="${root.dir}/gui/src/test" includes="**/*.java"/> <fileset dir="${root.dir}/net/src/net" includes="**/*.java"/> <fileset dir="${root.dir}/net/src/driver" includes="**/*.java"/> <fileset dir="${root.dir}/net/src/test" includes="**/*.java"/> + <fileset dir="${root.dir}/shell/src/emu" includes="**/*.java"/> <fileset dir="${root.dir}/shell/src/shell" includes="**/*.java"/> + <fileset dir="${root.dir}/shell/src/test" includes="**/*.java"/> </header> </target> + <target name="check-debugger-properties" depends="prepare"> + <fail message="Please set jnode.debugger.host property in jnode.properties." unless="jnode.debugger.host"/> + <fail message="Please set jnode.debugger.port property in jnode.properties." unless="jnode.debugger.port"/> + </target> + + <target name="hotswap" depends="check-debugger-properties,assemble-projects" description="hotswap the modified classes"> + <taskdef name="hotswap" classname="org.jnode.ant.taskdefs.Hotswap" classpathref="cp-jnode" /> + <hotswap verbose="true" host="${jnode.debugger.host}" port="${jnode.debugger.port}"> + <fileset dir="../core/build/classes/" includes="**/*.class"> + <date datetime="${hotswap.class.tstamp}" pattern="MM/dd/yyyy kk:mm:ss" when="after" granularity="0"/> + </fileset> + <fileset dir="../distr/build/classes/" includes="**/*.class"> + <date datetime="${hotswap.class.tstamp}" pattern="MM/dd/yyyy kk:mm:ss" when="after" granularity="0"/> + </fileset> + <fileset dir="../fs/build/classes/" includes="**/*.class"> + <date datetime="${hotswap.class.tstamp}" pattern="MM/dd/yyyy kk:mm:ss" when="after" granularity="0"/> + </fileset> + <fileset dir="../gui/build/classes/" includes="**/*.class"> + <date datetime="${hotswap.class.tstamp}" pattern="MM/dd/yyyy kk:mm:ss" when="after" granularity="0"/> + </fileset> + <fileset dir="../net/build/classes/" includes="**/*.class"> + <date datetime="${hotswap.class.tstamp... [truncated message content] |