Skip to content

Releases: kasapdev/java-cli-arg-parser

v1.2.0

Choose a tag to compare

@kasapdev kasapdev released this 07 Sep 20:05

Added

  • Subcommand support on ArgParser. ArgParser subcommand(String name) registers a
    named subcommand and returns its own independent ArgParser, configured with the same
    addFlag/addOption builder methods as the top-level parser.
  • ArgParser.parse(String[]) now dispatches on the first argument when one or more
    subcommands are registered: a match parses the remaining arguments against that
    subcommand's own parser; an unrecognized name throws ArgParseException.
  • ParsedArgs.subcommandName() / ParsedArgs.subcommand() expose the invoked subcommand's
    name and its own, independently-parsed result.
  • A parser with no registered subcommands is completely unaffected — fully backwards
    compatible with v1.1.0.

Tested

  • Two subcommands registering an overlapping option name (--port) with different shapes
    (a value-taking option on one, a boolean flag on the other) parse independently, proving
    no cross-contamination between subcommand registrations.
  • Parsing an unrecognized subcommand name throws ArgParseException naming the bad token.
  • All existing tests continue to pass unmodified.

Docs

  • New ## Subcommands section in the README with a runnable deploy/rollback example.
  • A second worked example added to ## Usage.

See CHANGELOG.md for full details.

v1.1.0

Choose a tag to compare

@kasapdev kasapdev released this 06 Sep 01:33

Adds edge-case regression tests: unregistered flag()/option() lookups, null default resolution, duplicate short-alias rejection, short flag/-option validation mirroring the long-form cases, and lone '-' token handling. No behavioral changes; all tests pass.

v1.0.0

Choose a tag to compare

@kasapdev kasapdev released this 05 Sep 23:41

Initial stable release.