cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml
bodewig 2003/12/03 02:32:57 Modified:src/etc/testcases/taskdefs/optional dotnet.xml Log: mono 0.29 on MacOS X works just fine Revision ChangesPath 1.18 +0 -5 ant/src/etc/testcases/taskdefs/optional/dotnet.xml Index: dotnet.xml === RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/optional/dotnet.xml,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- dotnet.xml25 Nov 2003 09:16:57 - 1.17 +++ dotnet.xml3 Dec 2003 10:32:57 - 1.18 @@ -90,15 +90,10 @@ echo dotnetapps.found=${dotnetapps.found}/echo condition property=mono.executable value=mono - and -not - os family=mac/ -/not or available file=mono filepath=${env.PATH} / available file=mono.exe filepath=${env.PATH} / /or - /and /condition property name=mono.executable value=mint/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml
On Fri, 24 Oct 2003, Steve Loughran [EMAIL PROTECTED] wrote: I guess there has to be an ilasm on the system, Yes, and it doesn't like the /(no)listing argument, it doesn't support /quiet either. we could patch the search to look for ilasm.exe only. There also is an ilasm.exe on Linux, so that wouldn#t help. ilasm is just this #!/bin/sh /usr/local/bin/mono /usr/local/bin/ilasm.exe $@ Stefan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml
stevel 2003/10/23 22:52:55 Modified:src/main/org/apache/tools/ant/taskdefs/optional/dotnet JSharp.java NetCommand.java src/etc/testcases/taskdefs/optional dotnet.xml Log: fix for bug#19630; no handling large files. Needs testing on mono! Revision ChangesPath 1.8 +1 -1 ant/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/JSharp.java Index: JSharp.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/JSharp.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- JSharp.java 24 Sep 2003 00:58:29 - 1.7 +++ JSharp.java 24 Oct 2003 05:52:55 - 1.8 @@ -69,7 +69,7 @@ * * @author Steve Loughran * @since ant1.6 - * @ant.task category=dotnet + * @ant.task category=dotnet name=jsharpc */ public class JSharp extends DotnetCompile { 1.26 +101 -1 ant/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/NetCommand.java Index: NetCommand.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/NetCommand.java,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- NetCommand.java 21 Sep 2003 20:20:03 - 1.25 +++ NetCommand.java 24 Oct 2003 05:52:55 - 1.26 @@ -65,12 +65,17 @@ import java.io.File; import java.io.IOException; +import java.io.FileOutputStream; +import java.io.PrintWriter; +import java.io.BufferedOutputStream; +import java.io.FileNotFoundException; import java.util.Hashtable; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Project; import org.apache.tools.ant.Task; import org.apache.tools.ant.DirectoryScanner; +import org.apache.tools.ant.util.FileUtils; import org.apache.tools.ant.taskdefs.Execute; import org.apache.tools.ant.taskdefs.ExecuteStreamHandler; import org.apache.tools.ant.taskdefs.LogStreamHandler; @@ -131,6 +136,21 @@ private File directory; /** + * flag to set to to use @file based command cache + */ +private boolean useResponseFile=false; + +/** + * name of a temp file; may be null + */ +private File temporaryCommandFile; + +/** + * internal threshold for auto-switch + */ +private int automaticResponseFileThreshold = 64; + +/** * constructor * [EMAIL PROTECTED] title(for logging/errors) @@ -232,6 +252,38 @@ } /** + * getter + * @return response file state + */ +public boolean isUseResponseFile() { +return useResponseFile; +} + +/** + * set this to true to always use the response file + * @param useResponseFile + */ +public void setUseResponseFile(boolean useResponseFile) { +this.useResponseFile = useResponseFile; +} + +/** + * getter for threshold + * @return 0 for disabled, or a threshold for enabling response files + */ +public int getAutomaticResponseFileThreshold() { +return automaticResponseFileThreshold; +} + +/** + * set threshold for automatically using response files -use 0 for off + * @param automaticResponseFileThreshold + */ +public void setAutomaticResponseFileThreshold(int automaticResponseFileThreshold) { +this.automaticResponseFileThreshold = automaticResponseFileThreshold; +} + +/** * set up the command sequence.. */ protected void prepareExecutor() { @@ -272,7 +324,7 @@ //in verbose mode we always log stuff logVerbose(commandLine.describeCommand()); } -executable.setCommandline(commandLine.getCommandline()); +setExecutableCommandLine(); err = executable.execute(); if (Execute.isFailure(err)) { if (failOnError) { @@ -283,6 +335,54 @@ } } catch (IOException e) { throw new BuildException(title + failed: + e, e, owner.getLocation()); +} finally { +if (temporaryCommandFile != null) { +temporaryCommandFile.delete(); +} +} +} + +/** + * set the executable command line + */ +private void setExecutableCommandLine() { + +String[] commands = commandLine.getCommandline(); +//always trigger file mode if commands are big enough +if (automaticResponseFileThreshold0 +commands.length automaticResponseFileThreshold) { +useResponseFile = true; +} +if
cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml
stevel 2003/10/23 22:54:23 Modified:src/testcases/org/apache/tools/ant/taskdefs/optional Tag: ANT_16_BRANCH DotnetTest.java src/main/org/apache/tools/ant/taskdefs/optional/dotnet Tag: ANT_16_BRANCH DotnetCompile.java JSharp.java NetCommand.java src/etc/testcases/taskdefs/optional Tag: ANT_16_BRANCH dotnet.xml Log: Ant1.6 backport of fix for bug#19630; no handling large files. Needs testing on mono! (split into multple commits as CVS is whining) Revision ChangesPath No revision No revision 1.5.2.1 +8 -0 ant/src/testcases/org/apache/tools/ant/taskdefs/optional/DotnetTest.java Index: DotnetTest.java === RCS file: /home/cvs/ant/src/testcases/org/apache/tools/ant/taskdefs/optional/DotnetTest.java,v retrieving revision 1.5 retrieving revision 1.5.2.1 diff -u -r1.5 -r1.5.2.1 --- DotnetTest.java 21 Sep 2003 22:29:54 - 1.5 +++ DotnetTest.java 24 Oct 2003 05:54:22 - 1.5.2.1 @@ -157,5 +157,13 @@ public void testJsharp() throws Exception { executeTarget(jsharp); } + +/** + * test we can handle jsharp (if found) + */ +public void testResponseFile() throws Exception { +executeTarget(testCSCresponseFile); +} + } No revision No revision 1.17.2.2 +27 -0 ant/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/DotnetCompile.java Index: DotnetCompile.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/DotnetCompile.java,v retrieving revision 1.17.2.1 retrieving revision 1.17.2.2 diff -u -r1.17.2.1 -r1.17.2.2 --- DotnetCompile.java23 Sep 2003 08:29:07 - 1.17.2.1 +++ DotnetCompile.java24 Oct 2003 05:54:23 - 1.17.2.2 @@ -205,6 +205,11 @@ */ protected Vector referenceFilesets = new Vector(); +/** + * flag to set to to use @file based command cache + */ +private boolean useResponseFile = false; +private static final int AUTOMATIC_RESPONSE_FILE_THRESHOLD = 64; /** * constructor inits everything and set up the search pattern @@ -796,6 +801,25 @@ return **/*. + getFileExtension(); } +/** + * getter for flag + * @return + */ +public boolean isUseResponseFile() { +return useResponseFile; +} + +/** + * Flag to turn on response file use; default=false. + * When set the command params are saved to a file and + * this is passed in with @file. The task automatically switches + * to this mode with big commands; this option is here for + * testing and emergencies + * @param useResponseFile + */ +public void setUseResponseFile(boolean useResponseFile) { +this.useResponseFile = useResponseFile; +} /** * do the work by building the command line and then calling it @@ -806,6 +830,9 @@ throws BuildException { validate(); NetCommand command = createNetCommand(); +//set up response file options + command.setAutomaticResponseFileThreshold(AUTOMATIC_RESPONSE_FILE_THRESHOLD); +command.setUseResponseFile(useResponseFile); //fill in args fillInSharedParameters(command); addResources(command); 1.5.2.2 +1 -1 ant/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/JSharp.java Index: JSharp.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/JSharp.java,v retrieving revision 1.5.2.1 retrieving revision 1.5.2.2 diff -u -r1.5.2.1 -r1.5.2.2 --- JSharp.java 27 Sep 2003 03:00:05 - 1.5.2.1 +++ JSharp.java 24 Oct 2003 05:54:23 - 1.5.2.2 @@ -69,7 +69,7 @@ * * @author Steve Loughran * @since ant1.6 - * @ant.task category=dotnet + * @ant.task category=dotnet name=jsharpc */ public class JSharp extends DotnetCompile { 1.25.2.1 +101 -1 ant/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/NetCommand.java Index: NetCommand.java === RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/dotnet/NetCommand.java,v retrieving revision 1.25 retrieving revision 1.25.2.1 diff -u -r1.25 -r1.25.2.1 --- NetCommand.java 21 Sep 2003 20:20:03 - 1.25 +++ NetCommand.java 24 Oct 2003 05:54:23 - 1.25.2.1 @@ -65,12 +65,17 @@
Re: cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml
On 24 Oct 2003, [EMAIL PROTECTED] wrote: Needs testing on mono! [junit] Testsuite: org.apache.tools.ant.taskdefs.optional.DotnetTest [junit] Tests run: 9, Failures: 0, Errors: 2, Time elapsed: 11,001 sec [junit] Testcase: testCSC took 2,972 sec [junit] Testcase: testCSCintrinsicFileset took 1,71 sec [junit] Testcase: testCSCdll took 1,23 sec [junit] Testcase: testCscReferences took 2,4 sec [junit] Testcase: testILASM took 0,463 sec [junit] Caused an ERROR [junit] ilasm returned: 1 [junit] Testcase: testILDASM took 0,425 sec [junit] Caused an ERROR [junit] ilasm returned: 1 [junit] Testcase: testILDASM_empty took 0,115 sec [junit] Testcase: testJsharp took 0,406 sec [junit] Testcase: testResponseFile took 1,267 sec So nothing has been broken that hasn't been broken before AFAICT. This is Linux only, but I wouldn't expect any difference for Mac OS X. Stefan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml
Stefan Bodewig wrote: On 24 Oct 2003, [EMAIL PROTECTED] wrote: Needs testing on mono! [junit] Testsuite: org.apache.tools.ant.taskdefs.optional.DotnetTest [junit] Tests run: 9, Failures: 0, Errors: 2, Time elapsed: 11,001 sec [junit] Testcase: testCSC took 2,972 sec [junit] Testcase: testCSCintrinsicFileset took 1,71 sec [junit] Testcase: testCSCdll took 1,23 sec [junit] Testcase: testCscReferences took 2,4 sec [junit] Testcase: testILASM took 0,463 sec [junit] Caused an ERROR [junit] ilasm returned: 1 [junit] Testcase: testILDASM took 0,425 sec [junit] Caused an ERROR [junit] ilasm returned: 1 I guess there has to be an ilasm on the system, [EMAIL PROTECTED] bin]$ ilasm ?Mono ILasm compiler ilasm [options] source-files --aboutAbout the Mono ILasm compiler --version Print the version number of the Mono ILasm compiler /out:file_name Specifies output file. /exe Compile to executable. /dll Compile to library. Options can be of the form -option or /option well what do you know? there is. with the same name as ilasm.exe. we could patch the search to look for ilasm.exe only. [junit] Testcase: testILDASM_empty took 0,115 sec [junit] Testcase: testJsharp took 0,406 sec [junit] Testcase: testResponseFile took 1,267 sec this is the new addition, if this works thie key change went in OK. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml
bodewig 2003/09/23 00:23:01 Modified:src/etc/testcases/taskdefs/optional dotnet.xml Log: Make CSC tests pass on Mono again Revision ChangesPath 1.14 +4 -4 ant/src/etc/testcases/taskdefs/optional/dotnet.xml Index: dotnet.xml === RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/optional/dotnet.xml,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- dotnet.xml21 Sep 2003 22:29:54 - 1.13 +++ dotnet.xml23 Sep 2003 07:23:01 - 1.14 @@ -142,7 +142,7 @@ destFile=${testCSC.exe} targetType=exe executable=mcs - includedefaultreferences=false + includedefaultreferences=true /csc available property=app.created file=${testCSC.exe}/ @@ -179,7 +179,7 @@ targetType=exe srcDir=. executable=mcs - includedefaultreferences=false + includedefaultreferences=true /csc available property=app.created file=${testCSC.exe}/ @@ -213,7 +213,7 @@ destFile=${testCSC.dll} targetType=library executable=mcs - includedefaultreferences=false + includedefaultreferences=true src dir=${src.dir} includes=example2.cs/ /csc @@ -251,7 +251,7 @@ destFile=${testCscReferences.exe} targetType=exe executable=mcs - includedefaultreferences=false + includedefaultreferences=true src file=${src.dir}/example.cs/ reference file=${testCSC.dll} / - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml
bodewig 2003/09/16 01:29:08 Modified:docs/manual/OptionalTasks propertyfile.html src/etc/testcases/taskdefs/optional dotnet.xml Log: 2003 Revision ChangesPath 1.12 +1 -1 ant/docs/manual/OptionalTasks/propertyfile.html Index: propertyfile.html === RCS file: /home/cvs/ant/docs/manual/OptionalTasks/propertyfile.html,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- propertyfile.html 13 Sep 2003 08:45:22 - 1.11 +++ propertyfile.html 16 Sep 2003 08:29:08 - 1.12 @@ -185,7 +185,7 @@ pEach time called, a quot;.quot; will be appended to quot;progressquot; /p hr -p align=centerCopyright copy; 2000-2002 Apache Software Foundation. All rights +p align=centerCopyright copy; 2000-2003 Apache Software Foundation. All rights Reserved./p /body /html 1.12 +30 -19ant/src/etc/testcases/taskdefs/optional/dotnet.xml Index: dotnet.xml === RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/optional/dotnet.xml,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- dotnet.xml12 Sep 2003 11:29:49 - 1.11 +++ dotnet.xml16 Sep 2003 08:29:08 - 1.12 @@ -42,6 +42,14 @@ /condition echo mcs.found=${mcs.found}/echo + !-- any C# compiler -- + condition property=c#.found + or +isset property=csc.found/ +isset property=mcs.found/ + /or + /condition + !-- Mono's ilasm -- condition property=mono.ilasm.found available file=ilasm filepath=${env.PATH} / @@ -55,7 +63,7 @@ available file=ildasm.exe filepath=${env.Path} / /or /condition - echo ilasm.found=${ildasm.found}/echo + echo ildasm.found=${ildasm.found}/echo condition property=dotnetapps.found or @@ -81,12 +89,7 @@ property name=mono.executable value=mint/ /target - target name=validate depends=probe_for_apps -fail unless=dotnetapps.foundNeeded .net apps are missing/fail - /target - - - target name=init depends=validate + target name=init depends=probe_for_apps mkdir dir=${build.dir}/ /target @@ -94,9 +97,17 @@ delete dir=${build.dir}/ /target + target name=validate_csc depends=init +fail unless=c#.foundNeeded C# compiler is missing/fail + /target + + target name=validate_ilasm depends=init +fail unless=ilasm.foundNeeded ilasm is missing/fail + /target + target name=testCSC depends=testCSC-Mono,testCSC-MS/ - target name=testCSC-MS depends=init if=csc.found + target name=testCSC-MS depends=validate_csc if=csc.found property name=testCSC.exe location=${build.dir}/ExampleCsc.exe / csc @@ -110,7 +121,7 @@ delete file=${testCSC.exe}/ /target - target name=testCSC-Mono depends=init if=mcs.found + target name=testCSC-Mono depends=validate_csc if=mcs.found property name=testCSC.exe location=${build.dir}/ExampleCsc.exe / csc @@ -132,7 +143,7 @@ target name=testCSCintrinsicFileset depends=testCSCintrinsicFileset-MS,testCSCintrinsicFileset-Mono/ - target name=testCSCintrinsicFileset-MS depends=init if=csc.found + target name=testCSCintrinsicFileset-MS depends=validate_csc if=csc.found property name=testCSC.exe location=${build.dir}/ExampleCsc.exe/ csc @@ -147,7 +158,7 @@ delete file=${testCSC.exe}/ /target - target name=testCSCintrinsicFileset-Mono depends=init if=mcs.found + target name=testCSCintrinsicFileset-Mono depends=validate_csc if=mcs.found property name=testCSC.exe location=${build.dir}/ExampleCsc.exe/ csc @@ -169,7 +180,7 @@ target name=testCSCdll depends=testCSCdll-MS,testCSCdll-Mono/ - target name=testCSCdll-MS depends=init if=csc.found + target name=testCSCdll-MS depends=validate_csc if=csc.found property name=testCSC.dll location=${build.dir}/Example2.dll / csc @@ -183,7 +194,7 @@ fail unless=dll.createdNo file ${testCSC.dll} created/fail /target - target name=testCSCdll-Mono depends=init if=mcs.found + target name=testCSCdll-Mono depends=validate_csc if=mcs.found property name=testCSC.dll location=${build.dir}/Example2.dll / csc @@ -202,7 +213,7 @@ target name=testCscReferences depends=testCscReferences-MS,testCscReferences-Mono/ - target name=testCscReferences-MS depends=init,testCSCdll-MS + target name=testCscReferences-MS depends=validate_csc,testCSCdll-MS if=csc.found property name=testCscReferences.exe
cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml
bodewig 2003/09/12 04:25:31 Modified:src/antidote WHAT-IS-THIS-P src/etc/testcases/taskdefs/optional dotnet.xml Log: Correct pointer to Antidote, submitted by Larry Shatzer Revision ChangesPath 1.2 +1 -1 ant/src/antidote/WHAT-IS-THIS-P Index: WHAT-IS-THIS-P === RCS file: /home/cvs/ant/src/antidote/WHAT-IS-THIS-P,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- WHAT-IS-THIS-P17 Apr 2001 00:31:46 - 1.1 +++ WHAT-IS-THIS-P12 Sep 2003 11:25:31 - 1.2 @@ -1,5 +1,5 @@ This /used/ to be the home of Antidote, the GUI for Ant. It has moved -(or rather, graduate) to the cvs module jakarta-ant-antidote, and must +(or rather, graduate) to the cvs module ant-antidote, and must be retrieved separately from Ant, but can be found in the same place you found source version of Ant. 1.10 +11 -3 ant/src/etc/testcases/taskdefs/optional/dotnet.xml Index: dotnet.xml === RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/optional/dotnet.xml,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- dotnet.xml6 Sep 2003 07:09:59 - 1.9 +++ dotnet.xml12 Sep 2003 11:25:31 - 1.10 @@ -71,6 +71,14 @@ /or /condition echo dotnetapps.found=${dotnetapps.found}/echo + + condition property=mono.executable value=mono + or +available file=mono filepath=${env.PATH} / +available file=mono.exe filepath=${env.PATH} / + /or + /condition + property name=mono.executable value=mint/ /target target name=validate depends=probe_for_apps @@ -115,7 +123,7 @@ /csc available property=app.created file=${testCSC.exe}/ fail unless=app.createdNo app ${testCSC.exe} created/fail -exec executable=mono failonerror=true +exec executable=${mono.executable} failonerror=true arg value=${testCSC.exe}/ /exec delete file=${testCSC.exe}/ @@ -153,7 +161,7 @@ /csc available property=app.created file=${testCSC.exe}/ fail unless=app.createdNo app ${testCSC.exe} created/fail -exec executable=mono failonerror=true +exec executable=${mono.execuatble} failonerror=true arg value=${testCSC.exe}/ /exec delete file=${testCSC.exe}/ @@ -232,7 +240,7 @@ /csc available property=refapp.created file=${testCscReferences.exe}/ fail unless=refapp.createdNo app ${testCscReferences.exe} created/fail -exec executable=mono failonerror=true +exec executable=${mono.executable} failonerror=true arg value=${testCscReferences.exe}/ /exec /target - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml
bodewig 2003/08/13 06:42:54 Modified:src/etc/testcases/taskdefs/optional dotnet.xml Log: More Mono tests Revision ChangesPath 1.7 +90 -34ant/src/etc/testcases/taskdefs/optional/dotnet.xml Index: dotnet.xml === RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/optional/dotnet.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- dotnet.xml8 Aug 2003 07:59:51 - 1.6 +++ dotnet.xml13 Aug 2003 13:42:54 - 1.7 @@ -9,10 +9,6 @@ property name=out.app location=${classes.dir}/out.exe/ property name=out.type value=exe/ - target name=mark-mono-ok -property name=mono.ok value=true/ - /target - target name=probe_for_apps condition property=ilasm.found or @@ -46,24 +42,19 @@ /condition echo mcs.found=${mcs.found}/echo -condition property=cs.found - or -isset property=csc.found/ -isset property=mcs.found/ - /or + !-- Mono's ilasm -- + condition property=mono.ilasm.found + available file=ilasm filepath=${env.PATH} / /condition - echo cs.found=${cs.found}/echo + echo mono.ilasm.found=${mono.ilasm.found}/echo condition property=dotnetapps.found or and - isset property=cs.found/ - isset property=mono.ok/ + isset property=mcs.found/ + isset property=mono.ilasm.found/ /and and - not -isset property=mono.ok/ - /not isset property=csc.found/ !-- isset property=vbc.found/ -- isset property=ilasm.found/ @@ -102,7 +93,7 @@ delete file=${testCSC.exe}/ /target - target name=testCSC-Mono depends=mark-mono-ok,init if=mcs.found + target name=testCSC-Mono depends=init if=mcs.found property name=testCSC.exe location=${build.dir}/ExampleCsc.exe / csc @@ -112,7 +103,6 @@ includedefaultreferences=false standardlib=true - reference dir=/usr/lib includes=*.dll/ /csc available property=app.created file=${testCSC.exe}/ fail unless=app.createdNo app ${testCSC.exe} created/fail @@ -122,22 +112,47 @@ delete file=${testCSC.exe}/ /target -target name=testCSCintrinsicFileset depends=init - property name=testCSC.exe -location=${build.dir}/ExampleCsc.exe/ - csc -destFile=${testCSC.exe} -targetType=exe -srcDir=. - - /csc - available property=app.created file=${testCSC.exe}/ - fail unless=app.createdNo app ${testCSC.exe} created/fail - exec executable=${testCSC.exe} failonerror=true/ - delete file=${testCSC.exe}/ -/target + target name=testCSCintrinsicFileset + depends=testCSCintrinsicFileset-MS,testCSCintrinsicFileset-Mono/ - target name=testCSCdll depends=init + target name=testCSCintrinsicFileset-MS depends=init if=csc.found +property name=testCSC.exe + location=${build.dir}/ExampleCsc.exe/ +csc + destFile=${testCSC.exe} + targetType=exe + srcDir=. + +/csc +available property=app.created file=${testCSC.exe}/ +fail unless=app.createdNo app ${testCSC.exe} created/fail +exec executable=${testCSC.exe} failonerror=true / +delete file=${testCSC.exe}/ + /target + + target name=testCSCintrinsicFileset-Mono depends=init if=mcs.found +property name=testCSC.exe + location=${build.dir}/ExampleCsc.exe/ +csc + destFile=${testCSC.exe} + targetType=exe + srcDir=. + executable=mcs + includedefaultreferences=false + standardlib=true + +/csc +available property=app.created file=${testCSC.exe}/ +fail unless=app.createdNo app ${testCSC.exe} created/fail +exec executable=mono failonerror=true + arg value=${testCSC.exe}/ +/exec +delete file=${testCSC.exe}/ + /target + + target name=testCSCdll depends=testCSCdll-MS,testCSCdll-Mono/ + + target name=testCSCdll-MS depends=init if=csc.found property name=testCSC.dll location=${build.dir}/Example2.dll / csc @@ -151,7 +166,27 @@ fail unless=dll.createdNo file ${testCSC.dll} created/fail /target - target name=testCscReferences depends=init,testCSCdll + target name=testCSCdll-Mono depends=init if=mcs.found +property name=testCSC.dll + location=${build.dir}/Example2.dll / +csc + destFile=${testCSC.dll} + targetType=library + executable=mcs + includedefaultreferences=false + standardlib=true + + src dir=${src.dir} includes=example2.cs/ +/csc +available
cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml
bodewig 2003/08/13 07:06:38 Modified:src/etc/testcases/taskdefs/optional dotnet.xml Log: execute mono instead of .EXE Revision ChangesPath 1.8 +4 -2 ant/src/etc/testcases/taskdefs/optional/dotnet.xml Index: dotnet.xml === RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/optional/dotnet.xml,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- dotnet.xml13 Aug 2003 13:42:54 - 1.7 +++ dotnet.xml13 Aug 2003 14:06:38 - 1.8 @@ -223,7 +223,9 @@ /csc available property=refapp.created file=${testCscReferences.exe}/ fail unless=refapp.createdNo app ${testCscReferences.exe} created/fail -exec executable=${testCscReferences.exe} failonerror=true / +exec executable=mono failonerror=true + arg value=${testCscReferences.exe}/ +/exec /target target name=testILASM depends=init @@ -231,7 +233,7 @@ location=${build.dir}/ExampleIlasm.exe / ilasm destFile=${testILASM.exe} - targetType=exe + targetType=exe src dir=${src.dir} includes=**/*.il/ /ilasm - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml
stevel 2003/08/07 17:15:47 Modified:src/etc/testcases/taskdefs/optional dotnet.xml Log: compiles but doesnt run. Path issues? Revision ChangesPath 1.5 +1 -0 ant/src/etc/testcases/taskdefs/optional/dotnet.xml Index: dotnet.xml === RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/optional/dotnet.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- dotnet.xml5 Aug 2003 15:08:17 - 1.4 +++ dotnet.xml8 Aug 2003 00:15:47 - 1.5 @@ -110,6 +110,7 @@ targetType=exe executable=mcs includedefaultreferences=false + standardlib=true reference dir=/usr/lib includes=*.dll/ /csc - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: csc and Mono (was Re: cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml)
Stefan Bodewig wrote: On Wed, 06 Aug 2003, Steve Loughran [EMAIL PROTECTED] wrote: yup. We either want no refs, or we want the mono refs. With /nostdlib+ and Mono refs it doesn't work (Mono tries to open the refs in read/write mode, no idea why). So in the case of Mono I'd vote for no refs. I was thinking of something different, As you understand the .NET area and I don't, at least not yet, please go ahead and use me and my Linux setup as the Mono guinea pig. 1. drop all predefined references the moment you name an executable on the command line. Won't that cause a backwards compatibility problem? Added a new reference that controls stdlib include/exclude. I've left the old one still in there, but am reasonably sure that we could cut the old behaviour out on default references and nothing would break (as excluding the stdlib is so drastic, I doubt anyone does it) Does it work? No, not yet. And /home/slo becomes drive F: testCSC-Mono: [csc] compiling 2 files [exec] fixme:win32:PE_CreateModule Unknown directory 14 ignored [exec] err:module:import_dll Module (file) mscoree.dll (which is needed by F:\Java\Apache\ant\src\etc\testcases\taskdefs\optional\dotnet\build\ExampleCsc.e xe) not found Drive F. Hmmm. Maybe the CLR has assumptions about drive letters built in from the beginning -so its easier to flow with the design defect than it is is to correct it. -steve - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml
bodewig 2003/08/08 00:59:51 Modified:src/etc/testcases/taskdefs/optional dotnet.xml Log: .NET executables are not executable on Linux Revision ChangesPath 1.6 +3 -1 ant/src/etc/testcases/taskdefs/optional/dotnet.xml Index: dotnet.xml === RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/optional/dotnet.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- dotnet.xml8 Aug 2003 00:15:47 - 1.5 +++ dotnet.xml8 Aug 2003 07:59:51 - 1.6 @@ -116,7 +116,9 @@ /csc available property=app.created file=${testCSC.exe}/ fail unless=app.createdNo app ${testCSC.exe} created/fail -exec executable=${testCSC.exe} failonerror=true / +exec executable=mono failonerror=true + arg value=${testCSC.exe}/ +/exec delete file=${testCSC.exe}/ /target - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: csc and Mono (was Re: cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml)
Stefan Bodewig wrote: On Thu, 07 Aug 2003, Steve Loughran [EMAIL PROTECTED] wrote: Does it work? Yes testCSC-Mono: [csc] compiling 2 files [csc] WROTE SYMFILE: 2 sources, 2 methods, 3 types, 4 line numbers, 0 locals, 2 namespaces, 247 bytes of string data [csc] OffsetTable [639 - 52:515 - 2:591:48 - 2:567:24 - 3] [csc] Compilation succeeded [exec] hello, I look like Java, but I'm really .NET [delete] Deleting: /home/bodewig/ASF/jakarta/jakarta-ant/src/etc/testcases/taskdefs/optional/dotnet/build/ExampleCsc.exe testCSC-MS: testCSC: BUILD SUCCESSFUL Total time: 7 seconds after changing the exec to invoke mono, that is. Ahh. I have wine on my box, which does auto-run PE executables. It must have been trying to run the exe - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: csc and Mono (was Re: cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml)
On Wed, 06 Aug 2003, Steve Loughran [EMAIL PROTECTED] wrote: yup. We either want no refs, or we want the mono refs. With /nostdlib+ and Mono refs it doesn't work (Mono tries to open the refs in read/write mode, no idea why). So in the case of Mono I'd vote for no refs. I was thinking of something different, As you understand the .NET area and I don't, at least not yet, please go ahead and use me and my Linux setup as the Mono guinea pig. 1. drop all predefined references the moment you name an executable on the command line. Won't that cause a backwards compatibility problem? How can I say fileset path=${env.PATH} includes=System.dll/ Similar to how extdirs is handled in javac? I.e. add a Path nested element and make the task create filesets from it - fall back to env.PATH or env.Path if the user doesn't specify a path? On Linux it doesn't seem to use PATH but either something that's hardcoded inside of Mono or the dynamic linker architecture (as it picks up the .dlls from /usr/lib for me). strings mono doesn't give any clues to me. I'd probably simply have to read the documentation to know 8-) Stefan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: csc and Mono (was Re: cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml)
Stefan Bodewig wrote: On Wed, 06 Aug 2003, Steve Loughran [EMAIL PROTECTED] wrote: yup. We either want no refs, or we want the mono refs. With /nostdlib+ and Mono refs it doesn't work (Mono tries to open the refs in read/write mode, no idea why). So in the case of Mono I'd vote for no refs. OK I was thinking of something different, As you understand the .NET area and I don't, at least not yet, please go ahead and use me and my Linux setup as the Mono guinea pig. I have mono on a box here too. 1. drop all predefined references the moment you name an executable on the command line. Won't that cause a backwards compatibility problem? no, because we didnt let people name an executable until last week. How can I say fileset path=${env.PATH} includes=System.dll/ Similar to how extdirs is handled in javac? I.e. add a Path nested element and make the task create filesets from it - fall back to env.PATH or env.Path if the user doesn't specify a path? On Linux it doesn't seem to use PATH but either something that's hardcoded inside of Mono or the dynamic linker architecture (as it picks up the .dlls from /usr/lib for me). strings mono doesn't give any clues to me. I'd probably simply have to read the documentation to know 8-) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
csc and Mono (was Re: cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml)
On Tue, 05 Aug 2003, Steve Loughran [EMAIL PROTECTED] wrote: I see the default references are going to be trouble. More trouble than I had expected. After making sure that there was no trailing ; I get this here [...] [csc] /usr/lib/System.dll is out of date [csc] /usr/lib/corlib.dll is out of date [csc] working from source directory /home/bodewig/ASF/jakarta/jakarta-ant/src/etc/testcases/taskdefs/optional [csc] /home/bodewig/ASF/jakarta/jakarta-ant/src/etc/testcases/taskdefs/optional/dotnet/example.cs is out of date [csc] /home/bodewig/ASF/jakarta/jakarta-ant/src/etc/testcases/taskdefs/optional/dotnet/example2.cs is out of date [csc] compiling 2 files [... SNIPPED ...] [csc] error CS0518: The predefined type `System.Object' is not defined and so on. First, obviously the /reference argument is not doing what I (being the C# neophyte I am) thought it would do (you describe it as CLASSPATH equivalent) - as its content is considered as something that may need a recompilation. When I drop the /nostdlib+ generated by includedefaultreferences=false, I get rid of these errors but the compilation fails as mcs now tries to write to the .dlls and fails (no permission to do so, of course). If I now also remove the /reference argument, things go OK until I hit error CS5001: Program /home/bodewig/ASF/jakarta/jakarta-ant/src/etc/testcases/taskdefs/optional/dotnet/build/ExampleCsc.exe does not have an entry point defined which is quite close to what I'd expect from the task to emit as well. I think this is a second problem that we can try to solve later. Now the main problem is that includedefaultreferences does two things, it controls the /nostdlib argument and it also controls an implicit set of references that will be added as argument. For Mono we do not want the second part as it references assemblies not present there. I feel a new attribute is getting close. adddefaultreferences that by default takes the same value as includedefaultreferences? (best viewed with a non-proportional font 8-) adddefaultreferences | includedefaultreferences | effect = true | true | /nostdlib+ and | | implicit /reference - true | false| /nostdlib- but | | implicit /reference - false| true | /nostdlib+ and no | | implicit /reference - false| false| /nostdlib- and no | | implicit /reference I don't think the second line makes sense, but anyway. Mono users would then use the third combination. Stefan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: csc and Mono (was Re: cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml)
Stefan Bodewig wrote: On Tue, 05 Aug 2003, Steve Loughran [EMAIL PROTECTED] wrote: I see the default references are going to be trouble. More trouble than I had expected. After making sure that there was no trailing ; I get this here [...] [csc] /usr/lib/System.dll is out of date [csc] /usr/lib/corlib.dll is out of date [csc] working from source directory /home/bodewig/ASF/jakarta/jakarta-ant/src/etc/testcases/taskdefs/optional [csc] /home/bodewig/ASF/jakarta/jakarta-ant/src/etc/testcases/taskdefs/optional/dotnet/example.cs is out of date [csc] /home/bodewig/ASF/jakarta/jakarta-ant/src/etc/testcases/taskdefs/optional/dotnet/example2.cs is out of date [csc] compiling 2 files [... SNIPPED ...] [csc] error CS0518: The predefined type `System.Object' is not defined and so on. First, obviously the /reference argument is not doing what I (being the C# neophyte I am) thought it would do (you describe it as CLASSPATH equivalent) - as its content is considered as something that may need a recompilation. When I drop the /nostdlib+ generated by includedefaultreferences=false, I get rid of these errors but the compilation fails as mcs now tries to write to the .dlls and fails (no permission to do so, of course). what seemed a good idea of (a) having a predefined set of inclusions, and (b) having the turn-off-inclusions do two things, was clearly a mistake. Sorry. If I now also remove the /reference argument, things go OK until I hit error CS5001: Program /home/bodewig/ASF/jakarta/jakarta-ant/src/etc/testcases/taskdefs/optional/dotnet/build/ExampleCsc.exe does not have an entry point defined which is quite close to what I'd expect from the task to emit as well. I think this is a second problem that we can try to solve later. that's cool, that's just a no-main eror. Now the main problem is that includedefaultreferences does two things, it controls the /nostdlib argument and it also controls an implicit set of references that will be added as argument. For Mono we do not want the second part as it references assemblies not present there. yup. We either want no refs, or we want the mono refs. I feel a new attribute is getting close. adddefaultreferences that by default takes the same value as includedefaultreferences? (best viewed with a non-proportional font 8-) adddefaultreferences | includedefaultreferences | effect = true | true | /nostdlib+ and | | implicit /reference - true | false| /nostdlib- but | | implicit /reference - false| true | /nostdlib+ and no | | implicit /reference - false| false| /nostdlib- and no | | implicit /reference I don't think the second line makes sense, but anyway. Mono users would then use the third combination. I was thinking of something different, now that there is a references fileset in the task. 1. drop all predefined references the moment you name an executable on the command line. So only the stdlib goes in, the rest are missing 2. fix up the IsManagedExecutable() test to look at the flag in the PE header that says 'we are managed code'. I'd need to write a win32 app to calculate the offset from winnt.h definitions, but then its easy. 3. have people include references that *somehow* refer to the files in version of .net they are building against. references dir=D:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\ includes=*.dll I dont see an env variable on windows that points to the current version of .net, and you cannot hard code it. When you include stuff without giving a full path, the compiler searches the path. How can I say fileset path=${env.PATH} includes=System.dll/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml
bodewig 2003/08/05 08:08:17 Modified:src/etc/testcases/taskdefs/optional dotnet.xml Log: Slowly approaching csc with Mono Revision ChangesPath 1.4 +52 -7 ant/src/etc/testcases/taskdefs/optional/dotnet.xml Index: dotnet.xml === RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/optional/dotnet.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- dotnet.xml1 Aug 2003 05:55:16 - 1.3 +++ dotnet.xml5 Aug 2003 15:08:17 - 1.4 @@ -9,6 +9,9 @@ property name=out.app location=${classes.dir}/out.exe/ property name=out.type value=exe/ + target name=mark-mono-ok +property name=mono.ok value=true/ + /target target name=probe_for_apps condition property=ilasm.found @@ -36,18 +39,41 @@ /condition echo vbc.found=${vbc.found}/echo -- - condition property=dotnetapps.found - and + + !-- Mono C# compiler -- + condition property=mcs.found + available file=mcs filepath=${env.PATH} / +/condition + echo mcs.found=${mcs.found}/echo + +condition property=cs.found + or isset property=csc.found/ +isset property=mcs.found/ + /or +/condition + echo cs.found=${cs.found}/echo + + condition property=dotnetapps.found + or +and + isset property=cs.found/ + isset property=mono.ok/ +/and +and + not +isset property=mono.ok/ + /not + isset property=csc.found/ !-- isset property=vbc.found/ -- -isset property=ilasm.found/ - /and + isset property=ilasm.found/ +/and + /or /condition echo dotnetapps.found=${dotnetapps.found}/echo /target - - target name=validate depends=probe_for_apps + target name=validate depends=probe_for_apps fail unless=dotnetapps.foundNeeded .net apps are missing/fail /target @@ -60,13 +86,32 @@ delete dir=${build.dir}/ /target - target name=testCSC depends=init + target name=testCSC depends=testCSC-Mono,testCSC-MS/ + + target name=testCSC-MS depends=init if=csc.found +property name=testCSC.exe + location=${build.dir}/ExampleCsc.exe / +csc + destFile=${testCSC.exe} + targetType=exe + +/csc +available property=app.created file=${testCSC.exe}/ +fail unless=app.createdNo app ${testCSC.exe} created/fail +exec executable=${testCSC.exe} failonerror=true / +delete file=${testCSC.exe}/ + /target + + target name=testCSC-Mono depends=mark-mono-ok,init if=mcs.found property name=testCSC.exe location=${build.dir}/ExampleCsc.exe / csc destFile=${testCSC.exe} targetType=exe + executable=mcs + includedefaultreferences=false + reference dir=/usr/lib includes=*.dll/ /csc available property=app.created file=${testCSC.exe}/ fail unless=app.createdNo app ${testCSC.exe} created/fail - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: ant/src/etc/testcases/taskdefs/optional dotnet.xml
[EMAIL PROTECTED] wrote: bodewig 2003/08/05 08:08:17 Modified:src/etc/testcases/taskdefs/optional dotnet.xml Log: Slowly approaching csc with Mono oh, cool. I see the default references are going to be trouble. In my intent to be helpful in the past, I have made the present worse. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]