uber / piranha

A tool for refactoring code related to feature flag APIs
Apache License 2.0
2.29k stars 196 forks source link

One step install piranha #377

Open ketkarameya opened 1 year ago

ketkarameya commented 1 year ago

This issue tracks the problem (my thoughts, other folk's thoughts) related to making it easy (on-click) :

  1. [Suggested by @conormurray95] For ease of use for other developers it would be more convenient if the binary was available via something like homebrew that could be installed with one command and used via the cli. The reason I have it as a dockerfile right now is so our make flag-cleanup command can be run locally by any dev without any setup because it:
    • Pulls the docker image with Piranha tool installed
    • Mounts our codebase as a volume inside the image
    • Runs the piranha binary against the codebase using whatever flag they input
  2. Release a binary per platform like this - https://github.com/BurntSushi/ripgrep/releases/tag/13.0.0 (go to the bottom of the page to look at the assets)
  3. If folks are ok installing rust up tool chain its actually straightforward. Just cargo install --git https://github.com/uber/piranha.git This will install the polyglot piranha exectuable from the github project This is undocumented. But kinda intuitive for folks familiar with cargo, I will document this.
    • It would be specially nice if we can make a release on crates.io itself. But we have blockers. Crates.io does not accept un verified dependencies. While we have certain modifications to the upstream tree-sitter-grammar repos that we maintain in a branch and are currently under code review . We are waiting for them to accept our changes and make a release.
  4. Some how figure out how to make the perfect pypi release

I think we should do 1, 3 and 4(as much as possible). I would love to do (2) too if we reach a point that we have so many users like ripgrep :)

cc @lazaroclapp


Reference conversations :

https://github.com/uber/piranha/issues/358#issuecomment-1432870828 https://github.com/uber/piranha/issues/311#issuecomment-1432942834

ketkarameya commented 1 year ago

@conormurray95 what is your opinion about option 3? (From your POV)