aspera-cli 4.0.0.pre3 → 4.0.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: 22041be5b72d2a1907350832239b7e3b96890e6b50cc36ab199ecdddf6fe3e89
4
- data.tar.gz: b30116b52e35ffd5020a400fa07a519da847de1c078c2e09b91349488c95947a
3
+ metadata.gz: 7172a58b5d9de3455d25667a9eb6d3475d66b2a334be6e2cdee987a041d1d89f
4
+ data.tar.gz: 7408405f727f10b137a15c453cd3d89770256fc8392ab311b1318b873bffd18d
5
5
  SHA512:
6
- metadata.gz: d7992b721a8dc47334ad5706aa645534822ef7b9608055c1ef0c5908085c20e45dd2dc4b7a4210481b40af9f554f389fe408c8807cc7d2eb40c3e7b212f0c4f9
7
- data.tar.gz: 16ee1fdb8ddfecac75a0674f2f4be902decc76543b3577e81a12284d899d74b4cd1c38b68f6bda126aebd1f9cddf045af0c7ef98fe0aa0aee0a2634b9a249a84
6
+ metadata.gz: 80fff0696b7a65c05b823483e8f07f34d37a3b0c95c6658ed23e4837b4b223143b46146aae53604a5f80e1695e12f598d53bbb900d3d34a5c31094e441904e82
7
+ data.tar.gz: 76c299e2daed96ff33af518f1d1df97eba35bab38c9c8eec86f2bf5b623455dec6bc6bbddba3fbd390b3ebb7d34a68ed7054a74999e215cbbfa88840af8d311a
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  [comment1]: # (Do not edit this README.md, edit docs/README.erb.md, for details, read docs/README.md)
2
2
  # `ascli` : a Command Line for IBM Aspera products
3
3
 
4
- Version : 4.0.0.pre3
4
+ Version : 4.0.0
5
5
 
6
6
  _Laurent/2016-2021_
7
7
 
@@ -14,17 +14,11 @@ Disclaimers:
14
14
 
15
15
  * This has not yet been officially released so things may change
16
16
 
17
- That being said, `ascli` is very powerful and gets things done, it's also a great tool to learn Aspera APIs.
18
-
19
- This manual addresses three parts:
20
-
21
- * `ascli` : The command line tool
22
- * `asession` : starting a FASP Session with JSON parameters
23
- * `Aspera` : includes a Ruby "FASPManager"
17
+ `ascli` is also a great tool to learn Aspera APIs.
24
18
 
25
19
  In examples, command line operations (starting with `$`) are shown using a standard shell: `bash` or `zsh`.
26
20
 
27
- Command line parameters in example beginning with `my_`, like `my_param_value` are user-provided value and not fixed value commands.
21
+ Command line parameters in examples beginning with `my_`, like `my_param_value` are user-provided value and not fixed value commands.
28
22
 
29
23
  # Quick Start
30
24
 
@@ -36,7 +30,7 @@ Once the gem is installed, `ascli` shall be accessible:
36
30
 
37
31
  ```
38
32
  $ ascli --version
39
- 4.0.0.pre3
33
+ 4.0.0
40
34
  ```
41
35
 
42
36
  ## First use
@@ -112,19 +106,21 @@ The following sections provide information on the installation.
112
106
  ## <a name="ruby"></a>Ruby
113
107
 
114
108
  A ruby interpreter is required to run the tool or to use the gem and tool.
115
- The Ruby version shall be at least > 2.4.
116
- Any type of Ruby installation can be used.
117
- Ruby 3 is not yet tested.
109
+
110
+ Ruby minimum version: > 2.4
111
+
112
+ Ruby 3 is also supported.
113
+
114
+ Any type of Ruby installation can be used (installer, rpm, rvm, ...).
118
115
 
119
116
  Refer to the following sections for a proposed method for specific operating systems.
120
117
 
121
118
  ### macOS
