qooxdoo-archive / qooxdoo-cli

(deprecated, moved into qooxdoo-compiler) qx commandline
MIT License
4 stars 5 forks source link

Meta Bug: Make qx contrib commands production ready #8

Closed cboulanger closed 6 years ago

cboulanger commented 7 years ago

Command reference:

  install [repository]  installs the latest compatible release of a contrib
                        library (as per Manifest.json). Use "-r <release tag>"
                        to install a particular release.
  list [repository]     if no repository name is given, lists all available
                        contribs that are compatible with the project's qooxdoo
                        version ("--all" lists incompatible ones as well).
                        Otherwise, list all compatible contrib libraries.
  remove [repository]   removes a contrib library from the configuration.
  update [repository]   updates information on contrib libraries from github.
                        Has to be called before the other commands.

Options:
  -a, --all      disable filters (for example, also show incompatible versions)
  -r, --release  use a specific release tag instead of the tag of the latest
                 compatible release
  -t, --token    adds a GitHub personal access token to calls to GitHub
  -v, --verbose  verbose logging
  -q, --quiet    no output

API The qx contrib commands update, list, install and remove are now based on a Javascript API and no longer just yargs scripts, so in principle -- this still hasn't been tested yet -- they can be called by other code, for example like this:

// setup 
await new qxcli.commands.contrib.Update({quiet:true, token:"..."}).process();
await new qxcli.commands.contrib.List({quiet:true}).process(); // this won't work yet since it cannot determine the qooxdoo path without more information
await new qxcli.commands.contrib.Install({repository:"johnspackman/UploadMgr"}).process();

similar to the command line (in the qooxdoo app folder):

qx contrib update --quiet # update the cache (without output)
qx contrib list --quiet # determine compatible releases (without output)
qx install johnspackman/UploadMgr --quiet # install the latest compatible release (without output)

Several contrib libraries in one repo: qx contrib install installs from a repository and looks for the library manifest in the root of this repository. If you have several libraries in one repository, provide a qooxdoo.json file in the root of the repository which has this syntax.

For now, this is the complete feature set. I won't have time to implement anything major in the next couple of weeks, but I can respond to bug reports, so please test the commands and let me know if something doesn't work for you, either here or on Gitter.

Blocked by

johnspackman commented 6 years ago

This issue was moved to qooxdoo/qooxdoo-compiler#76