> I (finally) understand your intentions. Glad, I finally could explain it sufficiently ;-)
> Question is: does everyone that uses the exec task (or any > other task deriving from ExternalProgramBase) for launching > managed applications want (to force) the managed app to run > on the CLR matching the current target framework ? You could make it optional by introducing a "force='true'|'false'" on the exec task. I think it would be a great help and is much more intuitive. Although pretty much clear afterwards, I've been suprised (and I've been not the only one) when I first detected that my tests executed on a different clrversion than they have just been built for. cheers, Erich > -----Original Message----- > From: Gert Driesen [mailto:[EMAIL PROTECTED] > Sent: Friday, May 04, 2007 12:48 PM > To: Erich Eichinger; SPEAR, Adrian, GBM; Bob Archer; > nant-users@lists.sourceforge.net > Subject: Re: [NAnt-users] NUnit NAnt task roadmap > > Hi Erich, > > 1) I know about the COMPLUS_VERSION "trick", but instead I > was planning on including versions of NUnit that have been > built specifically for each support target framework. > > We already do this right now for NUnit, but we're just not > including nunit-console yet. > > That way you don't need this "trick", and you have a version > of NUnit that really matches the current target framework; > meaning it can also uses specific constructs / API's of the > current target framework. > > 2) Nope, we don't need this because we have versions of NUnit > built specifically for the supported target frameworks. > > That being said, the COMPLUS_VERSION trick might be useful > for other managed applications that are executed using the > exec task (and for which there's no specific version > targeting the current framework version). > > I'll also consider adding a arguments or runtimearguments > node to the framework node in the NAnt application configuration file. > > Question is: does everyone that uses the exec task (or any > other task deriving from ExternalProgramBase) for launching > managed applications want (to force) the managed app to run > on the CLR matching the current target framework ? > > I (finally) understand your intentions. I shouldn't do > anything NOT-workrelated until I'm fully awake :-) > > Gert > > ----- Original Message ----- > From: "Erich Eichinger" <[EMAIL PROTECTED]> > To: "Gert Driesen" <[EMAIL PROTECTED]>; "SPEAR, Adrian, GBM" > <[EMAIL PROTECTED]>; "Bob Archer" <[EMAIL PROTECTED]>; > <nant-users@lists.sourceforge.net> > Sent: Friday, May 04, 2007 11:31 AM > Subject: RE: [NAnt-users] NUnit NAnt task roadmap > > > No prob ;-) > > While looking for an easy solution to launch the > nunit-console.exe using the right clr runtime, I found that > at least on windows (unfort. I don't have a linux box) one > needs the following > > 1) using MS CLR: Set COMPLUS_VERSION environment variable > e.g. c:\set COMPLUS_VERSION=v2.0.507272 > c:\nunit-console.exe <args> > > 2) using Mono: pass --runtime=<clrversion> argument to mono.exe > e.g. "mono.exe --runtime=v2.0.50727 nunit-console.exe" > > A dedicated <nunit-console> task is fine, but would basically > need the same > mechanisms: specify the right clr version and launch the executable. > > When doing a nant.settings.currentframework='mono-2.0' I > would expect an <exec program='some.exe' managed='true' > to > launch some.exe using the Mono 2.0 runtime - which is not the > case atm. E.g. on my machine the "DefaultCLRVersion" of mono > is set to 1.1.4322 - thus if <exec> launches the process with > "mono.exe some.exe" it will execute using the default clr > version. Only "mono.exe --runtime=2.0 some.exe" will produce > the expected result. > > It is easy to define the enviroment variable in the > <nant/frameworks/platform/framework/environment> section of > nant.exe.config, which causes the enviroment variable be set > automatically by ExternalProgramBase.PrepareProcess(). But it > is impossible to define additional arguments to be passed to > the runtimeengine (e.g. "mono.exe") > > My suggestion is to introduce a > "RuntimeEngineArguments:string" property on class > NAnt.Core.FrameworkInfo which allows for specifying > additional arguments and in > NAnt.Core.Tasks.ExternalProgramBase.PrepareProcess() change > the line 425 (in the current nightly) to > > process.StartInfo.Arguments = > string.Format(CultureInfo.InvariantCulture, > "{0} \"{1}\" {2}", > Project.TargetFramework.RuntimeEngineArguments, > ProgramFileName, CommandLine); > > > Could I put some more light on this now? > > cheers, > Erich > > > ________________________________ > > From: Gert Driesen [mailto:[EMAIL PROTECTED] > Sent: Fri 2007-05-04 10:28 > To: Erich Eichinger; 'SPEAR, Adrian, GBM'; 'Bob Archer'; > nant-users@lists.sourceforge.net > Subject: RE: [NAnt-users] NUnit NAnt task roadmap > > > and what would the exec task do with this ? how will this > ensure that the > correct version of nunit-console is executed ? > > please enlighten me ;-) > > ________________________________ > > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Erich > Eichinger > Sent: vrijdag 4 mei 2007 10:20 > To: Gert Driesen; SPEAR, Adrian, GBM; Bob Archer; > nant-users@lists.sourceforge.net > Subject: Re: [NAnt-users] NUnit NAnt task roadmap > > > Maybe my proposal is misleading: > > the "--runtime==" argument from my example is only passed to the > runtimeengine - and only if it is specified in the framework > configuration > in nant.exe.config. > > Erich > > ________________________________ > > From: Gert Driesen [mailto:[EMAIL PROTECTED] > Sent: Fri 2007-05-04 10:17 > To: Erich Eichinger; 'SPEAR, Adrian, GBM'; 'Bob Archer'; > nant-users@lists.sourceforge.net > Subject: RE: [NAnt-users] NUnit NAnt task roadmap > > > Eric, > > Not everyone program you start using <exec> will like the > --runtime=.... > argument. Configuring it on the framework level would also give the > impression that it applies to all tasks. > > I'd still prefer an <nunit-console> task, but if there's no > interest in this > .... and if there is, feel free to beat me to it ;-) > > Gert > ________________________________ > > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Erich > Eichinger > Sent: vrijdag 4 mei 2007 10:09 > To: Gert Driesen; SPEAR, Adrian, GBM; Bob Archer; > nant-users@lists.sourceforge.net > Subject: Re: [NAnt-users] NUnit NAnt task roadmap > > > After playing around a little bit, I found that using <exec> > would be a > convenient solution. "would" because unfortunately it is not > possible to > pass arguments to the runtimeengine. Otherwise the solution > would be rather > easy by configuring the frameworks within nant.exe.config. E.g.: > > [NAnt.exe.config] > ... > <framework > name="net-2.0" > family="net" > version="2.0" > description="Microsoft .NET Framework 2.0" > runtimeengine="" > clrversion="2.0.50727" > > > .... > <environment> > <env name="COMPLUS_VERSION" value="v2.0.50727" /> > </environment> > .... > </framework> > > <framework > name="mono-2.0" > family="mono" > version="2.0" > description="Mono 2.0 Profile" > runtimeengine="${runtimeEngine}" > runtimeengineargs="--runtime=v2.0.50727" <-- New Attribute > clrversion="2.0.50727" > > > ... > </framework> > ... > > Having the frameworks configured like this would cause any > exec task to be > started within the right runtime engine + version and allows > for simply > writing > > <target name="test"> > <exec useruntimeengine="true" > workingdir="${build.outputdir}/${nant.settings.currentframework}" > program="${nunit.exe}" > > > <arg value="${project::get-name()}.Tests.dll" /> > </exec> > </target> > > to test an assembly against the current > ${nant.settings.currentframework} > > cheers, > Erich > > P.S.: Of course <exec> can't guarantee the clr version if > the executable > uses a <startup> section. > > > > ________________________________ > > From: Gert Driesen [mailto:[EMAIL PROTECTED] > Sent: Thu 2007-05-03 18:32 > To: 'SPEAR, Adrian, GBM'; 'Bob Archer'; Erich Eichinger; > nant-users@lists.sourceforge.net > Subject: RE: [NAnt-users] NUnit NAnt task roadmap > > > > You're wrong on this. Unless if you're sure that your build > file will allow > you to run your unit tests on Mono or a specific version of > the MS CLR ... > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of SPEAR, > Adrian, GBM > Sent: donderdag 3 mei 2007 16:03 > To: 'Gert Driesen'; Bob Archer; Erich Eichinger; > nant-users@lists.sourceforge.net > Subject: Re: [NAnt-users] NUnit NAnt task roadmap > > To be honest - I don't see the need for a task to wrap > nunit-console and the > like (e.g. ncover.console.exe). > > As Bob states - just use an exec task to invoke the console > application. > > I have created a simple .build file which depending upon > parameters supplied > will use exec to invoke typemock and ncover with the correct > params to also > call nunit for a combined unit test / code coverage profile run - this > script also adapts the command line whether typemock is > linked or not.... > > This works well for me and I only have to supply directories for > nunit/ncover and typemock if I am not using PATH. > > <project name="integration.codecoverage" default="codecoverage"> > > <!-- required property values --> > <property > name="integration.codecoverage.workingdirectory" value="" > overwrite="false"/> > <!-- required property values --> > > <!-- overridable property values --> > <property name="integration.codecoverage.typemock.path" > value="C:\Program Files\TypeMock\TypeMock.Net\" overwrite="false"/> > <property name="integration.codecoverage.typemock.console" > value="tmockrunner.exe" overwrite="false"/> > <property > name="integration.codecoverage.typemock.profilername" > value="NCover1.5.7" /> > <property name="integration.codecoverage.typemock.islinked" > value="true" overwrite="false"/> > > <property name="integration.codecoverage.ncover.path" > value="C:\Program Files\NCover\" overwrite="false"/> > <property name="integration.codecoverage.ncover.console" > value="ncover.console.exe" overwrite="false"/> > <property > name="integration.codecoverage.ncover.console.assemblies" > value="SCLtd.NAnt.Extensions.Tasks" overwrite="false"/> > > <property name="integration.codecoverage.nunitproject" > value="SCLtd.NAnt.Extensions" overwrite="false"/> > <property name="integration.codecoverage.nunitconfig" > value="Debug" > overwrite="false"/> > <property name="integration.codecoverage.nunit.path" > value="C:\Program Files\Nunit 2.2.9\bin\" overwrite="false"/> > <property name="integration.codecoverage.nunit.console" > value="nunit-console.exe" overwrite="false"/> > > <!-- overridable property values --> > > <!-- explicit property values --> > <!-- explicit property values --> > > <target name="codecoverage" > depends="integration.codecoverage" /> > > <target name="integration.codecoverage" description=""> > > <echo > message="integration.codecoverage.typemock.islinked=${integrat ion.codecovera > ge.typemock.islinked}" /> > > <if > test="${property::get-value('integration.codecoverage.typemock .islinked') == > 'true'}"> > <echo > message="workingdir=${integration.codecoverage.workingdirectory}" /> > <echo > message="program=${integration.codecoverage.ncover.path}${inte gration.codeco > verage.ncover.console}" /> > <echo message="commandline=//w > ${integration.codecoverage.workingdirectory} //x > ${integration.codecoverage.nunitproject}.NCoverResults.xml > ${integration.codecoverage.nunit.path}${integration.codecovera > ge.nunit.conso > le} ${integration.codecoverage.nunitproject}.nunit > /config=${integration.codecoverage.nunitconfig} > /xml=${integration.codecoverage.nunitproject}.NUnitResults.xml //a > ${integration.codecoverage.ncover.console.assemblies}" /> > > <exec > > workingdir="${integration.codecoverage.workingdirectory}" > > program="${integration.codecoverage.ncover.path}${integration. > codecoverage.n > cover.console}" > commandline="//w > ${integration.codecoverage.workingdirectory} //x > ${integration.codecoverage.nunitproject}.NCoverResults.xml > ${integration.codecoverage.nunit.path}${integration.codecovera > ge.nunit.conso > le} ${integration.codecoverage.nunitproject}.nunit > /config=${integration.codecoverage.nunitconfig} > /xml=${integration.codecoverage.nunitproject}.NUnitResults.xml //a > ${integration.codecoverage.ncover.console.assemblies}" > /> > </if> > <if > test="${property::get-value('integration.codecoverage.typemock .islinked') == > 'false'}"> > <echo > message="workingdir=${integration.codecoverage.workingdirectory}" /> > <echo > message="program=${integration.codecoverage.typemock.path}${in tegration.code > coverage.typemock.console}" /> > <echo message="commandline=-link > ${integration.codecoverage.typemock.profilername} > ${integration.codecoverage.ncover.path}${integration.codecover > age.ncover.con > sole} //w ${integration.codecoverage.workingdirectory} //x > ${integration.codecoverage.nunitproject}.NCoverResults.xml > ${integration.codecoverage.nunit.path}${integration.codecovera > ge.nunit.conso > le} ${integration.codecoverage.nunitproject}.nunit > /config=${integration.codecoverage.nunitconfig} > /xml=${integration.codecoverage.nunitproject}.NUnitResults.xml //a > ${integration.codecoverage.ncover.console.assemblies}" /> > > <exec > > workingdir="${integration.codecoverage.workingdirectory}" > > program="${integration.codecoverage.typemock.path}${integratio > n.codecoverage > ..typemock.console}" > commandline="-link > ${integration.codecoverage.typemock.profilername} > ${integration.codecoverage.ncover.path}${integration.codecover > age.ncover.con > sole} //w ${integration.codecoverage.workingdirectory} //x > ${integration.codecoverage.nunitproject}.NCoverResults.xml > ${integration.codecoverage.nunit.path}${integration.codecovera > ge.nunit.conso > le} ${integration.codecoverage.nunitproject}.nunit > /config=${integration.codecoverage.nunitconfig} > /xml=${integration.codecoverage.nunitproject}.NUnitResults.xml //a > ${integration.codecoverage.ncover.console.assemblies}" > /> > </if> > > </target> > > </project> > > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf > Of Gert Driesen > Sent: 03 May 2007 14:52 > To: Bob Archer; Erich Eichinger; nant-users@lists.sourceforge.net > Subject: Re: [NAnt-users] NUnit NAnt task roadmap > > Hi Bob, > > I've been planning on adding an nunit-console task would be > basically just > be wrapper around nunit-console.exe. > > The only advantage would be that the nunit-console task can > automatically > invoke the nunit-console assembly and set the environment for > the current > target framework. > > Would something like this be useful ? > > Gert > > ----- Original Message ----- > From: "Bob Archer" <[EMAIL PROTECTED]> > To: "Erich Eichinger" <[EMAIL PROTECTED]>; > <nant-users@lists.sourceforge.net> > Sent: Thursday, May 03, 2007 3:22 PM > Subject: Re: [NAnt-users] NUnit NAnt task roadmap > > > Nothing against Nant. But, this is the reason a lot of people > recommend > running NUnit with the exec task. > > > > ________________________________ > > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Erich > Eichinger > Sent: Thursday, May 03, 2007 1:56 AM > To: nant-users@lists.sourceforge.net > Subject: [NAnt-users] NUnit NAnt task roadmap > > > > Hi, > > Since NUnit 2.4 is already out, I'd like to know if there are > any concrete > plans to upgrade/extend the nunit task to the new version. As > far as I could > see, the nunit task is still compiled against 2.2.8. > > cheers, > Erich > > > > > > > -------------------------------------------------------------- > -------------- > ---- > > > > > ---------------------------------------------------------------------- > > --- This SF.net email is sponsored by DB2 Express Download > DB2 Express > > C - the FREE version of DB2 express and take control of your XML. No > > limits. Just data. Click to get it now. > > http://sourceforge.net/powerbar/db2/ > > > -------------------------------------------------------------- > -------------- > ---- > > > > _______________________________________________ > > NAnt-users mailing list > > NAnt-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/nant-users > > > > > > -------------------------------------------------------------- > ----------- > This SF.net email is sponsored by DB2 Express Download DB2 > Express C - the > FREE version of DB2 express and take control of your XML. No > limits. Just > data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > NAnt-users mailing list > NAnt-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/nant-users > > ************************************************************** > ************** > ******* > The Royal Bank of Scotland plc. Registered in Scotland No > 90312. Registered > Office: 36 St Andrew Square, Edinburgh EH2 2YB. > Authorised and regulated by the Financial Services Authority > > This e-mail message is confidential and for use by the > addressee only. If > the message is received by anyone other than the addressee, > please return > the message to the sender by replying to it and then delete > the message from > your computer. Internet e-mails are not necessarily secure. > The Royal Bank > of Scotland plc does not accept responsibility for changes > made to this > message after it was sent. > > Whilst all reasonable care has been taken to avoid the transmission of > viruses, it is the responsibility of the recipient to ensure > that the onward > transmission, opening or use of this message and any > attachments will not > adversely affect its systems or data. No responsibility is > accepted by The > Royal Bank of Scotland plc in this regard and the recipient > should carry out > such virus and other checks as it considers appropriate. > Visit our websites at: > www.rbs.com > www.rbsgc.com > www.rbsmarkets.com > ************************************************************** > ************** > ******* > > -------------------------------------------------------------- > ----------- > This SF.net email is sponsored by DB2 Express Download DB2 > Express C - the > FREE version of DB2 express and take control of your XML. No > limits. Just > data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > NAnt-users mailing list > NAnt-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/nant-users > > > > > > ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ NAnt-users mailing list NAnt-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-users