[ 
https://issues.apache.org/jira/browse/THRIFT-309?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Greene updated THRIFT-309:
----------------------------------

    Attachment: thrift-309-001.diff

This is still a work in progress, but I think it's at the point where it makes 
the C# libraries much easier to use on a variety of systems -- pretty much 
anything that's not MinGW+Windows with Visual Studio 2008.  We now can support 
the versions I specified in the issue description.

Autoconf and pkg-config now perform better Mono version detection so that 
NET_2_0 can be defined for versions which only support the .NET 2.0 framework.  
The minimum requirements were downgraded from 1.2.6 to 1.2.4 after a brief test 
of compilation and ThriftTest on Gutsy Gibbon.

The properties have all been explicitly defined, instead of the previous 
automatic versions which required C# 3.0.  There is no difference in the IL 
generated in either case, so the version with greater platform support was 
chosen.

A new type, THashSet, is defined.  This type uses either the .NET HashSet 
library (available in 3.5 and higher) or my own DictSet, a nested class inside 
of it, based on the "best available".  HashSet was changed to THashSet 
throughout the project.

Many declared but unnecessary dependencies were removed, in particular ones 
which are only available in the 3.0 and 3.5 frameworks (i.e. Linq, 
DataSetExtensions, etc...) and auto-generated but unneeded references (e.g. 
System.Text in most places)

The ThriftTest csproj didn't take advantage of environmental variables when 
re-building its ThriftImpl DLL.  The new version allows one to use Framework 2, 
3, or 3.5 instead of the previous 3.5
A shell script was added to build the ThriftTests on non-Windows platforms, 
since this was previously very difficult.  This is intended to be replaced with 
the proper Makefile setup.

ThriftTest optionally tests all the servers now (TThreadedServer was missing)

Problems with this patch:
 - the lines of the getter and setter properties accidentally had their spacing 
changed, purely an aesthetic problem

> Thrift should run on plain .NET 2.0 and compatible Mono, with no additional 
> dependencies
> ----------------------------------------------------------------------------------------
>
>                 Key: THRIFT-309
>                 URL: https://issues.apache.org/jira/browse/THRIFT-309
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Compiler (C#), Library (C#)
>            Reporter: Michael Greene
>            Assignee: Michael Greene
>         Attachments: thrift-309-001.diff
>
>
> The current requirements for Thrift are:
> .NET 3.5 on Visual Studio 2008
> or
> Mono 1.2.6+ with special compiler flags or Mono 2.0 standard
> This does not need to be.  We can support the following setup without too 
> much difficulty:
> .NET 2.0+ on Visual Studio 2005+
> Mono 1.2.4+ standard
> I think we should, as this has come up several times via complaints on blogs, 
> notes on the Wiki, or confusion on the mailing list.  .NET 2.0's penetration 
> is much higher than 3.5, and this moves support for Thrift out to ~2007 on 
> the Mono side and ~2005 on the .NET side versus the current ~2008 for both.
> Just wrapping this up over here, patch will be available later today.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to