-
Notifications
You must be signed in to change notification settings - Fork 2
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
Add upgrader 3.1 and support for upgrader chains #21
Conversation
Tested this and will begin by saying that the provided file does not look like picture above. So for a master, master configuration it worked for all the adapter methods in Rhino 6 except execute, but it is not among the methods in the dictionary so expected? For PRbranch, master it did not work, which was expected. But for PRbranch PRBranch it did not work either... |
Sorry @kThorsager , I have updated the link to the test file |
No worries |
@kThorsager , let me start over. I rushed the PR just before a meeting yesterday and should have taken a bit more time to test and communicate. I have now provided links to two test files in the top comment. One for objects, one for methods. Both should still open correctly. With a few caveats:
However, I always recommend you run your own tests based on your own usage of what is provided in a PR. In this case, I added you because you are planning on using the versioning toolkit yourself so I wanted to make sure this PR was providing what you need (i.e. the upgrader 3.1) without breaking anything else. You are obviously welcome to test from any angle you see fit. Now, for the two things you have highlighted already:
Useful tip: if you comment those two lines in the GetPipe() method of the |
Great, I got it to work properly now, guess this will only be a problem for people going backwards, but slightly annoying while testing. But I will continue doing tests for my specific cases |
You do it the same was as you do any class, you use
Correct, this is currently only supported for objects but not methods. So the only way right now is to provide an update description for each method. This is way beyond the scope of this PR though so I would raise a separate issue for that.
Very true. I was planning to set up the necessary NuGet packages for this next week so that each upgrader depends on its own version of the BHoM instead of the current one. Given how little time I have at the moment, I am starting to wonder if it wouldn't be better to simply store the dlls locally even it it means pushing dlls to GitHub. @al-fisher, what do you think ?
That is the point but keep in mind we only need the dlls that correspond to upgraded code during that quarter. |
Yes. Think this is fine for now. |
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 have tested through this properly now and most of my concerns have been show to not necessarily be about this PR and I have raised separate issues for them. (Except for comment above about converting Type components.)
So LGTM
Thanks @kThorsager . |
NOTE: Depends on
BHoM/BHoM_Engine#1477
Issues addressed by this PR
Closes #20
Test files
https://burohappold.sharepoint.com/:u:/r/sites/BHoM/02_Current/12_Scripts/01_Test%20Scripts/Versioning_Toolkit/Issue21_BackwardCompatibilityTest.gh?csf=1&e=FuoX56
https://burohappold.sharepoint.com/:u:/r/sites/BHoM/02_Current/12_Scripts/01_Test%20Scripts/Versioning_Toolkit/Issue7_MethodUpgradeTest_ForAdapters.gh?csf=1&e=mMnHaH
Same file as before and should give the same result. The difference is that the upgrades done for this files are now one level down the upgrader chain.
What you can do as a test is use the PR from the Engine (that correctly gets the assembly file version) and see that nothing gets upgraded properly. Then switch to this branch onV_TK and see that it works again.
The other test will obviously be when @IsakNaslundBh and @kThorsager start adding they versioning for this quarter.
Here's the result that you should get: