Contribution Guide
Hey,
YES, more than happy to receive a pull request against the 'development' branch...
Did you answer me a long time ago.
Unfortunately, I think I'm missing a little guide to be able to work with the project at all. Would it be possible that you could help us out with this?
What I get to see when I open the Solution: TestCop_SolutionErrors.txt
First, you need to "restore all nuget packages for the solution" through a rightclick on the solution Then you must adapt the nuget.buid.bat by setting the OUTDIR in line #4 to your local binary output path Currently the extracted WAVEID in the .bat file does not match the latest Resharper version as JetBrains.Platform.SDK has not been updated yet.
To get a working package for the latest R# version, simply overwrite the WAVEID in line 16 with "SET WAVEID=211
Now build the release. The packages will appear in the binary folder bin/Release/9.0
Install and enjoy.
Mark also posted these instructions in a previous issue #65
You can compile it yourself and install it via local nuget. You need to edit the nuget.build.bar though.
1. restore all nuget packages (rightclick on the solution) 2. configure the OUTDIR to point to your local binary output folder 3. As Jetbrains.Platform.SDK hasn't been updated yet, you need to manually set the WAVEID to 211 in line 15 4. Edit and update the Testcop.nuspec file to show the new version number and target R# version 5. build and install the local nupkg according to the description on the jetbrains help page
These are for getting a local nuget, but ideally we'd like an official release. I imagine there's a couple more steps involved from that point, but maybe we could get a PR going to streamline this for Mark?
@rayphi if you're still up to the task, do the instructions Mark posted help at all with your errors?
@MarkSandy so for a non-hacky solution, we are waiting for changes from ReSharper SDK?
@MarkSandy @EdvardasDlugauskas Thank's! I've no idea why the restore did't work before... anyway now it works! I've already updated:
JetBrains.ReSharper.SDK
JetBrains.Annotations
JetBrains.ExternalAnnotations
JetBrains.Lifetimes
Now I'm trying to find out where the JetBrains.Platform.* dependencies come from and if they are needed at all. In the last releases they were still updated.
Hey Raphael,
wow, I failed in trying to update anyof the references. Great work!
360-Grad-Blockchain-Begleitung für Enterprise-Lösungen maibornwolff.de/blockchain-services
Mark Sandy Senior Lead IT Architect
Mobil +49 151 544 22 470 @.*** Voßstraße 33, 10117 Berlin
MaibornWolff GmbH, Theresienhöhe 13, 80339 München www.maibornwolff.de, Telefon +49 89 544 253 000 USt-ID DE 129 299 525, Amtsgericht München HRB 98058 Geschäftsführer: Volker Maiborn, Holger Wolff, Alexander Hofmann, Florian Theimer, Marcus Adlwart
Von: Raphael Tweitmann @.> Gesendet: Montag, 3. Mai 2021 09:07 An: testcop/Resharper.TestCop @.> Cc: Mark Sandy @.>; Mention @.> Betreff: Re: [testcop/Resharper.TestCop] Contribution Guide (#68)
@MarkSandyhttps://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fMarkSandy&umid=3c77d32d-fa2a-41b9-9f3a-a4fa838ab463&auth=25b0435a87fa8f9c1d278e4dba895b9eb06f9903-067a01b6a625c2e97bfa41142d98ed44972f22df @EdvardasDlugauskashttps://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fEdvardasDlugauskas&umid=3c77d32d-fa2a-41b9-9f3a-a4fa838ab463&auth=25b0435a87fa8f9c1d278e4dba895b9eb06f9903-a23a7a1a2cd519f27cf0793ef541098df5ea6a7d Thank's! I've no idea why the restore did't work before... anyway now it works! I've already updated:
JetBrains.ReSharper.SDK
JetBrains.Annotations
JetBrains.ExternalAnnotations
JetBrains.Lifetimes
Now I'm trying to find out where the JetBrains.Platform.* dependencies come from and if they are needed at all. In the last releases they were still updated.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2ftestcop%2fResharper.TestCop%2fissues%2f68%23issuecomment%2d831067060&umid=3c77d32d-fa2a-41b9-9f3a-a4fa838ab463&auth=25b0435a87fa8f9c1d278e4dba895b9eb06f9903-966bf5577ac8bed6b9f88789776ebe577b261b0f, or unsubscribehttps://smex-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fnotifications%2funsubscribe%2dauth%2fAJAG6WLEJIYY2LM7R7RCRT3TLZDQTANCNFSM43WOBGSA&umid=3c77d32d-fa2a-41b9-9f3a-a4fa838ab463&auth=25b0435a87fa8f9c1d278e4dba895b9eb06f9903-95746767212eddeaab7f403089ec8b011fb53f3a.
Now I stuck at this point (see below) and I can't understand it because all dependencies are removed (see my current version).
Unable to find a version of 'JetBrains.Annotations' that is compatible with
'JetBrains.Platform.Core.Ide 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.Core.IisExpress 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.Core.MsBuild 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.Core.Shell 211.0.20210420.180708 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.Core.Text 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.Installer 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.Interop.CommandLine 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.Interop.dotMemoryUnit.Interop.Console 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.Interop.dotMemoryUnit.Interop.Ide 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.RdProtocol 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.Sdk 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.Tests.Framework 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.UIInteractive.Ide 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.UIInteractive.Shell 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.UIInteractive.Text 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.VisualStudio.Core 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.VisualStudio.JustVs10 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.VisualStudio.JustVs11 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.VisualStudio.JustVs12 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.VisualStudio.JustVs14 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.VisualStudio.JustVs15 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.VisualStudio.JustVs16 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.VisualStudio.Protocol 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.VisualStudio.SinceVs09 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.VisualStudio.SinceVs10 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.VisualStudio.SinceVs11 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.VisualStudio.SinceVs12 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.VisualStudio.SinceVs14 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.VisualStudio.SinceVs15 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.VisualStudio.SinceVs16 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Platform.VisualStudio.Util 211.0.20210420.181133 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Psi.Features.Core 211.0.20210422.93908 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Psi.Features.Cpp.Src.Core 211.0.20210422.100257 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Psi.Features.SolutionBuilder 211.0.20210422.93908 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Psi.Features.src 211.0.20210422.93908 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Psi.Features.Tasks 211.0.20210422.93908 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Psi.Features.test.Framework 211.0.20210422.93908 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Psi.Features.UIInteractive.Core 211.0.20210422.93908 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Psi.Features.UIInteractive.Features 211.0.20210422.93908 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Psi.Features.UIInteractive.SolutionAnalysis 211.0.20210422.93908 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Psi.Features.UIInteractive.SolutionBuilder 211.0.20210422.93908 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Psi.Features.UnitTesting 211.0.20210422.93908 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Psi.Features.VisualStudio.Protocol 211.0.20210422.93908 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Psi.Features.VisualStudio.SinceVs10 211.0.20210422.93908 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Psi.Features.VisualStudio.UnitTesting 211.0.20210422.93908 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Psi.Features.VisualStudio._Core 211.0.20210422.93908 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Psi.Features.Web.Core 211.0.20210422.93908 constraint: JetBrains.Annotations (= 2020.1.0)',
'JetBrains.Psi.Features.Web.UIInteractive 211.0.20210422.93908 constraint: JetBrains.Annotations (= 2020.1.0)'.
I managed to update everything. 🎉 Now there are 17 tests that are failing 😢. https://ci.appveyor.com/project/rayphi/resharper-testcop/builds/39018049
I am now trying to understand what exactly is being tested and why it no longer works.
Looking at the history in AppVeyor, did it ever succeed? 🤔
Judging by this error
1) SetUp Error : TestCop.Plugin.Tests.Highlighting.ShouldBePublicWarningTests
System.Exception : Can't restore NuGet packages
Data:
NuGet.Source.#1: jb-gallery [http://jb-gallery.azurewebsites.net/api/v2/]
NuGet.Source.#2: nuget.org [http://www.nuget.org/api/v2/]
TempDataPath: C:\Users\appveyor\AppData\Local\Temp\1\JetBrains\Wywypyd
Framework: .NETFramework,Version=v4.6.0.0
RenderedExceptionMessage: Can't restore NuGet packages Value cannot be null. Parameter name: packagesFolderPath
RenderedExceptionDataWtihSensitiveInfo: Can't restore NuGet packages Value cannot be null. Parameter name: packagesFolderPath
...it also looks like it was due to some JetBrains.TestFramework.JetNuGet.NuGetRestoreHelper.Restore, so maybe this was an integration test? Maybe some configuration was not updated
Solved it with mentioned workaround over here => https://youtrack.jetbrains.com/issue/RSRP-483974
And now hopefully the last failing 5 Tests... I'm now trying to recreate the step from the (AppVeyor) pipeline locally. https://ci.appveyor.com/project/rayphi/resharper-testcop/builds/39019798
@rayphi Thanks for the PR and the extra code changes !
Submitted to Jetbrains - will be available in a couple of days
Glad to "see" you back here - Thank you for submitting!"
Now that I've gone through the entire update process here 😬 do you have a specific order to successfully update all the dependencies or do you kick them all out first to reinstall them?
The build will attempt to publish the nuget package to C:\SourceCode - so create the folder or edit the file nuget.build.bat
- Open up manage NuGet Packages for Solution ** upgrade JetBrains.Resharper.SDK Nuget package ** upgrade JetBrains.Resharper.SDK.Tests Nuget package
- Close project and reopen
- Now, compile and fix breakages
- Run unit tests (they are slow but pass)
No need to update the WAVE id as it should be discovered by the script nuget.build.bat Within Resharper add the folder C:\SourceCode as a location to look for extensions and install....
I will create a page to guide the next dev...
@MarkSandy Thanks for your PR too ! I will pick out some of your ideas
Ok that's exactly what I did! But it always broke off because some dependencies could not be resolved or caused conflicts.
Do you have special install/update/uninstall settings in the Solution Package Manager?
Jetbrains often release or update the tests package later - you may have needed to wait a few days.