clutz icon indicating copy to clipboard operation
clutz copied to clipboard

Would the project benefit from rewriting the clutz CLI?

Open whymarrh opened this issue 8 years ago • 4 comments

In playing around with Clutz I noticed #587 and in reading through the open issues I've noticed #595—would the project team be interested in a "rewrite" of the CLI? A "rewrite" of the CLI could:

  1. Move away from args4j
    • It's no longer maintained
    • It's somewhat buggy
      • The help text it produces is incorrect (#587)
    • Its docs are all over the place
  2. Rename the flags to be consistent (as per #595)
  3. Fix/improve the help (--help) output

whymarrh avatar Dec 12 '17 23:12 whymarrh

I'd be open to submitting a PR for this—it looks like it would be somewhat contained to Options and a few updates to the main method in DeclarationGenerator. It would be a breaking change though.

whymarrh avatar Dec 12 '17 23:12 whymarrh

As for an alternative to args4j, maybe picocli?

whymarrh avatar Dec 12 '17 23:12 whymarrh

Hi Whymarrh,

Sorry for the radio silence so far, and thanks for your interest in clutz. I am not very involved with the Java ecosystem, so can't recommend libraries or best practices for Java projects. As you can tell this project is mostly intended for internal usage in google. That is not surprising because only so many companies are sitting on large Closure codebases. I would love to hear more about your usage of clutz.

For internal users, breaking changes in clutz CLI interface is not an issue. There are only so many users and we change change them in one go (see google's monorepo talks, articles etc).

Reusing some of the choices of copybara might be a good idea - as a template for a google java project that is actively used internally https://github.com/google/copybara

rkirov avatar Dec 13 '17 00:12 rkirov

Sorry for the radio silence so far, and thanks for your interest in clutz.

Hey, no worries, the team has been plenty responsive.

I would love to hear more about your usage of clutz.

I'm just a casual user of the project, using it to get TypeScript definitions for a small package I'm working on (TypeScript definitions for protobuf output). I'm just trying to provide patches for the few things that I run into 😃.

Where most of my interaction with Clutz is via the CLI I've noticed a few things that make it a bit odd, namely #586 and #587. Given those two things and noticing #595 in my usage as well, I thought I'd propose cleaning up ("rewriting") the CLI—I want to run it by the project team before taking a swing at it.

whymarrh avatar Dec 13 '17 14:12 whymarrh