aspera-cli 4.0.0.pre3 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
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