Make ODataT4CodeGenerator public#310
Conversation
|
@KenitoInc @ElizabethOkerio Was there any reason we didn't go the friend assemblies route to make the internal methods accessible across the assemblies? If that is feasible, I'd honestly prefer that rather than making the class public |
@gathogojr I remember some of the discussions that we had was to make the codegen a stand-alone library with the core functionalities for generating code. This meant that anybody with this library can or could provide their own interface on how they want to access it. That was the reasoning for making some of the methods or classes public. |
@ElizabethOkerio I'm not talking about every other class. I'm talking about the |
But they could always update to the new version if they want to. If they don't need the changes then they can continue using the older versions. Also we want this class to be accessible from outside the assembly and the whole idea of making things internal is to make them inaccessible from an assembly. |
While codegen is a stand-alone library, are we actually shipping it as a standalone library on NuGet? I assume not? Under which circumstances does the user interact with the class? I'm not sure I understand why we need to make it public. Do we want to make it public so it can be accessible by 3rd party code, or so that it can be accessible to the other projects, like the CLI or Connected service? cc @KenitoInc |
|
I agree with @habbes , since we aren't shipping |
I thought @habbes was asking why we are making the class |
@ElizabethOkerio That's exactly what we're talking about. If the only other libraries we want to access this class are our own (CLI and Connected Service), and not 3P libraries, it makes sense to make CLI and Connected Service libraries be "friends" with the CodeGen library using |
@gathogojr Am not against making this class |
|
Has the class already shipped? If so, then the ship (on internal vs public) may already have sailed (pun intended) |
98360f0 to
b5fd5cb
Compare
Currently, if we run custom tool on the tt template, we get a diff that changes the
ODataT4CodeGeneratormodifier frompublictointernal. This is because the.csfile was modified but thettfile wasn't. This PR fixes that issue.