-
Notifications
You must be signed in to change notification settings - Fork 790
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Yeet FSharp.Compiler.Private #10876
Yeet FSharp.Compiler.Private #10876
Conversation
Not gonna call it "yeet FSharp.Compiler.Private"? |
80c712c
to
5109a80
Compare
I came here looking for this comment. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
<TargetFrameworks>net472;netstandard2.0</TargetFrameworks> | ||
<OutputType>Library</OutputType> | ||
<NoWarn>$(NoWarn);44;45;54;55;61;62;69;65;75;1204;2003;NU5125</NoWarn> | ||
<AssemblyName>FSharp.Compiler.Service</AssemblyName> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the default is the project name so this is redundant
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
May I ask why net472 was added here?
<Tailcalls>true</Tailcalls> | ||
<!-- .tail annotations always emitted for this binary, even in debug mode --> | ||
<NGenBinary>true</NGenBinary> | ||
<OtherFlags>$(OtherFlags) /warnon:3218 /warnon:1182 /warnon:3390 --maxerrors:20 --extraoptimizationloops:1 --times</OtherFlags> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know this is the same as it's been using before, but wouldn't it be possible to use WarnOn
and stuff as properties? Feels a bit more normal is all
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've looked at this before and I don't believe there's mapping through of WarnOn
in the msbuild tasks for F#. I'd love to have such a thing, personally.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
damn, we should really do that
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cartermp we don't have a property for it. If we did, we would have to wait until it had shipped and made it to our lkg build. I will add an issue, and add the property in a separate PR ... but we won't be able to use it here for quite a while ...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I made an issue just now, Kevin: #10882
@@ -918,6 +970,11 @@ | |||
<Compile Include="..\fsi\fsi.fs"> | |||
<Link>InteractiveSession/fsi.fs</Link> | |||
</Compile> | |||
|
|||
<!-- an old API for testing the compiler and gathering diagnostics in-memory --> | |||
<Compile Include="..\LegacyHostedCompilerForTesting.fs" Condition="'$(MonoPackaging)' != 'true'"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
any idea if this is still needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fsharpqa test suite uses it, and is 10 times faster with it.
@cartermp shall this be yoten? Or yeeted? |
Yaught |
It has been yaught ... yoten ... yeeted ... |
So it seems That's ok - very simplifying in terms of packaging and building these components - but it would be really nice to have a separate written RFC tooling spec for that exact reflection-vased protocol, so we're less exposed to unexpected changes, and can evolve the protocol intentionally rather than by accident. Also it would be good to rename |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
question about LegacyMSBuildReferenceResolver
<Compile Include="..\LegacyMSBuildReferenceResolver.fsi"> | ||
<Link>ReferenceResolution/LegacyMSBuildReferenceResolver.fsi</Link> | ||
</Compile> | ||
<Compile Include="..\LegacyMSBuildReferenceResolver.fs" Condition="'$(MonoPackaging)' != 'true'"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So is LegacyMSBuildReferenceResolver
in FSharp.Compiler.Service API surface area or not? There should be nothing conditional on MonoPackaging anymore.
I think it should not be in this DLL (because AFAIK is the thing that induces extra dependencies on MSBuild) and should instead in a separate FSharp.Compiler.Private.LegacyMSBuildReferenceResolver.dll
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dsyme, those msbuild dependencies have been in FCS for quite a while already.
@dsyme, there is no realkchange to the PackageManagement, beyond a namespace change from 'Microsoft.Dotnet. to 'FSharp.Compiler'. FCS had those types built in always, it';s just that now that we are using FCS internally, we don't need the Microsoft.Dotnet.DependencyManager dll at all. |
@dsyme, I renamed the Microsoft.Dotnet. namespace to FSharp.Compiler unless I did it wrong. |
The VS build of FSharp still uses the desktop bits. |
fsc.exe? Is there a problem with referencing the ,NET Standard dll for the net472 target? |
Yes. |
|
* Remove FSharp.Compiler.Private * Tweak ngen
This PR replaces FSharp.Compiler.Private with FSharp.Compiler.Service.