Skip to content

My patchset without SDK targets, docs & extensibility rework#172

Merged
andrew-boyarshin merged 2 commits into
SharpGenTools:masterfrom
andrew-boyarshin:a-new-hope
Jan 4, 2021
Merged

My patchset without SDK targets, docs & extensibility rework#172
andrew-boyarshin merged 2 commits into
SharpGenTools:masterfrom
andrew-boyarshin:a-new-hope

Conversation

@andrew-boyarshin

@andrew-boyarshin andrew-boyarshin commented Dec 3, 2020

Copy link
Copy Markdown
Contributor
  • Add net5.0 to SharpGen.Runtime to actually provide extended NativeLong/NativeULong API surface
  • Generate callback interface members even if autogen-shadow is set to false (with proper visibility modifier), supercedes Generate callback method signatures even if autogen-shadow is set to false #144, which is an incorrect implementation of the feature
  • Add generation of raw data block copy code for ref/out value type array parameters
  • Simplify nested ifs by introducing additional properties (like CsCallable.HasReturnTypeValue)
  • Extend InteropType to support unsigned primitive types
  • Enhanced DocUnmanagedName for properties
  • SharpGenTools now almost functional as MSBuild SDK (as opposed to old PackageReference method)
  • Fix mapping functions returning HRESULT to functions returning int (generate a cast expression to use an explicit conversion operator)
  • Fix more cases where parameter is used as return value
  • Fix ref/out value type arrays (were wrongly forced to be In)
  • Dropped support for legacy documentation providers (removed DocItem.cs)
  • Various clean-ups

@andrew-boyarshin

andrew-boyarshin commented Dec 3, 2020

Copy link
Copy Markdown
Contributor Author

I'll clean up this PR tomorrow (remove most whitespace-only/swapping-declaration-order changes) and fix build (feels like CI VSTest problem, everything works locally). But I consider this ready for review, since it is feature-complete. With this, diff to my local 2.0 branch reduces substantially.

Removed docs extensibility will return (greatly rewritten) in the Episode 6 PR, since Episode 5 will be about merging MSBuild tasks and reworking cache invalidation.

@jkoritzinsky

Upd: merge without squashing! Otherwise, the commit history of SDK props and targets (renamed to Sdk.props and Sdk.targets in the 1st commit) will be lost.

@amerkoleci

Copy link
Copy Markdown
Contributor

@jkoritzinsky any plans to update this project? Tell me because my Vortice.Windows depends on SharpGen, otherwise I gonna keep personal fork

@andrew-boyarshin

Copy link
Copy Markdown
Contributor Author

@amerkoleci btw, you might be interested in my mostly complete Microsoft Docs doc provider that will enable you to fix amerkoleci/Vortice.Windows#69 automagically. I am working right now on C# 9.0 function pointers native invocation impl, but I will push everything as soon as I consider it to be mostly working. #161 is my primary dev branch.

@jkoritzinsky jkoritzinsky left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Since you've been doing so many great contributions for SharpGenTools recently, I'm going to add you as a member of the org. Thanks!

@andrew-boyarshin andrew-boyarshin merged commit 79b669e into SharpGenTools:master Jan 4, 2021
@andrew-boyarshin andrew-boyarshin deleted the a-new-hope branch January 4, 2021 05:44
@amerkoleci

Copy link
Copy Markdown
Contributor

Any chance we get update on nuget? At least for the runtime part?

@andrew-boyarshin

Copy link
Copy Markdown
Contributor Author

I'm working on preparing Episode 5 PR right now. I also have no objections to creating first 2.0 beta release, since it will allow for early 2.0 feedback. If @jkoritzinsky concurs this is the right thing to do, creating a tag should automatically publish a NuGet release.

@jkoritzinsky

Copy link
Copy Markdown
Member

I might need to update our NuGet API key for publishing a new package, but other than that we can create a 2.0 beta 1 release.

@amerkoleci

Copy link
Copy Markdown
Contributor

I think having beta release doesn't hurt and can help others to test it

@andrew-boyarshin andrew-boyarshin added this to the 2.0 milestone Jun 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants