Skip to content

Releases: PhpGt/Cli

Default commands

23 Feb 21:49
Compare
Choose a tag to compare

If an application is intended to be run by just its name, like build (rather than requiring build run or build exec or build do-the-one-thing-this-application-is-built-for), a default command can be set, so that the application can be run without needing a command specified by the user.

Abstract Command functions

16 Feb 18:03
Compare
Choose a tag to compare

With this release, the name, description and lists of required/optional parameters are provided to Commands by implementing abstract functions.

There are two main reasons that this has been changed:

  1. It is impossible to forget to implement the required parts of a Command now.
  2. This allows the Commands' constructors to be used to have data injected from outside of the application, without interference from the setup of command parameters, etc.

Improvements to arguments

06 Feb 09:56
Compare
Choose a tag to compare

Users can pass arbitrary arguments to commands which are accessible in the ArgumentValueList to the developer (#16).

The argument value list getter can provide a default value if the user has not provided one.

Better out-of-the-box support

22 Jan 22:27
Compare
Choose a tag to compare

This minor update tidies up the way that the default commands are handled with no arguments (for example, a common usage where a user calls the application with no commands or arguments).

The default command is now always "help" and will always display the list of available commands.

v1 release

18 Jan 17:43
Compare
Choose a tag to compare

All functionality that was tagged to make its way into v1 release has been implemented and fully tested, so here it is, v1.0.0 of the Command Line Interface builder!

The main reason for the timing of this release is to allow php.gt/installer to also be released as stable, as the Installer is the next in the critical path of repositories that require stable release to get the whole of WebEngine v3 stable.

Have fun!

Streams fully tested

15 Jan 23:23
Compare
Choose a tag to compare
Streams fully tested Pre-release
Pre-release

Simple as it is, the Stream object has been fully tested to ensure that in/out/err are identified correctly and the correct exceptions are thrown when necessary.

Full test coverage for Command

15 Jan 22:31
Compare
Choose a tag to compare
Pre-release

Bugs were found; bugs were fixed. Moving on to the other Command subclasses.

Minor bug fixes

15 Jan 21:42
Compare
Choose a tag to compare
Minor bug fixes Pre-release
Pre-release

Thorough testing is uncovering plenty of small bugs and improvements. No new features implemented in this pre-release, but check the diff to see the tests and changes to the Command class.

Output directly from Command

14 Jan 20:31
Compare
Choose a tag to compare
Pre-release

The explorative coding phase is complete and the library is beginning to take shape. In this prerelease, adjusting the code as unit test coverage increases, a backwards breaking change is introduced: the Command object now holds the write and writeLine functions.

Nullable parameters

03 Jan 11:21
Compare
Choose a tag to compare
Nullable parameters Pre-release
Pre-release

This pre-release changes the API of many functions, allowing more parameters to be nullable, using default values where appropriate.