[Mono-dev] Advice on Standard Tags to represent Runtimes
charlie at nunit.com
Wed Mar 4 11:54:23 EST 2009
> On Wed, Mar 4, 2009 at 3:13 AM, Charlie Poole
> <charlie at nunit.com> wrote:
> > Hi All,
> > This is a bit OT for the dev list, but I suspect I'll get
> more solid
> > answers based on experience here than elsewhere.
> > In NUnit, it is now possible to specify the runtime under
> which tests
> > should be run. For MS CLRs, I use net-1.0, net-1.1,
> net-2.0, etc. For
> > mono, I use mono-1.0 and mono-2.0. I took this convention from NAnt.
> > These tags are used in several text files and also appear
> in dropdowns
> > in the GUI.
> > The problem comes up when I want to indicate that a test
> must be run
> > under a particular CLR version, without regard to whether
> it's mono,
> > ms .NET or something else. In that case, I started to use
> v1.0, etc.
> > but I'm not sure it's very clear.
> > Q1: Is this convention confusing? I considered using
> any-1.1, etc. but
> > that looked a bit dumb.
> > Q2: Do you think net-x.x should be used for the generic case rather
> > than for Microsoft? If so, what would you expect to see for
> > Q3: When the runtime under which a test should execute (in
> a project
> > file) would you rather see the vx.x form or an explicit combo like
> > mono-2.0+net-2.0?
> > This is something that is quite easy to change - up to the
> point where
> > people start using it - so I'd like to get it right the first time!
> I would like to point out that the convention chosen by NAnt is quite
> 1. It was chosen when there was no Mono 2.x release, and some may now
> mistake mono-2.0 as a release version number, not API version
Yes... it doesn't confuse me, but now that you say it I can imagine
that it's confusing.
> 2. Mono has no 1.0 API AFAIK, mono-1.0 chooses 1.1 API
True... this causes a need to translate (internally) the 1.0 to
1.1 - I currently have one bug due to not doing so.
> 3. Nightly NAnt added mono-3.5 target, which targets 3.5 API. However,
> mono-2.0 target compiles 3.5-dependent code just fine.
I didn't know that! I was carefully using the mono-3.5 target.
> I'd rather prefer net-2.0 to choose any 2.0 API implementation,
> something along msnet-2.0 for forcing explicitly Microsoft .Net.
Any CLR = net-1.0 net-1.1 net-2.0 net-3.5 etc.
Minimum level = net-2.0+ etc.
MS Only = ms-x.x or something similar
Mono Only = mono-x.x with the added rule that 1.0 becomes 1.1
This is certainly doable and easy to extend to netcf, pnet, etc.
But do others agree it's better?
> That said, NAnt is widely used, and diverging from a standard (even if
> it's suboptimal) confuses users. It might be worth looking how msbuild
> (the 3.5 version that allows choosing the toolset to use) describe
I'll look, but do we imagine it will have a code for Mono? :-)
Thanks for your help.
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
More information about the Mono-devel-list