vladyslav-burylov / resharper-testlinker2

Easy navigation between test and production code.
MIT License
6 stars 4 forks source link

ReSharper Support #15

Open matkoch opened 1 year ago

matkoch commented 1 year ago

Is there no build for ReSharper anymore?

vladyslav-burylov commented 1 year ago

Nope, I have removed it long time ago in order to reduce support cost. Reshaper has TestCop plug-in which is IMO better.

https://plugins.jetbrains.com/plugin/11635-testcop-for-resharper-2022-3

Use it :)

matkoch commented 1 year ago

What was costing so much for ReSharper? Isn't it just packaging?

TestCop is working differently also.

vladyslav-burylov commented 1 year ago

It's mostly about testing it, also maybe some small differences in data contract (I don't remember exactly).

To be fair I have forked your repo because I was missing TestCop after transition from Windows to Mac (and rider). Since I've had no access to Windows anymore I have decided just to remove resharper support vs releasing something which may be broken.

I have no objections against adding it again if somebody has access to resharper to test it.

mu88 commented 1 year ago

Didn’t we already have the discussion? 🙂https://github.com/JetBrains/resharper-rider-plugin/issues/46 Or what am I missing?

mu88 commented 1 year ago

@matkoch can we close this issue or are there any questions left?

matkoch commented 1 year ago

I know that some people would like to use this in ReSharper, and from the linked issue it's clear what needs to be done. I would appreciate if you could upload the plugin once manually, and then remove the commented out parts from gradle.build.

mu88 commented 1 year ago

@vladyslav-burylov what do you think?

fschmied commented 1 year ago

@vladyslav-burylov @mu88 I'm one of the people sad about TestLinker no longer being available for ReSharper.

I've tried TestCop, but I'd still love it if TestLinker2 were available for ReSharper because it's much simpler and does a few things better than TestCop. For example, it integrates into "Related Files" (Ctrl+Alt+F7), whereas TestCop overrides an important default shortcut (Ctrl+G).

So, it it's easy to just publish the plugin for ReSharper, too, I'd be very grateful if you could do it. If it's not easy at all, well, then I'll have to live with TestCop.

mu88 commented 1 year ago

Thanks for your feedback @fschmied , I really appreciate it!

Publishing it for R# shouldn't be an issue at all. The only "problem" is that @vladyslav-burylov is the primary maintainer and only he has access to the JetBrains account where the initial upload must happen - I simply cannot do it 😅

mu88 commented 1 year ago

@matkoch I know that this is a delicate question and I hope nobody misunderstands me 🤞🏻 I tried to reach out to @vladyslav-burylov (the repo and plugin owner) multiple times, but without luck. I hope that he's doing well! But do you see any chance to go on with this issue by bypassing the initial upload from Vladyslav? Is that even possible from JetBrains' side? As he made me an admin of this repo, I'm pretty confident that he'd agree - but of course, I know this is not how it should be - trading ideal process with progress

vladyslav-burylov commented 1 year ago

Sorry, @mu88 I noted this query. I'll check what can I do in few days. Maybe will just share upload key with you.

vladyslav-burylov commented 1 year ago

Hey @mu88 @matkoch - I'm not quite sure how it works exactly, but you both should have access to plugin admin UI inside jetbrains hub now - https://plugins.jetbrains.com/plugin/15518-test-linker-2 - can you please check? (I have added you as "developers" - the only available option I was able to find).

It looks like there is no way to upload R#-only version, however if you'll be able to build artifact which contains both R# and Rider versions, you should be able to upload according to https://plugins.jetbrains.com/docs/marketplace/roles.html#plugin-author. I can also transfer ownership of this repo / upload keys if you don't have access to those (@mu88 - you can post here and I should be able to reply to your e-mail which is stored inside my mailbox). Also @mu88 - do u have write access to "releases" of this repo? This is another option to share binaries... though it would be required to install those manually.

p.s. I'm also happy to follow any specific "plugin sharing instructions" if you know how to share ownership properly (JetBrains UI is a bit silent around that)

mu88 commented 1 year ago

@vladyslav-burylov thank you for granting me access! Now I can successfully access the JetBrains Marketplace and upload versions on my own 💪🏻

mu88 commented 1 year ago

@matkoch I built this commit locally on my dev notebook and uploaded the resulting ZIP file to the JetBrains Marketplace, as you can see here. But now I cannot install the plugin anymore: image image

Is it related to the compatibility range? image If yes, where are these values coming from?

What went wrong resp. what shall I do? I could trigger a new release via the GitHub Action, what do you think?

mu88 commented 1 year ago

Okay @matkoch , one step further: I had to remove this piece of code to fix the problem with the compatibility range - now it is looking good (see here).

However, the build still fails with:

> Task :publishPlugin
Pushing ReSharperPlugin.TestLinker2.2023.1.0.2.nupkg to 'https://plugins.jetbrains.com/'...
  PUT https://plugins.jetbrains.com/api/v2/package/
  NotFound https://plugins.jetbrains.com/api/v2/package/ 783ms
error: Response status code does not indicate success: 404 ().

Usage: dotnet nuget push [arguments] [options]

Arguments:
  [root]  Specify the path to the package and your API key to push the package to the server.

Options:
  -h|--help                      Show help information
  --force-english-output         Forces the application to run using an invariant, English-based culture.
  -s|--source <source>           Package source (URL, UNC/folder path or package source name) to use. Defaults to DefaultPushSource if specified in NuGet.Config.
  -ss|--symbol-source <source>   Symbol server URL to use.
  -t|--timeout <timeout>         Timeout for pushing to a server in seconds. Defaults to 300 seconds (5 minutes).
  -k|--api-key <apiKey>          The API key for the server.
  -sk|--symbol-api-key <apiKey>  The API key for the symbol server.
  -d|--disable-buffering         Disable buffering when pushing to an HTTP(S) server to decrease memory usage.
  -n|--no-symbols                If a symbols package exists, it will not be pushed to a symbols server.
  --no-service-endpoint          Does not append "api/v2/package" to the source URL.
  --interactive                  Allow the command to block and require manual action for operations like authentication.
  --skip-duplicate               If a package and version already exists, skip it and continue with the next package in the push, if any.

> Task :publishPlugin FAILED

FAILURE: Build failed with an exception.

* Where:
Build file 'D:\a\resharper-testlinker2\resharper-testlinker2\build.gradle' line: 218

* What went wrong:
Execution failed for task ':publishPlugin'.
> Process 'command 'dotnet'' finished with non-zero exit value 1

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
mu88 commented 1 year ago

ping @matkoch