[jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms
[ https://issues.apache.org/jira/browse/THRIFT-4541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16757944#comment-16757944 ] James E. King III commented on THRIFT-4541: --- @jensg your work on {{netstd}} probably obsoletes this. > 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 > Time Spent: 10m > Remaining Estimate: 0h > > 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)
[jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms
[ https://issues.apache.org/jira/browse/THRIFT-4541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16630898#comment-16630898 ] Christian Weiss commented on THRIFT-4541: - There seem to be some misunderstandings here. Both folders, “csharp” and “netcore”, are written in C#. The main difference in the code is that the “netcore” project uses a lot of async/await code, apart from that it’s pretty much the same. So from a code perspective, IMO the “netcore” folder is like a fork of the “csharp” project. It might be interesting to merge them, but that’s a different/bigger project of course. .NET Core is not a new language, so saying that .NET Core would make C# legacy isn’t possible. What’s being discussed here is the PLATFORM support. (Full .NET framework, .NET Core, Xamarin, Mono, ...) This is all about tooling and how the projects are compiled to get the proper nuget packages. this PR is just about switching to the new project format which makes targeting multiple platforms much easier. > 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)
[jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms
[ https://issues.apache.org/jira/browse/THRIFT-4541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16616714#comment-16616714 ] Jens Geyer commented on THRIFT-4541: I'm just insisting on the fact that you can't on the spur of the moment declare c# as legacy, backed by virtually no facts and no consensus across the team. Since you did that in two tickets I had to make a point. Even if a language degrades to something that only a fraction of the market uses (in todays highly polyglot landscape this basically affects every language), as long as there is a valid use case and user base we should strive to continue supporting that language. At least there should be some sort of consensus before we talk in public about some parts of Thrift being legacy. Of course, what (in the case of C# framework) versions we are willing to support is another cup of tea. Thrift has always evolved along the evolution of the languages, we have modernized client libraries multiple times to keep pace. For example, we did that a while a go with the Go libraries, they have basically undergone a complete rewrite. That's all fine and in the spirit of the project. > You are a snarky one aren't you https://www.apache.org/foundation/how-it-works.html#philosophy > 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)
[jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms
[ https://issues.apache.org/jira/browse/THRIFT-4541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16616681#comment-16616681 ] James E. King III commented on THRIFT-4541: --- You are a snarky one aren't you... my understanding based on looking at the ecosystem is that .NET Core is the future, and .NET (numbered) is the past. Perhaps that is incorrect, given .NET 4.7.2 came out with the latest Windows 10 update. .NET Core seems much more compelling to me, providing cross-platform development without the need for something like Mono. > 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)
[jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms
[ https://issues.apache.org/jira/browse/THRIFT-4541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16616449#comment-16616449 ] Jens Geyer commented on THRIFT-4541: > I would recommend focusing on netcore for new development and leaving csharp > as legacy I would recommend to leave C++ as legacy because we have Rust and Go. We also can throw out JS because we have TS. > 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)
AW: [jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms
No? Sent from mobile device, please ignore spelling mistakes. Von: ASF GitHub Bot (JIRA) Gesendet: 14.09.2018 14:05 An: dev@thrift.apache.org Betreff: [jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms [ https://issues.apache.org/jira/browse/THRIFT-4541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16614706#comment-16614706 ] ASF GitHub Bot commented on THRIFT-4541: jeking3 commented on issue #1532: [WIP] THRIFT-4541: Use new project system in lib/csharp URL: https://github.com/apache/thrift/pull/1532#issuecomment-421337840 I would recommend focusing on netcore for new development and leaving csharp as legacy. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > 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)
[jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms
[ https://issues.apache.org/jira/browse/THRIFT-4541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16614706#comment-16614706 ] ASF GitHub Bot commented on THRIFT-4541: jeking3 commented on issue #1532: [WIP] THRIFT-4541: Use new project system in lib/csharp URL: https://github.com/apache/thrift/pull/1532#issuecomment-421337840 I would recommend focusing on netcore for new development and leaving csharp as legacy. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > 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)
[jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms
[ https://issues.apache.org/jira/browse/THRIFT-4541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16491551#comment-16491551 ] Christian Weiss commented on THRIFT-4541: - What's your opinion regarding frameworks & versions we should target? > 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)
[jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms
[ https://issues.apache.org/jira/browse/THRIFT-4541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16468238#comment-16468238 ] ASF GitHub Bot commented on THRIFT-4541: jeking3 commented on issue #1532: [WIP] THRIFT-4541: Use new project system in lib/csharp URL: https://github.com/apache/thrift/pull/1532#issuecomment-379905863 As long as the updates are infrequent I see no issue. Keep updating this PR if the updates are infrequent (like, once daily). This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > 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)
[jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms
[ https://issues.apache.org/jira/browse/THRIFT-4541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16460342#comment-16460342 ] James E. King III commented on THRIFT-4541: --- I'm happy to see any improvements in this space, so go for it. > 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)
[jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms
[ https://issues.apache.org/jira/browse/THRIFT-4541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16459991#comment-16459991 ] Christian Weiss commented on THRIFT-4541: - Any feedback on this? I do not want to proceed until I have your feedback. > 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)
[jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms
[ https://issues.apache.org/jira/browse/THRIFT-4541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16431354#comment-16431354 ] ASF GitHub Bot commented on THRIFT-4541: jeking3 commented on issue #1532: [WIP] THRIFT-4541: Use new project system in lib/csharp URL: https://github.com/apache/thrift/pull/1532#issuecomment-379905863 As long as the updates are infrequent I see no issue. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > 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)
[jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms
[ https://issues.apache.org/jira/browse/THRIFT-4541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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)
[jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms
[ https://issues.apache.org/jira/browse/THRIFT-4541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16431283#comment-16431283 ] Jens Geyer commented on THRIFT-4541: 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? > 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)
[jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms
[ https://issues.apache.org/jira/browse/THRIFT-4541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16430952#comment-16430952 ] ASF GitHub Bot commented on THRIFT-4541: cwe1ss commented on issue #1532: [WIP] THRIFT-4541: Use new project system in lib/csharp URL: https://github.com/apache/thrift/pull/1532#issuecomment-379835040 But since no-one is watching my fork I can only /cc you two (as I don't know anyone else here) and no-one else will have a chance to provide feedback. Also, I won't keep my fork forever so the discussion history would be lost. It would also be great if you guys could help at some point so having this in my fork is not ideal either. As I've said in my original post, I'd prefer a branch in this repo that I could create the PRs against. This would ensure that everything is in one place, that we can work together and that we don't break the production code until we're done. This seems to be what many other projects do in cases like this. Your thoughts? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > 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)
[jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms
[ https://issues.apache.org/jira/browse/THRIFT-4541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16430609#comment-16430609 ] ASF GitHub Bot commented on THRIFT-4541: jeking3 commented on issue #1532: [WIP] THRIFT-4541: Use new project system in lib/csharp URL: https://github.com/apache/thrift/pull/1532#issuecomment-379773631 We can look at PRs in your fork as well. :) This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > 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)
[jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms
[ https://issues.apache.org/jira/browse/THRIFT-4541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16430557#comment-16430557 ] ASF GitHub Bot commented on THRIFT-4541: cwe1ss commented on issue #1532: [WIP] THRIFT-4541: Use new project system in lib/csharp URL: https://github.com/apache/thrift/pull/1532#issuecomment-379760181 Thanks for your response. As noted in my last paragraph, I’m looking for your feedback on my changes to know if I can proceed. I thought that creating a PR would be the easiest option for that. I’ll not do frequent commits on this PR. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > 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)
[jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms
[ https://issues.apache.org/jira/browse/THRIFT-4541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16424012#comment-16424012 ] Jens Geyer commented on THRIFT-4541: I just made this an "Umbrella". The idea is to create sub-tasks for every PR that we plan to merge. > 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)
[jira] [Commented] (THRIFT-4541) Use new project system in "lib/csharp" and define supported platforms
[ https://issues.apache.org/jira/browse/THRIFT-4541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16424001#comment-16424001 ] ASF GitHub Bot commented on THRIFT-4541: GitHub user cwe1ss opened a pull request: https://github.com/apache/thrift/pull/1532 [WIP] THRIFT-4541: Use new project system in lib/csharp See [THRIFT-4541](https://issues.apache.org/jira/browse/THRIFT-4541). This is a WIP/PoC and **MUST NOT BE MERGED** (because supported versions must be defined first etc). This PR updates all project files to the new project system and targets ".NET Standard 2.0" and ".NET 4.5". (Except for the MSBuild-task which currently can't target .NET 4.5 due to its dependencies) Some notes about it: * The solution can now be built using the cross-platform .NET Core SDK (v2.0+). (using the cmd `dotnet build`) * I have not changed the MAKE files yet as I don't yet know how they work. I'll look into this once I know that we'll actually do this change. * NuGet packages for the main Thrift library and for the MSBuild library can be created with `dotnet pack -c Release`. They will be placed in the "lib\csharp\artifacts" folder. * `AssemblyInfo.cs` files are no longer required as most things are now defined either in `Directory.Build.props` or directly in the `*.csproj` files. * **Thrift** project: * As there's some classes that depend on "System.Web" I already had to add some #if statements. These classes are only available when the package is consumed on the full .NET framework. * I also had to change something in `TNamedPipeServerTransport` as .NET standard doesn't have a NamedPipeServerStream constructor that accepts a PipeSecurity. We'll have to look into how to test this. * **ThriftMSBuildTask** project: * I had to reference NuGet packages for MSBuild and these no longer contain the "Csc" class. I therefore had to change the implementation to manually call "csc". **This is not yet tested though!!** I wanted to show you the general approach first before I invest more time. * The project now creates a NuGet package that includes props files etc. I got this from [this how-to](https://www.natemcmaster.com/blog/2017/07/05/msbuild-task-in-nuget/). * The test projects contain `PreBuildEvents` that generate `*.cs` files for `thrift` files. This currently is executed too late which results in the first build to fail. I still have to look into this or we should discuss using a different approach (e.g. using the MSBuild task) I'm looking for general feedback on this approach. If the approach is ok, we should discuss in THRIFT-4541, which platforms we'd like to support. We can then either merge this into a branch or I can create a new PR with all changes. /cc @Jens-G @jeking3 You can merge this pull request into a Git repository by running: $ git pull https://github.com/cwe1ss/thrift cweiss/Netstd Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/1532.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1532 commit 550df5b23dc9ba28198b8ccb92db46fb41be64e3 Author: Christian WeissDate: 2018-04-03T11:49:53Z Target netstandard2.0 and net45 > 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: Improvement > 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