Skip to content

Incorporate Intellisense XML into ref-assembly nuget packages #979

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

Merged
merged 16 commits into from
Jun 19, 2019

Conversation

vatsan-madhavan
Copy link
Member

@vatsan-madhavan vatsan-madhavan commented Jun 15, 2019

Fixes #747

See intellisense.md for architecture notes.

Intellisense XML's are produced in dotnet/dotnet-api-docs repo. They are currently not published to a Nuget package or another easily consumable artifact. Thus, the process of ingestion of these XML files is a manual one at this time.

  1. From the OPS build site at https://ops.microsoft.com/#/sites/Docs/docsets/dotnet-api-docs?tabName=builds, we obtain the latest build artifacts

    • Filter by Build Type = Intellisense
    • Download latest package (it's a zip file)
  2. Extract the zip contents and retain only the contents of _intellisense\netcore-3.0 subfolder

    • Copy these contents over to a new folder hierarchy that looks like this:
    DOTNET-API-DOCS_NETCOREAPP3.0-0.0.0.1-WIN32-X86
    \---_intellisense
        \---netcore-3.0
    
  3. Compress the contents into a new zip file (typically named dotnet-api-docs_netcoreapp3.0-0.0.0.1-win32-x86.zip) and upload it to a blob store using Azure Storage Explorer to netcorenativeassets under this path:

    • resource-packages -> external -> windows -> dotnet-api-docs_netcoreapp3.0
  4. During build, consume this blob, unzip and incorporate into ref-assembly nuget pakcages produced out of WPF.

Q&A

Q. What happens when an intellisense XML is not found?
A. Nothing. We will silently ignore the problem and the build will succeed.

Q. Are there missing files today?
Y. Yes, WindowsBase and PresentationBuildTasks intellisense files are missing. See dotnet/dotnet-api-docs#2602

Q.. How is the zip file update? How often is it update?
A. Manually. As often as needed - typically once per major milestone or preview release.

Notes:

  • This PR needs to build a new version of Microsoft.DotNet.Arcade.Wpf packge, and flow into to dotnet-wpf-int, to build a complete set of ref-assembly packages containing intellisense information.
  • There are small unrelated commits in this PR to workaround ongoing problems with the build in dotnet/wpf. These have been cherry-picked into master already.

@ghost ghost requested review from rladuca, ryalanms and stevenbrix June 15, 2019 22:45
@vatsan-madhavan vatsan-madhavan requested review from mairaw and AdamYoblick and removed request for stevenbrix and mairaw June 15, 2019 22:45
@vatsan-madhavan
Copy link
Member Author

/cc @mairaw, @AdamYoblick, @ahsonkhan

@vatsan-madhavan vatsan-madhavan added this to the Preview milestone Jun 15, 2019
@vatsan-madhavan vatsan-madhavan self-assigned this Jun 15, 2019
@grubioe grubioe added the PR metadata: Label to tag PRs, to facilitate with triage label Jun 17, 2019
@vatsan-madhavan vatsan-madhavan force-pushed the dev/vatsan/intellisense_xmls branch from 0bd1b2d to 8f224b1 Compare June 17, 2019 16:31
@vatsan-madhavan vatsan-madhavan changed the title WIP: Incorporate Intellisense XML into ref-assembly nuget packages Incorporate Intellisense XML into ref-assembly nuget packages Jun 17, 2019
@vatsan-madhavan
Copy link
Member Author

@dotnet/wpf-developers, this is not longer "WIP" - please review

@vatsan-madhavan
Copy link
Member Author

@AdamYoblick, you should take note about how this is done. The work for WinForms would be really simple. You shouldn't even have to create assets in the blob store - you can directly piggy-back onto the assets that we have created (it includes WinForms xml's), allow them to be unzipped by Arcade scripts under $(RepoRoot).tools\native, then merge them into your nuget package at the appropriate location.

Later on, the only effort we'd have to do would be periodically updating the blob store with a new zip, then updating global.json and .props with the new (arbitrarily chosen) version numbers.

@AdamYoblick
Copy link
Contributor

Wooo thanks Vatsan :) adding @RussKie for visibility (Igor is a new team member working on runtime)

@vatsan-madhavan vatsan-madhavan requested a review from rladuca June 19, 2019 00:33
@vatsan-madhavan vatsan-madhavan added the auto_merge bot-command label Jun 19, 2019
@ghost
Copy link

ghost commented Jun 19, 2019

Hello @vatsan-madhavan!

Because this pull request has the auto_merge label, I will be glad to assist with helping to merge this pull request once all check-in policies pass.

p.s. you can customize the way I help with merging this pull request, such as holding this pull request until a specific person approves. Simply @mention me (@msftbot) and give me an instruction to get started! Learn more here.

@ghost
Copy link

ghost commented Jun 19, 2019

@msftbot, require at least 1 sign off.

@ghost
Copy link

ghost commented Jun 19, 2019

@msftbot, require approvals from any one of the following: @vatsan-madhavan, @rladuca, @SamBent, @stevenbrix, @ryalanms

@vatsan-madhavan vatsan-madhavan removed the auto_merge bot-command label Jun 19, 2019
@vatsan-madhavan vatsan-madhavan merged commit 9271e6e into master Jun 19, 2019
@vatsan-madhavan vatsan-madhavan deleted the dev/vatsan/intellisense_xmls branch June 19, 2019 18:35
@ghost ghost locked as resolved and limited conversation to collaborators Apr 16, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
PR metadata: Label to tag PRs, to facilitate with triage
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add intellisense xml's to ref-pack
4 participants