122
119
 
123
-
124
120
  MacOS 10.13+ (High Sierra) comes with a recent Ruby, so you can use it directly, you will need to install aspera-cli using `sudo` :
125
121
 
126
122
  ```
127
- $ sudo gem install aspera-cli --pre
123
+ $ sudo gem install aspera-cli
128
124
  ```
129
125
 
130
126
  Alternatively, if you use [Homebrew](https://brew.sh/) already you can install Ruby with it:
@@ -133,6 +129,8 @@ Alternatively, if you use [Homebrew](https://brew.sh/) already you can install R
133
129
  $ brew install ruby
134
130
  ```
135
131
 
132
+ It is also possib le to use `rvm`
133
+
136
134
  ### Windows
137
135
 
138
136
  Install Latest stable Ruby using [https://rubyinstaller.org/](https://rubyinstaller.org/).
@@ -167,13 +165,7 @@ Alternatively, only if you know what you do, on RPM based systems (CentOs, Redha
167
165
  # yum install -y ruby rubygems ruby-json
168
166
  ```
169
167
 
170
- If necessary, pre-install jwt for older Ruby < 2.1.
171
-
172
- ```
173
- # gem install jwt -v 1.5.6
174
- ```
175
-
176
- You can cleanup your whole yum-installed ruby environment like this to uninstall:
168
+ One can cleanup your whole yum-installed ruby environment like this to uninstall:
177
169
 
178
170
  ```
179
171
  gem uninstall $(ls $(gem env gemdir)/gems/|sed -e 's/-[^-]*$//'|sort -u)
@@ -182,7 +174,7 @@ yum remove -y ruby ruby-libs
182
174
 
183
175
  ### Other Unixes: Aix, etc...
184
176
 
185
- If your unix do not provide a pre-built ruby, you can get using one of those
177
+ If your unix do not provide a pre-built ruby, you can get it using one of those
186
178
  [methods](https://www.ruby-lang.org/en/documentation/installation/)
187
179
 
188
180
  For instance to build from source, and install in `/opt/ruby` :
@@ -203,7 +195,7 @@ For instance to build from source, and install in `/opt/ruby` :
203
195
  Once you have Ruby and rights to install gems: Install the gem and its dependencies:
204
196
 
205
197
  ```
206
- # gem install aspera-cli --pre
198
+ # gem install aspera-cli
207
199
  ```
208
200
 
209
201
  To upgrade to the latest version:
@@ -1252,6 +1244,24 @@ ascli aoc admin ats cluster clouds
1252
1244
  ascli aoc admin ats cluster list
1253
1245
  ascli aoc admin ats cluster show --cloud=aws --region=eu-west-1
1254
1246
  ascli aoc admin ats cluster show --id=1f412ae7-869a-445c-9c05-02ad16813be2
1247
+ ascli aoc admin res apps_new list
1248
+ ascli aoc admin res client list
1249
+ ascli aoc admin res client_access_key list
1250
+ ascli aoc admin res client_registration_token list
1251
+ ascli aoc admin res contact list
1252
+ ascli aoc admin res dropbox list
1253
+ ascli aoc admin res dropbox_membership list
1254
+ ascli aoc admin res group list
1255
+ ascli aoc admin res kms_profile list
1256
+ ascli aoc admin res node list
1257
+ ascli aoc admin res operation list
1258
+ ascli aoc admin res organization show
1259
+ ascli aoc admin res package list
1260
+ ascli aoc admin res saml_configuration list
1261
+ ascli aoc admin res self show
1262
+ ascli aoc admin res short_link list
1263
+ ascli aoc admin res user list
1264
+ ascli aoc admin res workspace_membership list
1255
1265
  ascli aoc admin resource node --name=AOC_NODE1_NAME --secret=AOC_NODE1_SECRET v3 access_key create --value=@json:'{"id":"testsub1","storage":{"path":"/folder1"}}'
1256
1266
  ascli aoc admin resource node --name=AOC_NODE1_NAME --secret=AOC_NODE1_SECRET v3 access_key delete --id=testsub1
1257
1267
  ascli aoc admin resource node --name=AOC_NODE1_NAME --secret=AOC_NODE1_SECRET v3 events
@@ -1441,7 +1451,7 @@ ascli sync start --parameters=@json:'{"sessions":[{"name":"test","reset":true,"r
1441
1451
  ```
1442
1452
  $ ascli -h
1443
1453
  NAME
1444
- ascli -- a command line tool for Aspera Applications (v4.0.0.pre3)
1454
+ ascli -- a command line tool for Aspera Applications (v4.0.0)
1445
1455
 
1446
1456
  SYNOPSIS
1447
1457
  ascli COMMANDS [OPTIONS] [ARGS]
@@ -2272,8 +2282,9 @@ Notes:
2272
2282
  Examples:
2273
2283
 
2274
2284
  ```
2275
- $ ascli aoc packages send --value=@json:'{"name":"my title","note":"my note","recipients":["laurent.martin.aspera@fr.ibm.com","other@example.com"]}' --sources=@args my_file.dat
2276
- $ ascli aoc packages send --value=@json:'{"name":"my file in shared inbox","recipients":["The Shared Inbox"]}' my_file.dat --ts=@json:'{"target_rate_kbps":100000}'
2285
+ $ ascli aoc package send --value=@json:'{"name":"my title","note":"my note","recipients":["laurent.martin.aspera@fr.ibm.com","other@example.com"]}' --sources=@args my_file.dat
2286
+ $ ascli aoc package send --value=@json:'{"name":"my file in shared inbox","recipients":["The Shared Inbox"]}' my_file.dat --ts=@json:'{"target_rate_kbps":100000}'
2287
+ $ ascli aoc package send --workspace=eudemo --value=@json:'{"name":"my pack title","recipients":["Shared Inbox Name"],"metadata":[{"input_type":"single-text","name":"Project Id","values":["123"]},{"input_type":"single-dropdown","name":"Type","values":["Opt2"]},{"input_type":"multiple-checkbox","name":"CheckThose","values":["Check1","Check2"]},{"input_type":"date","name":"Optional Date","values":["2021-01-13T15:02:00.000Z"]}]}' ~/Documents/Samples/200KB.1
2277
2288
  ```
2278
2289
 
2279
2290
  ## <a name="aoccargo"></a>Receive new packages only
data/docs/README.erb.md CHANGED
@@ -30,17 +30,11 @@ Disclaimers:
30
30
 
31
31
  * This has not yet been officially released so things may change
32
32
 
33
- That being said, <%=tool%> is very powerful and gets things done, it&apos;s also a great tool to learn Aspera APIs.
34
-
35
- This manual addresses three parts:
36
-
37
- * <%=tool%> : The command line tool
38
- * `asession` : starting a FASP Session with JSON parameters
39
- * `Aspera` : includes a Ruby "FASPManager"
33
+ <%=tool%> is also a great tool to learn Aspera APIs.
40
34
 
41
35
  In examples, command line operations (starting with `$`) are shown using a standard shell: `bash` or `zsh`.
42
36
 
43
- Command line parameters in example beginning with `my_`, like `my_param_value` are user-provided value and not fixed value commands.
37
+ Command line parameters in examples beginning with `my_`, like `my_param_value` are user-provided value and not fixed value commands.
44
38
 
45
39
  # Quick Start
46
40
 
@@ -128,15 +122,17 @@ The following sections provide information on the installation.
128
122
  ## <a name="ruby"></a>Ruby
129
123
 
130
124
  A ruby interpreter is required to run the tool or to use the gem and tool.
131
- The Ruby version shall be at least <%= gemspec.required_ruby_version %>.
132
- Any type of Ruby installation can be used.
133
- Ruby 3 is not yet tested.
125
+
126
+ Ruby minimum version: <%= gemspec.required_ruby_version %>
127
+
128
+ Ruby 3 is also supported.
129
+
130
+ Any type of Ruby installation can be used (installer, rpm, rvm, ...).
134
131
 
135
132
  Refer to the following sections for a proposed method for specific operating systems.
136
133
 
137
134
  ### macOS
138
135
 
139
-
140
136
  MacOS 10.13+ (High Sierra) comes with a recent Ruby, so you can use it directly, you will need to install <%= gemspec.name %> using `sudo` :
141
137
 
142
138
  ```
@@ -149,6 +145,8 @@ Alternatively, if you use [Homebrew](https://brew.sh/) already you can install R
149
145
  $ brew install ruby
150
146
  ```
151
147
 
148
+ It is also possib le to use `rvm`
149
+
152
150
  ### Windows
153
151
 
154
152
  Install Latest stable Ruby using [https://rubyinstaller.org/](https://rubyinstaller.org/).
@@ -183,13 +181,7 @@ Alternatively, only if you know what you do, on RPM based systems (CentOs, Redha
183
181
  # yum install -y ruby rubygems ruby-json
184
182
  ```
185
183
 
186
- If necessary, pre-install jwt for older Ruby < 2.1.
187
-
188
- ```
189
- # gem install jwt -v 1.5.6
190
- ```
191
-
192
- You can cleanup your whole yum-installed ruby environment like this to uninstall:
184
+ One can cleanup your whole yum-installed ruby environment like this to uninstall:
193
185
 
194
186
  ```
195
187
  gem uninstall $(ls $(gem env gemdir)/gems/|sed -e 's/-[^-]*$//'|sort -u)
@@ -198,7 +190,7 @@ yum remove -y ruby ruby-libs
198
190
 
199
191
  ### Other Unixes: Aix, etc...
200
192
 
201
- If your unix do not provide a pre-built ruby, you can get using one of those
193
+ If your unix do not provide a pre-built ruby, you can get it using one of those
202
194
  [methods](https://www.ruby-lang.org/en/documentation/installation/)
203
195
 
204
196
  For instance to build from source, and install in `/opt/ruby` :
@@ -1735,8 +1727,9 @@ Notes:
1735
1727
  Examples:
1736
1728
 
1737
1729
  ```
1738
- $ <%=cmd%> aoc packages send --value=@json:'{"name":"my title","note":"my note","recipients":["laurent.martin.aspera@fr.ibm.com","other@example.com"]}' --sources=@args my_file.dat
1739
- $ <%=cmd%> aoc packages send --value=@json:'{"name":"my file in shared inbox","recipients":["The Shared Inbox"]}' my_file.dat --ts=@json:'{"target_rate_kbps":100000}'
1730
+ $ <%=cmd%> aoc package send --value=@json:'{"name":"my title","note":"my note","recipients":["laurent.martin.aspera@fr.ibm.com","other@example.com"]}' --sources=@args my_file.dat
1731
+ $ <%=cmd%> aoc package send --value=@json:'{"name":"my file in shared inbox","recipients":["The Shared Inbox"]}' my_file.dat --ts=@json:'{"target_rate_kbps":100000}'
1732
+ $ <%=cmd%> aoc package send --workspace=eudemo --value=@json:'{"name":"my pack title","recipients":["Shared Inbox Name"],"metadata":[{"input_type":"single-text","name":"Project Id","values":["123"]},{"input_type":"single-dropdown","name":"Type","values":["Opt2"]},{"input_type":"multiple-checkbox","name":"CheckThose","values":["Check1","Check2"]},{"input_type":"date","name":"Optional Date","values":["2021-01-13T15:02:00.000Z"]}]}' ~/Documents/Samples/200KB.1
1740
1733
  ```
1741
1734
 
1742
1735
  ## <a name="aoccargo"></a>Receive new packages only
@@ -139,12 +139,12 @@ module Aspera
139
139
  return Main.result_status("renamed #{thepath} to #{newname}")
140
140
  when :delete
141
141
  thepath=self.options.get_next_argument('path')
142
- return do_bulk_operation(thepath,'deleted','path') do |thepath|
143
- raise "expecting String (path), got #{thepath.class.name} (#{thepath})" unless thepath.is_a?(String)
144
- node_file = @api_aoc.resolve_node_file(top_node_file,thepath)
142
+ return do_bulk_operation(thepath,'deleted','path') do |l_path|
143
+ raise "expecting String (path), got #{l_path.class.name} (#{l_path})" unless l_path.is_a?(String)
144
+ node_file = @api_aoc.resolve_node_file(top_node_file,l_path)
145
145
  node_api=@api_aoc.get_node_api(node_file[:node_info],AoC::SCOPE_NODE_USER)
146
146
  result=node_api.delete("files/#{node_file[:file_id]}")[:data]
147
- {'path'=>thepath}
147
+ {'path'=>l_path}
148
148
  end
149
149
  when :transfer
150
150
  # client side is agent
@@ -558,8 +558,23 @@ module Aspera
558
558
  return {:type=>:object_list,:data=>events}
559
559
  end
560
560
  when :resource
561
- resource_type=self.options.get_next_argument('resource',[:self,:organization,:user,:group,:client,:contact,:dropbox,:node,:operation,:package,:saml_configuration, :workspace, :dropbox_membership,:short_link,:workspace_membership,'admin/apps_new'.to_sym,'admin/client_registration_token'.to_sym,'integrations/kms_profile'.to_sym])
562
- resource_class_path=resource_type.to_s+case resource_type;when :dropbox;'es';when :self,:organization,'admin/apps_new'.to_sym;'';else; 's';end
561
+ resource_type=self.options.get_next_argument('resource',[:self,:organization,:user,:group,:client,:contact,:dropbox,:node,:operation,:package,:saml_configuration, :workspace, :dropbox_membership,:short_link,:workspace_membership,:apps_new,:client_registration_token,:client_access_key,:kms_profile])
562
+ # get path on API
563
+ resource_class_path=case resource_type
564
+ when :self,:organization
565
+ "#{resource_type}"
566
+ when :apps_new
567
+ "admin/#{resource_type}"
568
+ when :dropbox
569
+ resource_type.to_s+'es'
570
+ when :client_registration_token,:client_access_key
571
+ "admin/#{resource_type}s"
572
+ when :kms_profile
573
+ "integrations/#{resource_type}s"
574
+ else
575
+ resource_type.to_s+'s'
576
+ end
577
+ # build list of supported operations
563
578
  singleton_object=[:self,:organization].include?(resource_type)
564
579
  global_operations=[:create,:list]
565
580
  supported_operations=[:show,:modify]
@@ -568,7 +583,6 @@ module Aspera
568
583
  supported_operations.push(:set_pub_key) if resource_type.eql?(:client)
569
584
  supported_operations.push(:shared_folders) if [:node,:workspace].include?(resource_type)
570
585
  command=self.options.get_next_command(supported_operations)
571
-
572
586
  # require identifier for non global commands
573
587
  if !singleton_object and !global_operations.include?(command)
574
588
  res_id=self.options.get_option(:id)
@@ -607,8 +621,8 @@ module Aspera
607
621
  when :node; default_fields.push('host','access_key')
608
622
  when :operation; default_fields=nil
609
623
  when :contact; default_fields=["email","name","source_id","source_type"]
610
- when 'admin/apps_new'.to_sym; list_query={:organization_apps=>true};default_fields=['app_type','available']
611
- when 'admin/client_registration_token'.to_sym; default_fields=['id','value','data.client_subject_scopes','created_at']
624
+ when :apps_new; list_query={:organization_apps=>true};default_fields=['app_type','available']
625
+ when :client_registration_token; default_fields=['id','value','data.client_subject_scopes','created_at']
612
626
  end
613
627
  result=@api_aoc.read(resource_class_path,url_query(list_query))
614
628
  self.format.display_status("Items: #{result[:data].length}/#{result[:http]['X-Total-Count']}")
@@ -639,18 +653,6 @@ module Aspera
639
653
  return Node.new(@agents.merge(skip_basic_auth_options: true, node_api: api_node)).execute_action if command.eql?(:v3)
640
654
  ak_data=api_node.call({:operation=>'GET',:subpath=>"access_keys/#{res_data['access_key']}",:headers=>{'Accept'=>'application/json'}})[:data]
641
655
  return node_gen4_execute_action({node_info: res_data, file_id: ak_data['root_file_id']})
642
- # when :info
643
- # object=@api_aoc.read(resource_instance_path)[:data]
644
- # access_key=object['access_key']
645
- # match_list=@api_aoc.read('admin/search_nodes',{:q=>"access_key:\"#{access_key}\""})[:data]
646
- # result=match_list.select{|i|i["_source"]["access_key_recursive_counts"].first["access_key"].eql?(access_key)}
647
- # return Main.result_status('Private node') if result.empty?
648
- # raise CliError,"more than one match" unless result.length.eql?(1)
649
- # result=result.first["_source"]
650
- # result.merge!(result['access_key_recursive_counts'].first)
651
- # result.delete('access_key_recursive_counts')
652
- # result.delete('token')
653
- # return { :type=>:single_object, :data =>result}
654
656
  when :shared_folders
655
657
  read_params = case resource_type
656
658
  when :workspace;{'access_id'=>"ASPERA_ACCESS_KEY_ADMIN_WS_#{res_id}",'access_type'=>'user'}
@@ -44,7 +44,7 @@ module Aspera
44
44
  result={
45
45
  :base_url => "#{publink_uri.scheme}://#{publink_uri.host}#{port_add}#{base}",
46
46
  :subpath => subpath,
47
- :query => URI::decode_www_form(publink_uri.query).inject({}){|m,v|m[v.first]=v.last;m}
47
+ :query => URI::decode_www_form(publink_uri.query).inject({}){|h,v|h[v.first]=v.last;h}
48
48
  }
49
49
  Log.dump('publink',result)
50
50
  return result
@@ -1,5 +1,5 @@
1
1
  module Aspera
2
2
  module Cli
3
- VERSION = "4.0.0.pre3"
3
+ VERSION = "4.0.0"
4
4
  end
5
5
  end
@@ -54,7 +54,7 @@ module Aspera
54
54
  # add sdk as first search path
55
55
  @found_products.unshift({# SDK
56
56
  :expected =>'SDK',
57
- :app_root =>self.folder_path,
57
+ :app_root =>folder_path,
58
58
  :sub_bin =>''
59
59
  })
60
60
  @found_products.select! do |pl|
@@ -89,19 +89,19 @@ module Aspera
89
89
  # note that there might be a .exe at the end
90
90
  file=file.gsub('ascp','ascp4') if k.eql?(:ascp4)
91
91
  when :ssh_bypass_key_dsa
92
- file=File.join(self.folder_path,'aspera_bypass_dsa.pem')
92
+ file=File.join(folder_path,'aspera_bypass_dsa.pem')
93
93
  File.write(file,get_key('dsa',1)) unless File.exist?(file)
94
94
  File.chmod(0400,file)
95
95
  when :ssh_bypass_key_rsa
96
- file=File.join(self.folder_path,'aspera_bypass_rsa.pem')
96
+ file=File.join(folder_path,'aspera_bypass_rsa.pem')
97
97
  File.write(file,get_key('rsa',2)) unless File.exist?(file)
98
98
  File.chmod(0400,file)
99
99
  when :aspera_license
100
- file=File.join(self.folder_path,'aspera-license')
100
+ file=File.join(folder_path,'aspera-license')
101
101
  File.write(file,Base64.strict_encode64("#{Zlib::Inflate.inflate(DataRepository.instance.get_bin(6))}==SIGNATURE==\n#{Base64.strict_encode64(DataRepository.instance.get_bin(7))}")) unless File.exist?(file)
102
102
  File.chmod(0400,file)
103
103
  when :aspera_conf
104
- file=File.join(self.folder_path,'aspera.conf')
104
+ file=File.join(folder_path,'aspera.conf')
105
105
  File.write(file,%Q{<?xml version='1.0' encoding='UTF-8'?>
106
106
  <CONF version="2">
107
107
  <default>
@@ -120,8 +120,8 @@ module Aspera
120
120
  }) unless File.exist?(file)
121
121
  File.chmod(0400,file)
122
122
  when :fallback_cert,:fallback_key
123
- file_key=File.join(self.folder_path,'aspera_fallback_key.pem')
124
- file_cert=File.join(self.folder_path,'aspera_fallback_cert.pem')
123
+ file_key=File.join(folder_path,'aspera_fallback_key.pem')
124
+ file_cert=File.join(folder_path,'aspera_fallback_cert.pem')
125
125
  if !File.exist?(file_key) or !File.exist?(file_cert)
126
126
  require 'openssl'
127
127
  # create new self signed certificate for http fallback
@@ -188,7 +188,7 @@ module Aspera
188
188
  Zip::File.open(sdk_zip_path) do |zip_file|
189
189
  zip_file.each do |entry|
190
190
  if entry.name.include?(filter) and !entry.name.end_with?('/')
191
- archive_file=File.join(self.folder_path,File.basename(entry.name))
191
+ archive_file=File.join(folder_path,File.basename(entry.name))
192
192
  File.open(archive_file, 'wb') do |output_stream|
193
193
  IO.copy_stream(entry.get_input_stream, output_stream)
194
194
  end
@@ -201,12 +201,13 @@ module Aspera
201
201
  end
202
202
  File.unlink(sdk_zip_path) rescue nil # Windows may give error
203
203
  ascp_version='n/a'
204
- if !ascp_path.nil?
205
- # get version from ascp, only after full extract, as windows requires SSL/TLS DLLs
206
- m=%x{#{ascp_path} -A}.match(/ascp version (.*)/)
207
- ascp_version=m[1] unless m.nil?
208
- File.write(File.join(self.folder_path,PRODUCT_INFO),"<product><name>IBM Aspera SDK</name><version>#{ascp_version}</version></product>")
209
- end
204
+ raise "error in sdk: no ascp included" if ascp_path.nil?
205
+ cmd_out=%x{#{ascp_path} -A}
206
+ raise "An error occured when testing ascp: #{cmd_out}" unless $? == 0
207
+ # get version from ascp, only after full extract, as windows requires DLLs (SSL/TLS/etc...)
208
+ m=cmd_out.match(/ascp version (.*)/)
209
+ ascp_version=m[1] unless m.nil?
210
+ File.write(File.join(folder_path,PRODUCT_INFO),"<product><name>IBM Aspera SDK</name><version>#{ascp_version}</version></product>")
210
211
  return ascp_version
211
212
  end
212
213
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aspera-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.pre3
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Laurent Martin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-18 00:00:00.000000000 Z
11
+ date: 2021-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xml-simple
@@ -301,9 +301,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
301
301
  version: '2.4'
302
302
  required_rubygems_version: !ruby/object:Gem::Requirement
303
303
  requirements:
304
- - - ">"
304
+ - - ">="
305
305
  - !ruby/object:Gem::Version
306
- version: 1.3.1
306
+ version: '0'
307
307
  requirements:
308
308
  - IBM Aspera ascp installed for the user
309
309
  rubygems_version: 3.0.3