thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christian Weiss (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms
Date Mon, 09 Apr 2018 21:36:00 GMT

    [ https://issues.apache.org/jira/browse/THRIFT-4541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16431327#comment-16431327
] 

Christian Weiss commented on THRIFT-4541:
-----------------------------------------

{quote}Question: What would be the difference between a branch in repo A that you can't control
and a branch in repo B that you control and coordinate?
{quote}
See previous comments for my arguments. Also, it's your project and not mine so I don't want
to make changes that you don't approve - this means that I have to wait for your approval
on every PR anyway. Bringing the conversation to my fork just leads to confusion - it also
wouldn't even work with your Jira-bot anymore etc...

The "frequent commits" will always happen in my fork of course - I'll only create PRs whenever
something is ready or when I need feedback.

What's your concerns?

> Use new project system in "lib/csharp" and define supported platforms
> ---------------------------------------------------------------------
>
>                 Key: THRIFT-4541
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4541
>             Project: Thrift
>          Issue Type: Umbrella
>          Components: C# - Library
>            Reporter: Christian Weiss
>            Priority: Major
>
> As discussed in THRIFT-4535, it would be great if we could update "lib/csharp" to use
the new "csproj" project system. This will allow us to target multiple platforms and the new
".NET Standard" with a single project.
> It's possible to support pretty much every platform there is with this new project format
(see e.g. [Newtonsoft.Json|https://github.com/JamesNK/Newtonsoft.Json/blob/master/Src/Newtonsoft.Json/Newtonsoft.Json.csproj]),
however supporting older platforms requires more work as this requires more #if statements
etc.
> This means that we have to decide which platforms we want to support!
> Targeting ".NET Standard 2.0" would be the easiest option as this version [covers a
much larger API surface|https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-net-standard-2-0/].
However, this would also mean that people have to use rather recent versions of their platforms
to use it, as .NET Standard 2.0 requires the following minimum versions:
>  * .NET 4.6.1 (adding support for .NET 4.5 is no problem though)
>  * .NET Core 2.0
>  * Mono 5.4
>  * Xamarin.iOS 10.14
>  * Xamarin.Mac 3.8
>  * Xamarin.Android 8.0
>  * UWP 10.0.16299
> I will create a PR that targets .NET Standard 2.0 and .NET 4.5 to show what the new project
files would look like. If the approach is OK for you in general, then I can try to add support
for whatever minimum versions you'd like to support.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message