xolo-server 2.0.3 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5762b1b18f24e90927cac0c748c873b32150a55e5037d1e3db4792c93bb79e82
4
- data.tar.gz: 5a068566e8e4c28687a26493d29a7c9506ce2247e1cd846fb1a8768d4833fdd4
3
+ metadata.gz: 7749e82011acb35cebb065d60d29c6c94148e27a18d0eb936e206165c578023c
4
+ data.tar.gz: 732faf4f08115109c815ad866de0029ec46d30da4e44afcf1c4f3b30aaa15dd9
5
5
  SHA512:
6
- metadata.gz: afbc831c4e4662ccd04ef70f5cf8eef8511a65e2138b220dd74cd53efa45596b566b7dec7b3ccce0c73f9bcfbb61d444f913457ba62cb94b8a497927fcf4180d
7
- data.tar.gz: 0cadf36f4e99a2ba8f394228bbb9cb131bd9d8b80179313528f6c4f6a8130b4581c32637646cc6cea6166d3d552ba0c44862b478ae2e0e87c5c917ab7cd0bc17
6
+ metadata.gz: 3e5d69ac7b0eb7986073bb4415b7779607a84e3fad95425be6cc7e69e144d3b23bfba8d78a631af3077b5f8bf318e1b0a221f19f69c12438542e33108e934aa9
7
+ data.tar.gz: 1b99190baff9c56375b01c3b1225a8ce8c1dee53173c2e35b985d6a40a91c2b6ab8143bb7300c96e4a74c59036e492252c56dc32e990396730e4a63fe08b69c2
data/data/client/xolo CHANGED
@@ -162,6 +162,8 @@ Commands:
162
162
  install, i <title>[=<version>] [<title2>[=<version2>] ...]
163
163
  Install a title, or specific version thereof (e.g. a version currently in pilot)
164
164
  If no version is specified, the currently released version will be installed.
165
+ If you are only installing only one specific version of one title, you can
166
+ omit the =, e.g. install <title> <version>.
165
167
 
166
168
  uninstall, u <title> [<title2> ...]
167
169
  Uninstall a title, if possible. Not all titles are uninstallable via xolo.
@@ -255,8 +257,24 @@ function parse_cli() {
255
257
  command=$1
256
258
  [[ ${#@} -gt 0 ]] && shift
257
259
 
260
+ # the remaining positional parameters as an array called targets
261
+ # It'll either be exactly 1 item: title
262
+ # or exactly 2 items containing no '=' : title, version
263
+ # or exactly 2 items containing no '=' : title, title
264
+ # or any number if items in the form: title[=version] where the =version is optional.
258
265
  targets=("${(@)@}")
259
266
 
267
+ # if targets has exactly 2 items, and neither of them contains
268
+ # '=' and the second one isn't an existing title then treat
269
+ # them as the title and a version and reset 'targets' to be 'title=version'
270
+ if [[ "$#targets" == 2 ]] \
271
+ && [[ "$targets[1]" != *"$TITLE_VERSION_SEPARATOR"* ]] \
272
+ && [[ "$targets[2]" != *"$TITLE_VERSION_SEPARATOR"* ]] \
273
+ && ! echo "$(all_xolo_titles)" | grep -qE "^${targets[2]}$" ; then
274
+
275
+ targets=("$targets[1]=$targets[2]")
276
+ fi
277
+
260
278
  debug "Parsed command line:"
261
279
  debug "..show_help is: $show_help"
262
280
  debug "..be_verbose is: $be_verbose"
@@ -275,6 +293,9 @@ function parse_cli() {
275
293
  #################################
276
294
  function parse_title_and_version() {
277
295
  local arg=$1
296
+ unset title_is_valid
297
+ unset version_is_valid
298
+
278
299
  debug "Parsing title and version from arg: '$arg'"
279
300
 
280
301
  if [[ "$arg" == *"$TITLE_VERSION_SEPARATOR"* ]] ; then
@@ -786,9 +807,13 @@ function refresh_client_data() {
786
807
  # validate that the title exists
787
808
  ###############################
788
809
  function validate_title() {
810
+
789
811
  # if we've already validated the title, we're done
790
812
  [[ -n "$title_is_valid" ]] && return
791
813
 
814
+ # use passed arg if needed
815
+ [[ -z "$title" ]] && title=$1
816
+
792
817
  debug "Validating title: $title"
793
818
 
794
819
  # die if no title given
@@ -823,7 +848,7 @@ function validate_version() {
823
848
  all_versions=$(versions_for_title $title)
824
849
  debug "All versions for title $title:\n$all_versions"
825
850
  # [[ $all_versions =~ (^|\n)$version($|\n) ]] || die "No such version: $version"
826
- echo "$all_versions" | grep -q "^$version$" || die "No such version: $version"
851
+ echo "$all_versions" | grep -q "^$version$" || die "No such version '$version' for title '$title'"
827
852
  version_is_valid=1
828
853
  }
829
854
 
@@ -12,7 +12,7 @@ module Xolo
12
12
 
13
13
  module Version
14
14
 
15
- VERSION = '2.0.3'.freeze
15
+ VERSION = '2.1.0'.freeze
16
16
 
17
17
  end
18
18
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xolo-server
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Lasell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-07-25 00:00:00.000000000 Z
11
+ date: 2026-08-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday