Re: [general] More SVN restructuring thoughts... (was Re: Ant build | IOException)
Garrett Rooney skrev den 08-06-2006 16:04: The basic idea is that you initially check out a copy of trunk that has a few empty directories in it. Then, svn switch says hey, this directory in my working copy that used to point to $HARMONY/trunk/classpath (which is empty) should now point to $HARMONY/classpath/trunk. It'll then essentially check out the contents of $HARMONY/classpath/trunk into your working copy's classpath directory. At that point you can do things like run an update or a diff at the top level of your working copy and it'll nicely recurse into the switched subdirectories. If you make changes in those subdirectories there and commit them they'll be committed to the $HARMONY/classpath/trunk directory in the repository (or wherever you had that subdirectory switched to). Does that make sense? The current version of dlrvm has hard wired paths so this is currently not easy to do. Is this kind of working tree manipulation easy to automate as ant scripts? -- Thorbjørn - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [general] More SVN restructuring thoughts... (was Re: Ant build | IOException)
Thorbjørn Ravn Andersen wrote: Garrett Rooney skrev den 08-06-2006 16:04: The basic idea is that you initially check out a copy of trunk that has a few empty directories in it. Then, svn switch says hey, this directory in my working copy that used to point to $HARMONY/trunk/classpath (which is empty) should now point to $HARMONY/classpath/trunk. It'll then essentially check out the contents of $HARMONY/classpath/trunk into your working copy's classpath directory. At that point you can do things like run an update or a diff at the top level of your working copy and it'll nicely recurse into the switched subdirectories. If you make changes in those subdirectories there and commit them they'll be committed to the $HARMONY/classpath/trunk directory in the repository (or wherever you had that subdirectory switched to). Does that make sense? The current version of dlrvm has hard wired paths so this is currently not easy to do. I am not sure what you mean by hard wired paths, but it perfectly can be built from either of classlib +trunk drlvm +trunk or trunk +classlib +drlvm directory structure. In the latter case, the 'build.bat' (build.sh for linux) command line should be changed to build.bat -Dexternal.dep.CLASSLIB=../../../classlib So I would not say that paths are hard wired. The patch is overridable from command line. Moreover, configuration can be made universal in a straightforward way: --- a/build/make/build.xml +++ b/build/make/build.xml @@ -60,7 +60,12 @@ Version: $Revision: 1.16.2.20 $ target name=extern_dep !-- set the path root for the classlib : must be relative to the build directory -- -property name=external.dep.CLASSLIB value=../../../../classlib/trunk / +available type=dir property=external.dep.CLASSLIB + file=../../../../classlib/trunk + value=../../../../classlib/trunk / +available type=dir property=external.dep.CLASSLIB + file=../../../classlib + value=../../../classlib / !-- some derived values -- property name=external.dep.CLASSLIB.includes value=${external.dep.CLASSLIB}/deploy/include / - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [general] More SVN restructuring thoughts... (was Re: Ant build | IOException)
On 6/8/06, Oliver Deakin [EMAIL PROTECTED] wrote: Would /classlib and /drlvm be checked out in your local workspace as peers to /trunk or would they be checked out under /trunk/classlib etc. and linked to the right bit of SVN from there? i.e. if you wanted to make local changes to classlib, say, and be able to incorporate them into your global build under /trunk, but also generate patches against the code in svn under /classlib/trunk for submission, where would the code you are making changes to be checked out to in the above diagram? (my knowledge of svn switch is somewhat slim...) The basic idea is that you initially check out a copy of trunk that has a few empty directories in it. Then, svn switch says hey, this directory in my working copy that used to point to $HARMONY/trunk/classpath (which is empty) should now point to $HARMONY/classpath/trunk. It'll then essentially check out the contents of $HARMONY/classpath/trunk into your working copy's classpath directory. At that point you can do things like run an update or a diff at the top level of your working copy and it'll nicely recurse into the switched subdirectories. If you make changes in those subdirectories there and commit them they'll be committed to the $HARMONY/classpath/trunk directory in the repository (or wherever you had that subdirectory switched to). Does that make sense? -garrett - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [general] More SVN restructuring thoughts... (was Re: Ant build | IOException)
That's great, thanks Garrett. Sound like a very sensible, simple way to approach global builds. Regards, Oliver Garrett Rooney wrote: On 6/8/06, Oliver Deakin [EMAIL PROTECTED] wrote: Would /classlib and /drlvm be checked out in your local workspace as peers to /trunk or would they be checked out under /trunk/classlib etc. and linked to the right bit of SVN from there? i.e. if you wanted to make local changes to classlib, say, and be able to incorporate them into your global build under /trunk, but also generate patches against the code in svn under /classlib/trunk for submission, where would the code you are making changes to be checked out to in the above diagram? (my knowledge of svn switch is somewhat slim...) The basic idea is that you initially check out a copy of trunk that has a few empty directories in it. Then, svn switch says hey, this directory in my working copy that used to point to $HARMONY/trunk/classpath (which is empty) should now point to $HARMONY/classpath/trunk. It'll then essentially check out the contents of $HARMONY/classpath/trunk into your working copy's classpath directory. At that point you can do things like run an update or a diff at the top level of your working copy and it'll nicely recurse into the switched subdirectories. If you make changes in those subdirectories there and commit them they'll be committed to the $HARMONY/classpath/trunk directory in the repository (or wherever you had that subdirectory switched to). Does that make sense? -garrett - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Oliver Deakin IBM United Kingdom Limited - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Ant build | IOException
Anoop kumar V skrev den 30-05-2006 04:36: Hi, I am a n00b wanting to contribute to Harmony. All I have done so far (code-wise) is checkout the harmony code (revision 410710) from svn and run ant from ~/Harmony/make folder. I have just done the exercise for the first time with a fresh Ubuntu 6.06 installation, and it is possible just with gij (i.e. without downloading a JDK) as the ecj is one of the depent downloads (and I hope that it is usable, as I recall there was a compiler issue at one time). I cannot recall at the moment if I installed gcj explicitly or it gets in as an ant dependency. I copy the installation to a fresh deploy directory just to ensure that it is only updated when I want it to. --- sudo apt-get install ant gcc make mkdir harmony cd harmony // now get the Harmony-vme-linux.IA32-v3.tar.gz from IBM and store it in the harmony directory svn checkout https://svn.apache.org/repos/asf/incubator/harmony ant -f harmony/enhanced/classlib/trunk/make/depends.xml download CLASSPATH=harmony/enhanced/classlib/trunk/depends/jars/ecj_3.2RC5/ecj_3.2RC5.jar ant -Dbuild.compiler=org.eclipse.jdt.core.JDTCompilerAdapter -f harmony/enhanced/classlib/trunk/make/build.xml cp -R harmony/enhanced/classlib/trunk/deploy . tar xvzf Harmony-vme-linux.IA32-v3.tar.gz -C deploy/jdk export PATH=$(pwd)/deploy/jdk/jre/bin:$PATH Now java -version should report java version 1.5 (subset) (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable. Please let me know if there is any inaccuracies in the above. -- Thorbjørn smime.p7s Description: S/MIME Cryptographic Signature
Re: Ant build | IOException
On 6/7/06, Thorbjørn Ravn Andersen [EMAIL PROTECTED] wrote: svn checkout https://svn.apache.org/repos/asf/incubator/harmony ant -f harmony/enhanced/classlib/trunk/make/depends.xml download Please don't check out the root of the harmony tree. It's incredibly wasteful, that's far more content than you need, and it'll only get worse as more tags and branches are created. If you want to check out the trunk of the classlib, check out the trunk of the classlib: svn checkout https://svn.apache.org/repos/asf/incubator/harmony/enhanced/classlib/trunk classlib -garrett - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Ant build | IOException
Anoop kumar V wrote: Thanks to all for the suggestions... this is the first weekend I found where I could spend some time on Harmony. The error was because I did not have 'make' installed on my system (Ubuntu on linux). The documentation talks about 'nmake' for windows, so probably it is a good idea to include 'make' as one of the required s/w for linux... (gcc also does not come with make) Good catch on the requirements. Care to submit a documentation patch? :) Hooray - I completed a successful build - it took 3 min 45 seconds. woo hoo! geir Thanks, Anoop On 5/30/06, Geir Magnusson Jr [EMAIL PROTECTED] wrote: Anoop kumar V wrote: Hi, I am a n00b wanting to contribute to Harmony. We're all newbies at some point, so don't worry about that :) All I have done so far (code-wise) is checkout the harmony code (revision 410710) from svn and run ant from ~/Harmony/make folder. But I am running into errors: I am using GCJ on Ubuntu5.10. There's your problem, I suspect, as I don't think anyone has tried using GCJ. [SNIP] Can someone please point me what is the obvious-wrong I am doing? Should I use Sun / Bea java for the build? And can I do development for Harmony using some IDE like IntelliJ IDEA? And Should I not run the default ant target if I am just going to do java work? While you should be able to self-host now using the J9 evaluation VM from IBM, others have noted it might be easier if you just go get the distro from Sun or BEA and start with that while you come up to speed. Yes, you can use IntelliJ - everyone can use the tools that are best for them, and the project will remain IDE neutral. :) As for the default ant target, you should run that to build the native libraries. We've been talking about making a development kit available that has those precompiled, but I think it's worth your while getting it to build from top to bottom at least once. Welcome, and thanks for volunteering :) geir - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[PATCH] Was: Ant build | IOException | JIRA HARMONY-555
svn diff attached pasted below... (for new JIRA issue created: HARMONY-555). Please review and commit into svn.Index: build_classlib.xml=== --- build_classlib.xml (revision 411455)+++ build_classlib.xml (working copy)@@ -57,7 +57,7 @@ (i.e. including javac) in addition ul liWindows platforms : Microsoft Visual C++, and nmake. /li- liLinux platforms : Gnu gcc./li+ liLinux platforms : Gnu gcc, and Gnu make./li /ul /li /ul@@ -168,4 +168,4 @@/section/body-- Thanks and best regards, Anoop Index: build_classlib.xml === --- build_classlib.xml (revision 411455) +++ build_classlib.xml (working copy) @@ -57,7 +57,7 @@ (i.e. including javac) in addition ul liWindows platforms : Microsoft Visual C++, and nmake. /li - liLinux platforms : Gnu gcc./li + liLinux platforms : Gnu gcc, and Gnu make./li /ul /li /ul @@ -168,4 +168,4 @@ /section /body -/document \ No newline at end of file +/document - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Ant build | IOException
Thanks to all for the suggestions... this is the first weekend I found where I could spend some time on Harmony. The error was because I did not have 'make' installed on my system (Ubuntu on linux). The documentation talks about 'nmake' for windows, so probably it is a good idea to include 'make' as one of the required s/w for linux... (gcc also does not come with make) Hooray - I completed a successful build - it took 3 min 45 seconds. Thanks, Anoop On 5/30/06, Geir Magnusson Jr [EMAIL PROTECTED] wrote: Anoop kumar V wrote: Hi, I am a n00b wanting to contribute to Harmony. We're all newbies at some point, so don't worry about that :) All I have done so far (code-wise) is checkout the harmony code (revision 410710) from svn and run ant from ~/Harmony/make folder. But I am running into errors: I am using GCJ on Ubuntu5.10. There's your problem, I suspect, as I don't think anyone has tried using GCJ. [SNIP] Can someone please point me what is the obvious-wrong I am doing? Should I use Sun / Bea java for the build? And can I do development for Harmony using some IDE like IntelliJ IDEA? And Should I not run the default ant target if I am just going to do java work? While you should be able to self-host now using the J9 evaluation VM from IBM, others have noted it might be easier if you just go get the distro from Sun or BEA and start with that while you come up to speed. Yes, you can use IntelliJ - everyone can use the tools that are best for them, and the project will remain IDE neutral. :) As for the default ant target, you should run that to build the native libraries. We've been talking about making a development kit available that has those precompiled, but I think it's worth your while getting it to build from top to bottom at least once. Welcome, and thanks for volunteering :) geir - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Thanks and best regards, Anoop
Re: Ant build | IOException
2006/5/30, Nathan Beyer [EMAIL PROTECTED]: but based on the missing tools.jar error, I would suggest getting either the Sun or BEA JDK (the JRE isn't enough) for Linux to run Ant with for the build. This warning simply means that ant can not find tools.jar which contains javac by default. But you can use any java compiler you like. Eclipse compiler for example. Please refer ant documentation: http://ant.apache.org/manual/CoreTasks/javac.html So you do not really need SUN or BEA JDK to build Harmony. As for running the build, I believe the best practice is to be in the classlib root folder Harmony build works OK from make directory. From: Anoop kumar V [mailto:[EMAIL PROTECTED] Sent: Monday, May 29, 2006 9:37 PM To: harmony-dev@incubator.apache.org Subject: Ant build | IOException Hi, I am a n00b wanting to contribute to Harmony. All I have done so far (code-wise) is checkout the harmony code (revision 410710) from svn and run ant from ~/Harmony/make folder. But I am running into errors: I am using GCJ on Ubuntu5.10. [EMAIL PROTECTED]:~/Harmony/make$ ant Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java- 1.4.2-gcj-4.0-1.4.2.0/lib/tools.jar Buildfile: build.xml clean: clean-bin: [delete] /home/anoop/Harmony/build not found. clean: clean-layout: [delete] /home/anoop/Harmony/deploy not found. clean: init: windows-properties: linux-properties: properties: clean-overlay-oss: make-clean: BUILD FAILED /home/anoop/Harmony/make/build.xml:76: The following error occurred while executing this line: /home/anoop/Harmony/native-src/build.xml:121: Execute failed: java.io.IOException: java.io.IOException: No such file or directory Try to use ant -verbose. It will help to understand which exact command ant is trying to run. -- Alexey A. Petrenko Intel Middleware Products Division - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Ant build | IOException
Let us know how you get on, or if you need more help Anoop. Regards, Tim Anoop kumar V wrote: Hi, I am a n00b wanting to contribute to Harmony. All I have done so far (code-wise) is checkout the harmony code (revision 410710) from svn and run ant from ~/Harmony/make folder. But I am running into errors: I am using GCJ on Ubuntu5.10. [EMAIL PROTECTED]:~/Harmony/make$ ant Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java- 1.4.2-gcj-4.0-1.4.2.0/lib/tools.jar Buildfile: build.xml clean: clean-bin: [delete] /home/anoop/Harmony/build not found. clean: clean-layout: [delete] /home/anoop/Harmony/deploy not found. clean: init: windows-properties: linux-properties: properties: clean-overlay-oss: make-clean: BUILD FAILED /home/anoop/Harmony/make/build.xml:76: The following error occurred while executing this line: /home/anoop/Harmony/native-src/build.xml:121: Execute failed: java.io.IOException: java.io.IOException: No such file or directory The line 121 in the error above is this: dir=${target.platform} in the block: !-- = target: make-clean = -- target name=make-clean depends=properties exec failonerror=true executable=${make.command} dir=${target.platform} arg line=clean / /exec /target Can someone please point me what is the obvious-wrong I am doing? Should I use Sun / Bea java for the build? And can I do development for Harmony using some IDE like IntelliJ IDEA? And Should I not run the default ant target if I am just going to do java work? -- Tim Ellison ([EMAIL PROTECTED]) IBM Java technology centre, UK. - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Ant build | IOException
Anoop kumar V wrote: Hi, I am a n00b wanting to contribute to Harmony. We're all newbies at some point, so don't worry about that :) All I have done so far (code-wise) is checkout the harmony code (revision 410710) from svn and run ant from ~/Harmony/make folder. But I am running into errors: I am using GCJ on Ubuntu5.10. There's your problem, I suspect, as I don't think anyone has tried using GCJ. [SNIP] Can someone please point me what is the obvious-wrong I am doing? Should I use Sun / Bea java for the build? And can I do development for Harmony using some IDE like IntelliJ IDEA? And Should I not run the default ant target if I am just going to do java work? While you should be able to self-host now using the J9 evaluation VM from IBM, others have noted it might be easier if you just go get the distro from Sun or BEA and start with that while you come up to speed. Yes, you can use IntelliJ - everyone can use the tools that are best for them, and the project will remain IDE neutral. :) As for the default ant target, you should run that to build the native libraries. We've been talking about making a development kit available that has those precompiled, but I think it's worth your while getting it to build from top to bottom at least once. Welcome, and thanks for volunteering :) geir - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Ant build | IOException
Hi, I am a n00b wanting to contribute to Harmony. All I have done so far (code-wise) is checkout the harmony code (revision 410710) from svn and run ant from ~/Harmony/make folder. But I am running into errors: I am using GCJ on Ubuntu5.10. [EMAIL PROTECTED]:~/Harmony/make$ ant Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java- 1.4.2-gcj-4.0-1.4.2.0/lib/tools.jar Buildfile: build.xml clean: clean-bin: [delete] /home/anoop/Harmony/build not found. clean: clean-layout: [delete] /home/anoop/Harmony/deploy not found. clean: init: windows-properties: linux-properties: properties: clean-overlay-oss: make-clean: BUILD FAILED /home/anoop/Harmony/make/build.xml:76: The following error occurred while executing this line: /home/anoop/Harmony/native-src/build.xml:121: Execute failed: java.io.IOException: java.io.IOException: No such file or directory The line 121 in the error above is this: dir=${target.platform} in the block: !-- = target: make-clean = -- target name=make-clean depends=properties exec failonerror=true executable=${make.command} dir=${target.platform} arg line=clean / /exec /target Can someone please point me what is the obvious-wrong I am doing? Should I use Sun / Bea java for the build? And can I do development for Harmony using some IDE like IntelliJ IDEA? And Should I not run the default ant target if I am just going to do java work? -- Thanks and best regards, Anoop
RE: Ant build | IOException
Have you checked out the classlib page here: http://incubator.apache.org/harmony/subcomponents/classlibrary/index.html There is an article about building the classlib and another about doing development with Eclipse. I personally don't do development on a Linux distro, but based on the missing tools.jar error, I would suggest getting either the Sun or BEA JDK (the JRE isn't enough) for Linux to run Ant with for the build. As for running the build, I believe the best practice is to be in the classlib root folder (the relative sub folders will be 'make', 'modules', 'native-src' and others) and run ant -f make/build.xml. Then, if you want to run all of the tests try ant -f make/build.xml test. Make sure you have everything from the 'classlib' trunk checked out; see the 'building' document for the exact SVN path. Another source for information is the Wiki (http://wiki.apache.org/harmony/FrontPage). -Nathan -Original Message- From: Anoop kumar V [mailto:[EMAIL PROTECTED] Sent: Monday, May 29, 2006 9:37 PM To: harmony-dev@incubator.apache.org Subject: Ant build | IOException Hi, I am a n00b wanting to contribute to Harmony. All I have done so far (code-wise) is checkout the harmony code (revision 410710) from svn and run ant from ~/Harmony/make folder. But I am running into errors: I am using GCJ on Ubuntu5.10. [EMAIL PROTECTED]:~/Harmony/make$ ant Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java- 1.4.2-gcj-4.0-1.4.2.0/lib/tools.jar Buildfile: build.xml clean: clean-bin: [delete] /home/anoop/Harmony/build not found. clean: clean-layout: [delete] /home/anoop/Harmony/deploy not found. clean: init: windows-properties: linux-properties: properties: clean-overlay-oss: make-clean: BUILD FAILED /home/anoop/Harmony/make/build.xml:76: The following error occurred while executing this line: /home/anoop/Harmony/native-src/build.xml:121: Execute failed: java.io.IOException: java.io.IOException: No such file or directory The line 121 in the error above is this: dir=${target.platform} in the block: !-- = target: make-clean = -- target name=make-clean depends=properties exec failonerror=true executable=${make.command} dir=${target.platform} arg line=clean / /exec /target Can someone please point me what is the obvious-wrong I am doing? Should I use Sun / Bea java for the build? And can I do development for Harmony using some IDE like IntelliJ IDEA? And Should I not run the default ant target if I am just going to do java work? -- Thanks and best regards, Anoop - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]