aspera-cli 4.25.1 → 4.25.3

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.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +456 -405
  4. data/CONTRIBUTING.md +22 -18
  5. data/README.md +33 -9741
  6. data/bin/asession +111 -88
  7. data/lib/aspera/agent/connect.rb +1 -1
  8. data/lib/aspera/agent/desktop.rb +1 -1
  9. data/lib/aspera/agent/direct.rb +19 -18
  10. data/lib/aspera/agent/node.rb +1 -1
  11. data/lib/aspera/api/aoc.rb +44 -20
  12. data/lib/aspera/api/faspex.rb +25 -6
  13. data/lib/aspera/api/node.rb +20 -16
  14. data/lib/aspera/ascp/installation.rb +32 -51
  15. data/lib/aspera/assert.rb +2 -2
  16. data/lib/aspera/cli/extended_value.rb +1 -0
  17. data/lib/aspera/cli/formatter.rb +0 -4
  18. data/lib/aspera/cli/hints.rb +18 -4
  19. data/lib/aspera/cli/main.rb +3 -6
  20. data/lib/aspera/cli/manager.rb +46 -30
  21. data/lib/aspera/cli/plugins/aoc.rb +155 -131
  22. data/lib/aspera/cli/plugins/base.rb +15 -18
  23. data/lib/aspera/cli/plugins/config.rb +50 -87
  24. data/lib/aspera/cli/plugins/factory.rb +2 -2
  25. data/lib/aspera/cli/plugins/faspex.rb +4 -4
  26. data/lib/aspera/cli/plugins/faspex5.rb +74 -76
  27. data/lib/aspera/cli/plugins/node.rb +3 -5
  28. data/lib/aspera/cli/plugins/oauth.rb +26 -25
  29. data/lib/aspera/cli/plugins/preview.rb +9 -14
  30. data/lib/aspera/cli/plugins/shares.rb +15 -7
  31. data/lib/aspera/cli/transfer_agent.rb +2 -2
  32. data/lib/aspera/cli/version.rb +1 -1
  33. data/lib/aspera/colors.rb +7 -0
  34. data/lib/aspera/environment.rb +30 -16
  35. data/lib/aspera/faspex_gw.rb +6 -6
  36. data/lib/aspera/faspex_postproc.rb +20 -14
  37. data/lib/aspera/hash_ext.rb +8 -0
  38. data/lib/aspera/log.rb +15 -15
  39. data/lib/aspera/markdown.rb +22 -0
  40. data/lib/aspera/node_simulator.rb +1 -1
  41. data/lib/aspera/oauth/base.rb +2 -2
  42. data/lib/aspera/oauth/url_json.rb +2 -2
  43. data/lib/aspera/oauth/web.rb +1 -1
  44. data/lib/aspera/preview/generator.rb +9 -9
  45. data/lib/aspera/rest.rb +44 -37
  46. data/lib/aspera/rest_call_error.rb +16 -8
  47. data/lib/aspera/rest_error_analyzer.rb +38 -36
  48. data/lib/aspera/rest_errors_aspera.rb +19 -18
  49. data/lib/aspera/transfer/resumer.rb +2 -2
  50. data/lib/aspera/yaml.rb +49 -0
  51. data.tar.gz.sig +0 -0
  52. metadata +17 -3
  53. metadata.gz.sig +0 -0
  54. data/release_notes.md +0 -8
data/CONTRIBUTING.md CHANGED
@@ -110,12 +110,15 @@ A few macros and environment variables control certain aspects of the build:
110
110
  | `ASPERA_CLI_TEST_CONF_URL` | URL for configuration file with secrets for tests. |
111
111
  | `ASPERA_CLI_DOC_CHECK_LINKS`| Check links still exist during doc generation. |
112
112
  | `LOG_LEVEL` | Change log level in `rake` tasks. |
113
+ | `LOG_SECRETS` | Change log secrets in `rake` tasks. |
113
114
  | `ENABLE_COVERAGE` | Enable test coverage analysis when set. |
114
115
  | `SIGNING_KEY` | Path to the signing key used to build the gem file. |
115
- | `GEM_VERSION` | Override gem version for builds. |
116
+ | `SIGNING_KEY_PEM` | PEM of signing key. |
116
117
 
117
118
  These can be set either as environment variables or directly on the `rake` command line.
118
119
 
120
+ Setting `SIGNING_KEY_PEM` creates file `$HOME/.gem/signing_key.pem` and sets `SIGNING_KEY` to that path.
121
+
119
122
  > [!NOTE]
