-
Notifications
You must be signed in to change notification settings - Fork 4
feat: major improvements #5
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
Conversation
|
@NormandErwan ping! |
|
Hello, and thank you very much for this PR. I quickly looked over the changes, and they seem to be a very good improvement! I have very little time these days, but I will do my best to merge them. Thank you for your proposal regarding the NuGet package. However, it is your work, so I would prefer you to remain the owner. |
|
Hi, I'm very sorry for the delay. I'm finally testing, it's very nice, thank you for your work! I've also seen that dotnet/docfx#10827 has been merged, would you like to fix the github pages workflow as well? |
@NormandErwan done: https://github.com/bdovaz/UnityXrefMaps/tree/gh-pages 6000.0 LTS example: https://bdovaz.github.io/UnityXrefMaps/6000.0/xrefmap.yml It took me quite a while because I used Unity's releases API: https://services.docs.unity.com/release/v1/ And it has the problem that the tags in the UnityCsReference repository are always behind, since it seems that they only commit from time to time and it's never synchronized... So I had to create a logic that tries to resolve the tag closest to the one resolved by the releases API. On the other hand, versions 2019.2 and 2019.1 fail. I don't know if the project structure was different in these versions https://github.com/bdovaz/UnityXrefMaps/actions/runs/19927828874 I have also made sure that the deployment does not fail because a specific version fails, but rather that it tries to deploy whatever it can. I have also created tests for xref href fixes and corrected many cases of packages where Unity with docfx generates completely different URLs. |
|
Thanks for all the work! However, I fail to understand the changes made to the github pages workflow. Why use PowerShell scripts (38757a6)? It seems duplicated code to me. Instead, we could simply run the dotnet program from this repository instead. I was able to generate the 6000.0 xrefmap on the The objective I had with this project was to generate Unity's xrefmaps using a simple dotnet program. |
|
@NormandErwan The main change I made was that the application no longer had any hardcore behavior, which is why you could previously run it without any parameters. With this PR, what I do is allow anyone to obtain the xref file from the Unity repository “UnityCsReference” or from any package repository that is on GitHub or mirrored thanks to needle-mirror. This obviously means that you have to pass the repository URL and the git tag to clone as a CLI parameter, and that's where the PowerShell scripts come in. As I said, they use Unity's This way, that workflow will “always” work (unless something breaks in the API or repository) automatically, as I have already shown you in a previous comment. |
|
Thanks for your detailed explanation. My initial idea was to list the git tags directly from the UnityCsReference repository and generate a xrefmap for each tag, i.e. Unity X.Y version. This is how the program currently behaves. If a tag is specified as an argument, only the xrefmap for that version is generated. Otherwise, xrefmaps for all versions are generated. What do you think about keeping this approach? |
# Conflicts: # .config/dotnet-tools.json # .github/workflows/unity-xref-maps.yml # Program.cs # README.md # UnityXrefMaps.csproj # UnityXrefMaps/docfx.json
|
@NormandErwan I have made the Regarding the GitHub Actions workflow, I think what I have done is better because, by using the releases API, it allows filtering and only generating it for currently supported builds. This means that:
And with regard to knowledge of PowerShell, I offer to be a co-maintainer of this repository because by the time you merge this PR, I will have acquired a great deal of knowledge about this project and can contribute a lot in the future. And it is always better for an open source project not to depend solely on one person for the health of the project. If you look at my experience in my profile, you will see that I maintain several projects together with other people or that the entire project was transferred to me:
|
|
I completely agree with you. Thank you very much for your detailed answers and all your work. I indeed think you now know this project better than me. Perhaps it would be best to transfer it to you? |
If you think you don't have time to dedicate to it, you can transfer it to me. If you think you will have time, you can give me permissions and we can both be maintainers of the project |
|
I have just added you as collaborator to the repo. I think we also need to configure the Nuget repo? |
|
@NormandErwan, what is your NuGet username? I just created an organization, but I need to add you. |
|
Here's my NuGet username: |
|
I have created an organization in NuGet called I have set the organization I have created a https://learn.microsoft.com/en-us/nuget/nuget-org/trusted-publishing You need to create a secret called |

I've done a lot of things, you can really see it in the README.md file in the
Advanced usagesection.If you're still interested in maintaining this project (I hope you are), I'll add you as the owner of the NuGet package.
Highlights:
I haven't fixed the github pages workflow in this PR (it's been failing since November 2024) with the new changes because, at the very least, this PR dotnet/docfx#10827 that I created due to a problem that occurs when trying to generate the UnityEngine xrefmap needs to be merged.