[
https://issues.apache.org/jira/browse/AVRO-3614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17583403#comment-17583403
]
Kalle Niemitalo commented on AVRO-3614:
---------------------------------------
Not having to distribute System.CodeDom would make application developers less
likely to violate its license terms; AVRO-3604 shows that it is easy to make
mistakes in that.
> Remove System.CodeDom dependency from main library
> --------------------------------------------------
>
> Key: AVRO-3614
> URL: https://issues.apache.org/jira/browse/AVRO-3614
> Project: Apache Avro
> Issue Type: Wish
> Components: csharp
> Affects Versions: 1.11.1
> Reporter: Kalle Niemitalo
> Priority: Major
>
> The Apache.Avro package on NuGet depends on the System.CodeDom package. I'd
> like this dependency to be removed so that I wouldn't have to distribute
> System.CodeDom with my applications, which encode and decode Avro data but do
> not generate source code at run time.
> This would presumably require moving the code generation features from the
> Apache.Avro package to a new Apache.Avro.CodeGen package, which would be a
> breaking change.
> In Avro 1.11.1, System.CodeDom is used by the Avro.CodeGen and
> Avro.CodeGenUtil classes. From those classes, only the
> CodeGen.GetNullableType, CodeGenUtil.UnMangle, and CodeGen.getType methods
> are used by the rest of the library. The CodeGen.getType method also depends
> on the CodeGenException class and the CodeGenUtil.Mangle method. None of
> those methods depend on System.CodeDom, so they could be moved to a new
> static class (perhaps named something like TypeUtil or ReflectionUtil) and
> kept in the main library.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)