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

Mario Emmenlauer commented on THRIFT-5169:
------------------------------------------

> The version if the compiler should always match the library version. Anything 
> else is doomed to fail.

Then I guess its safe and sound to assume that the user want's to use the same 
compiler for the tests that he/she just built with the library, yes?

Basically, I can see only one scenario as a problem with my changes:
  * build thrift -> this places the compiler binary in the source tree, for 
future use
  * install thrift
  * clean the source tree of temporary files (which deletes the compiler binary 
in the source tree)
  * build the tests but not the compiler -> this will not find the compiler in 
the source tree anymore

However AFAIK this workflow already fails for the autotools build, so I think 
its fair to assume that this is currently not supported.

> Improve dotnet project files for the .NET Standard build, and integrate with 
> cmake
> ----------------------------------------------------------------------------------
>
>                 Key: THRIFT-5169
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5169
>             Project: Thrift
>          Issue Type: Improvement
>          Components: netstd - Library
>    Affects Versions: 0.13.0
>            Reporter: Mario Emmenlauer
>            Assignee: Mario Emmenlauer
>            Priority: Minor
>
> I'm working on a number of improvements for the .NET Standard Visual Studio 
> project files. Currently it seems to me that the following changes are 
> required:
>  * I can not use the detection of the thrift compiler using the section 
> {{<Exec Condition="'$(OS)' == 'Windows_NT'" Command="where thrift" 
> ConsoleToMSBuild="true">}} because it breaks the build for me. But I am also 
> under the impression that this is not clean by design. Autotools place the 
> thrift compiler into a specific directory, and I've modified the cmake build 
> to also do that. I think this is sensible, that all tutorials and tests use 
> *only* the thrift compiler from the current build, and fail otherwise. This 
> seems sensible because any other system-installed thrift compiler may behave 
> different and may not lead to the desired result of tests/tutorials, which 
> becomes very hard to debug with the auto-detection mechanism.
>  * The Visual Studio project files for the tests and tutorial currently all 
> reference the project file of the Thrift library. This breaks the build for 
> me because the thrift build is using .NET Standard 2.0, whereas all consumers 
> are (in my eyes correctly) using .NET Core 3.1. I can not mix and mingle the 
> different .NET platforms due to hard-to-resolve errors with dependency 
> ambiguities. However there seems to be a much cleaner solution: Instead of 
> referencing the thrift library project file, it is possible to reference the 
> Thrift.dll assembly. This is how an external consumer of the library would be 
> implemented, so it is closer to the real world use case. Additionally it has 
> the benefit to work with different .NET platforms without dependency issues.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to