120
123
  > Environment variables `ASPERA_CLI_*` are typically set in the user’s shell profile for development.
121
124
  > Others are intended for use on the command line.
@@ -151,6 +154,12 @@ To check URLs during documentation generation, set the environment variable: `AS
151
154
 
152
155
  To debug documentation generation, set the environment variable: `ASPERA_CLI_DOC_DEBUG=debug`.
153
156
 
157
+ To generate documentation:
158
+
159
+ ```bash
160
+ rake doc:build
161
+ ```
162
+
154
163
  ## Test Environment
155
164
 
156
165
  Refer to <tests/README.md>.
@@ -170,12 +179,6 @@ If you don't want to install optional gems:
170
179
  bundle config set without optional
171
180
  ```
172
181
 
173
- To build a beta version:
174
-
175
- ```bash
176
- export GEM_VERSION=$(env -u GEM_VERSION rake tools:version).$(date +%Y%m%d%H%M)
177
- ```
178
-
179
182
  ### Signed gem
180
183
 
181
184
  A private key is required to generate a signed gem.
@@ -196,7 +199,7 @@ Update with:
196
199
  bundle exec rake tools:grpc
197
200
  ```
198
201
 
199
- It downloads the latest `proto` file and then compiles it.
202
+ It downloads the latest `proto` file and then compiles it into ruby sources included in the repo.
200
203
 
201
204
  ## Container image build
202
205
 
@@ -216,7 +219,8 @@ bundle exec rake -T ^binary:
216
219
 
217
220
  ### Branching Strategy
218
221
 
219
- This project uses a single `main` branch for development. During the development cycle, the version in `lib/aspera/cli/version.rb` uses a `.pre` suffix (e.g., `x.y.z.pre`) to indicate a pre-release state.
222
+ This project uses a single `main` branch for development.
223
+ During the development cycle, the version in `lib/aspera/cli/version.rb` uses a `.pre` suffix (e.g., `x.y.z.pre`) to indicate a pre-release state.
220
224
 
221
225
  Feature development and bug fixes can be done either:
222
226
 
@@ -233,11 +237,10 @@ When preparing for a new release, do the following:
233
237
  bundle exec rake test:run
234
238
  ```
235
239
 
236
- - Verify that the container builds successfully (using the beta version):
240
+ - Verify that the container builds successfully (using the local gem file):
237
241
 
238
242
  ```bash
239
- export GEM_VERSION=$(env -u GEM_VERSION rake tools:version).$(date +%Y%m%d%H%M)
240
- bundle exec rake container:build
243
+ bundle exec rake container:build'[local]'
241
244
  bundle exec rake container:test
242
245
  ```
243
246
 
@@ -257,16 +260,17 @@ To create a release:
257
260
  The workflow automatically:
258
261
 
259
262
  1. Updates `version.rb` with the release version
260
- 2. Rebuilds documentation (PDF manual, README)
263
+ 2. Rebuilds documentation (PDF manual, Markdown README)
261
264
  3. Commits the changes
262
265
  4. Creates and pushes the release tag
263
- 5. Triggers the deploy workflow to publish to [rubygems.org](https://rubygems.org/gems/aspera-cli)
266
+ 5. Triggers the `deploy` workflow to publish to [rubygems.org](https://rubygems.org/gems/aspera-cli)
264
267
  6. Updates `version.rb` to the next development version with `.pre` suffix
265
- 7. Commits and pushes the version bump
268
+ 7. Commits and pushes the version bump in main branch.
266
269
 
267
270
  ### Manual Release Process (Alternative)
268
271
 
269
- If needed, releases can still be done manually:
272
+ If needed, releases can still be done manually.
273
+ Basically, follow the same procedure as in the GitHub action:
270
274
 
271
275
  - Update the version in `lib/aspera/cli/version.rb` (remove `.pre` suffix)
272
276
 
@@ -292,9 +296,9 @@ This will trigger the action `.github/workflows/deploy.yml`, which builds the ge
292
296
 
293
297
  - After release, update `version.rb` to the next development version with `.pre` suffix
294
298
 
295
- ## Long‑Term Implementation and Delivery Improvements
299
+ ## Future Improvements
296
300
 
297
- - Replace custom REST and OAuth classes with standard Ruby gems:
301
+ - Replace custom REST and OAuth classes with standard Ruby gems ?
298
302
  - <https://github.com/rest-client/rest-client>
299
303
  - <https://github.com/oauth-xx/oauth2>
300
304
  - Use the `thor` gem <http://whatisthor.com/> (or other standard Ruby CLI manager)