Skip to content

Instantly share code, notes, and snippets.

@cboulanger
Created April 28, 2017 07:32
Show Gist options
  • Save cboulanger/896d80bccc7bc6493f5c481308b1f19b to your computer and use it in GitHub Desktop.
Save cboulanger/896d80bccc7bc6493f5c481308b1f19b to your computer and use it in GitHub Desktop.
Process of discovery and target identification used by the `qx contrib(-dev) list` API method

Ideas on how qooxdoo-contrib libraries are discovered on github and how the compile target is determined

This describes the algorithm used by the qx contrib list commands (or its final syntax)

  1. Use github web API to get JSON data on all repositories with the github topic 'qooxdoo-contrib' and cache it. ALTERNATIVE: additional command qx contrib update does that, qx contrib list implicitly calls update if no cache exists. (Probably better). Applies to all of the following.
  2. Use github web api to get JSON data on the releases of these repositories and store commit hashes
  3. Use github web api to retrieve Manifest.json of the released version.
  4. Filter all releases that are compatible with the qooxdoo version of the current project. This requires a flexible syntax of the info.qooxdoo-versions property in Manifest.json), for example, using semantic versioning and parsing. For example, '1.x || >=2.5.0 || 5.0.0 - 7.2.3' must be valid value.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment