Hi, Any <startup> section in your app.config will override COMPLUS_VERSION. Thus COMPLUS_VERSION is the "weakest" hint which runtime to use.
>From NUnit-Docs at >http://www.nunit.org/index.php?p=consoleCommandLine&r=2.2.10: "Note: If you use a <startup> section in the config file, it takes precedence over this option." as for the enum i think it is a good idea. for the possible values I suggest yes|no|maybe *bg* - ok, seriously: maybe "strict" will be a better name than "force"? cheers, Erich > -----Original Message----- > From: Gert Driesen [mailto:[EMAIL PROTECTED] > Sent: Friday, May 04, 2007 6:27 PM > To: Erich Eichinger; Bob Archer; SPEAR, Adrian, GBM; > nant-users@lists.sourceforge.net > Subject: Re: [NAnt-users] NUnit NAnt task roadmap > > > Erich or Bob, can you verify whether COMPLUS_VERSION > overrides the runtime version set in the configuration file > of an app ? > > I guess it will, and this is one of the reasons why we > perhaps shouldn't modify the ExternalProgramBase to set this > environment variable. > > However, I like the idea of making this optional behaviour. > How about changing to managed property from bool to an enum: > > public enum ManagedApplication { > Yes, > No, > Force(Something ?) > } > > In build files we would still allow the "true" or "false" > values as well, for backward compatibility. > > Just thinking out loud here, and not making a commitment of > any kind that this will end up in NAnt :p > > Gert > > ----- Original Message ----- > From: "Erich Eichinger" <[EMAIL PROTECTED]> > To: "Bob Archer" <[EMAIL PROTECTED]>; "Gert Driesen" > <[EMAIL PROTECTED]>; "SPEAR, Adrian, GBM" > <[EMAIL PROTECTED]>; <nant-users@lists.sourceforge.net> > Sent: Friday, May 04, 2007 3:36 PM > Subject: RE: [NAnt-users] NUnit NAnt task roadmap > > > > Ok - obviously I still owe you some piece of information ;-) > > I'm want to build & test the same sources against all > different platforms + clrversions from within 1 build file. > > -Erich > > ________________________________ > > From: Bob Archer [mailto:[EMAIL PROTECTED] > Sent: Friday, May 04, 2007 3:14 PM > To: Erich Eichinger; Gert Driesen; SPEAR, Adrian, GBM; > nant-users@lists.sourceforge.net > Subject: RE: [NAnt-users] NUnit NAnt task roadmap > > > X-ExchangeSecure-AntiSpam: valid(71) > > Ok, > > > > Maybe I'm confused because we don't install NUnit. We put it > in the tools > directory under the application directory of each project. > This way, the > specific version of NUnit that we are using for that project > is always used. > The specific version can also have a config file to specify > the runtime > version. > > > > BOb > > > > > > ________________________________ > > From: Erich Eichinger [mailto:[EMAIL PROTECTED] > Sent: Friday, May 04, 2007 5:32 AM > To: Gert Driesen; SPEAR, Adrian, GBM; Bob Archer; > nant-users@lists.sourceforge.net > 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