aspera-cli 4.25.0.pre → 4.25.0.pre2

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: 412bbcc21114ffbdc44a31e61c2f666e1444a61d991ed8cbc0eff52ffcb43381
4
- data.tar.gz: 3a1a191e2e05743c2e800902c17f6637181e4bcd2f8b34bec570ffa24b7913b7
3
+ metadata.gz: 7e017349a111f8385f64794641aed296960fd8cd69bcfcf62110b99c102425c6
4
+ data.tar.gz: 15fb922208d24921bfbdd352d26b6085addf93231044318e942c7f0df67e4eea
5
5
  SHA512:
6
- metadata.gz: 7c650e9c2cd0c1a9bf2f264b88464bd148e14acb45bed85f87752146ad91735812c00173dc1dcdb3fe0bfcf7e9ad58362c9a5fed209559be28a545aba8d4f639
7
- data.tar.gz: '088400cc458134f6ca68f996e598ad6af70f57bf776de8eadd7687d2b47db805b5e8c91f84beb05c208619f25fb09191b99f0068f13e2d29379d2bd693dacb99'
6
+ metadata.gz: a6ed834dce6f0991bf9c1a2c2c16b9c8d8224961b4c6cf453a3873d1fba1378bf3a1e825351f7b4dc349ac1e9cc325a0b47c2bd25dc9e6c23ecc8cd140ba0e09
7
+ data.tar.gz: cd07513558920ae564bbae2da2441d1173a05700ed2dbaa9a6edbd8b17fffe0eec79b48dbe76b63438d97f870bc1113b247f65c861000f0f967dcca1a290a37c
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -10,7 +10,8 @@ Released: [Place date of release here]
10
10
 
11
11
  * **global**: All `Hash` and `Array` options are now cumulative (merged). Value `@none:` resets to empty value.
12
12
  * **global**: Improved error diagnostic during evaluation of extended value.
13
- * **global**: New Extended value modifier: `@:` (empty modifier) to evaluate remaining arguments as `Hash` or `Array`.
13
+ * **global**: New extended value modifier: `@:` (empty modifier) to evaluate remaining arguments as `Hash` or `Array`.
14
+ * **global**: New extended value modifier: `@stdin:chomp` reads stdin and removes `\n`.
14
15
  * `config`: New option: `parser` allows definition of default parser for extended values when expecting a `Hash` or `Array` type.
15
16
  * `orchestrator`: Commands now takes option `query`.
16
17
 
@@ -21,13 +22,15 @@ Released: [Place date of release here]
21
22
 
22
23
  ### Breaking Changes
23
24
 
25
+ * `aoc`: Option `package_folder` is now a Hash instead of formatted String.
24
26
  * `server`: By default, SSH option `use_agent` is now `false`.
25
27
  * `config`: Removed option `use_product`, replaced with prefix `product:` of option `ascp_path`.
26
28
  * `faspex5`: Removed deprecated (4.18) command in `admin`: `resource`, use resource name as command directly in `admin`.
27
- * `preview`: Replace gem `mimemagic` with `marcel`.
28
- * PDF manual is now generated for [releases](https://github.com/IBM/aspera-cli/releases) only.
29
+ * `preview`: Replaced gem `mimemagic` with `marcel`.
30
+ * **global**: Extended value modifier `@stdbin:` is replaced with `@stdin:bin`.
31
+ * Build system uses now `rake` instead of `make` for easier portability on Windows.
32
+ * PDF manual removed from repo, it is now generated for [releases](https://github.com/IBM/aspera-cli/releases) only.
29
33
  * HTML manual is not generated anymore.
30
- * Build system uses now `rake` instead of `make` for easier portability with Windows.
31
34
 
32
35
  ## 4.24.2
33
36
 
@@ -36,7 +39,7 @@ Released: 2025-10-24
36
39
  ### New Features
37
40
 
38
41
  * `direct`: Capability to send management messages to `ascp` on running sessions. e.g. change target rate.
39
- * `config`: Added command: `sync spec` to get sync parameters documentation. Also added to manual.
42
+ * `config`: Added command: `sync spec` to get sync parameters' documentation. Also added to manual.
40
43
 
41
44
  ### Issues Fixed
42
45
 
@@ -309,17 +312,17 @@ Released: 2024-07-13
309
312
  * `config`: Command `remote_certificate` now takes a subcommand.
310
313
  * **global**: Moved a few internal classes in new/renamed modules
311
314
  * **global**: Deprecated pseudo transfer specification parameters starting with `EX_`:
312
- * `EX_ssh_key_paths`. Use spec `ssh_private_key` or option `transfer_info={"ascp_args":["-i","..."]}`
313
- * `EX_http_proxy_url`. Use option `transfer_info={"ascp_args":["-x","..."]}`
314
- * `EX_http_transfer_jpeg`. Use option `transfer_info={"ascp_args":["-j","1"]}`
315
- * `EX_no_read`. Use option `transfer_info={"ascp_args":["--no-read"]}`
316
- * `EX_no_write`. Use option `transfer_info={"ascp_args":["--no-write"]}`
317
- * `EX_file_list`. Use `ascli` file list feature or option `transfer_info={"ascp_args":["--file-list","..."]}`
318
- * `EX_file_pair_list`. Use `ascli` file list feature or option `transfer_info={"ascp_args":["--file-pair-list","..."]}`
319
- * `EX_ascp_args`. Use option `transfer_info={"ascp_args":[...]}`
320
- * `EX_at_rest_password`. Use spec parameter `content_protection_password`
321
- * `EX_proxy_password`. Set password in spec parameter `proxy` or use env var `ASPERA_PROXY_PASS`.
322
- * `EX_license_text`. Use env var `ASPERA_SCP_LICENSE`.
315
+ * `EX_ssh_key_paths`: Use spec `ssh_private_key` or option `transfer_info={"ascp_args":["-i","..."]}`
316
+ * `EX_http_proxy_url`: Use option `transfer_info={"ascp_args":["-x","..."]}`
317
+ * `EX_http_transfer_jpeg`: Use option `transfer_info={"ascp_args":["-j","1"]}`
318
+ * `EX_no_read`: Use option `transfer_info={"ascp_args":["--no-read"]}`
319
+ * `EX_no_write`: Use option `transfer_info={"ascp_args":["--no-write"]}`
320
+ * `EX_file_list`: Use `ascli` file list feature or option `transfer_info={"ascp_args":["--file-list","..."]}`
321
+ * `EX_file_pair_list`: Use `ascli` file list feature or option `transfer_info={"ascp_args":["--file-pair-list","..."]}`
322
+ * `EX_ascp_args`: Use option `transfer_info={"ascp_args":[...]}`
323
+ * `EX_at_rest_password`: Use spec parameter `content_protection_password`
324
+ * `EX_proxy_password`: Set password in spec parameter `proxy` or use env var `ASPERA_PROXY_PASS`.
325
+ * `EX_license_text`: Use env var `ASPERA_SCP_LICENSE`.
323
326
 
324
327
  ## 4.16.0
325
328
 
@@ -1053,7 +1056,7 @@ Released: 2021-02-03
1053
1056
 
1054
1057
  ### Breaking Changes
1055
1058
 
1056
- * **global**: @stdin is now @stdin
1059
+ * **global**: `@stdin` is now `@stdin:`
1057
1060
 
1058
1061
  ## 0.9.10
1059
1062
 
data/CONTRIBUTING.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Reporting Issues and Vulnerabilities
4
4
 
5
- If you encounter a problem or vulnerability, please report it at [GitHub Issues](https://github.com/IBM/aspera-cli/issues).
5
+ If you encounter a problem or a security vulnerability, please report it on [GitHub Issues](https://github.com/IBM/aspera-cli/issues).
6
6
 
7
7
  Before submitting a new issue:
8
8
 
@@ -16,8 +16,8 @@ To help us assist you efficiently, include the following in your report:
16
16
  ascli version
17
17
  ```
18
18
 
19
- - Confirmation that you're using the latest version (update if not).
20
- - The output of your Ruby environment:
19
+ - Confirmation that you are using the latest version (update it if needed).
20
+ - Your Ruby version information:
21
21
 
22
22
  ```bash
23
23
  ruby -v
@@ -29,7 +29,7 @@ We welcome contributions to improve the `aspera-cli` project!
29
29
 
30
30
  ### Getting Started
31
31
 
32
- Clone the repository and navigate to the project's main folder:
32
+ Clone the repository and navigate to the project's root directory:
33
33
 
34
34
  ```bash
35
35
  git clone https://github.com/IBM/aspera-cli.git
@@ -50,7 +50,7 @@ To submit a contribution:
50
50
 
51
51
  1. **Implement** your feature or bug fix.
52
52
 
53
- 1. **Write tests** to ensure your changes are robust and won’t break future versions.
53
+ 1. **Write tests** to ensure your changes are robust and prevent regressions.
54
54
 
55
55
  1. Run `rubocop` to ensure your code follows the Ruby style guide.
56
56
 
@@ -67,25 +67,25 @@ The overall architecture of `aspera-cli` is modular and extensible.
67
67
 
68
68
  ![Architecture](docs/architecture.png)
69
69
 
70
- Structure Highlights:
70
+ ### Structure Highlights
71
71
 
72
72
  - Entry Point:
73
73
 
74
- `lib/aspera/cli/main.rb` - This is where the CLI execution begins.
74
+ `lib/aspera/cli/main.rb`, CLI startup logic.
75
75
 
76
76
  - Plugins:
77
77
 
78
- Located in `lib/aspera/cli/plugins`, plugins extend CLI functionality and encapsulate specific features.
78
+ Located in `lib/aspera/cli/plugins`; plugins extend CLI functionality and encapsulate specific features.
79
79
 
80
80
  - Transfer Agents:
81
81
 
82
- Found in `lib/aspera/agent`, these handle data transfers operations.
82
+ Found in `lib/aspera/agent`, these handle data transfer operations.
83
83
 
84
- A list of classes are provided in <docs/uml.png>
84
+ Class diagrams are provided in <docs/uml.png>
85
85
 
86
- ## Ruby version
86
+ ## Ruby Environment
87
87
 
88
- `aspera-cli` is built with Ruby.
88
+ `aspera-cli` is written in Ruby.
89
89
  You can install Ruby using any method you prefer (e.g., `rbenv`, `rvm`, system package manager).
90
90
 
91
91
  To start with a clean state and remove all installed gems:
@@ -97,30 +97,28 @@ bundle exec rake tools:clean_gems
97
97
  > [!TIP]
98
98
  > This is especially useful before testing across different Ruby versions or preparing for a release.
99
99
 
100
- ## Tool chain
100
+ ## Toolchain
101
101
 
102
- TODO: document installation of tool chain.
103
-
104
- Build system uses Ruby's `rake`.
102
+ The build system uses Ruby's `rake`.
105
103
 
106
104
  ### Environment
107
105
 
108
- A few macros/env vars control some aspects:
106
+ A few macros and environment variables control certain aspects of the build:
109
107
 
110
- | Environment variable | Description |
111
- |-----------------------------|----------------------------------------------------|
112
- | `ASPERA_CLI_TEST_CONF_FILE` | Path to configuration file with secrets for tests. |
113
- | `ASPERA_CLI_DOC_CHECK_LINKS`| Check links still exist during doc generation. |
114
- | `LOG_LEVEL` | Change log level in `rake` tasks. |
115
- | `ENABLE_COVERAGE` | Tests with coverage analysis if set. |
116
- | `SIGNING_KEY` | Path to signing key to build Gem. |
117
- | `GEM_VERSION` | Override gem version for builds. |
108
+ | Environment variable | Description |
109
+ |-----------------------------|-----------------------------------------------------|
110
+ | `ASPERA_CLI_TEST_CONF_FILE` | Path to configuration file with secrets for tests. |
111
+ | `ASPERA_CLI_DOC_CHECK_LINKS`| Check links still exist during doc generation. |
112
+ | `LOG_LEVEL` | Change log level in `rake` tasks. |
113
+ | `ENABLE_COVERAGE` | Enable test coverage analysis when set. |
114
+ | `SIGNING_KEY` | Path to the signing key used to build the gem file. |
115
+ | `GEM_VERSION` | Override gem version for builds. |
118
116
 
119
- Those macros can be set either in an env var, or on the `rake` command line.
117
+ These can be set either as environment variables or directly on the `rake` command line.
120
118
 
121
119
  > [!NOTE]
122
- > Env vars `ASPERA_CLI_*` are typically set in user's shell profile for development.
123
- > Others are more for "one shot" use (on command line).
120
+ > Environment variables `ASPERA_CLI_*` are typically set in the users shell profile for development.
121
+ > Others are intended for one‑time use on the command line.
124
122
 
125
123
  To use the CLI directly from the development environment, add this to your shell profile (adapt the real path):
126
124
 
@@ -134,9 +132,9 @@ export RUBYLIB=$dev_ascli/lib:$RUBYLIB
134
132
 
135
133
  Documentation is generated with `pandoc` and `LaTeX`.
136
134
 
137
- IBM font `Plex` is used, for installation see [IBM Plex](https://www.ibm.com/plex/).
135
+ The IBM `Plex` font is used; for installation instructions, see [IBM Plex](https://www.ibm.com/plex/).
138
136
 
139
- On macOS to install `lualatex` and all packages:
137
+ On macOS, to install `lualatex` and all packages:
140
138
 
141
139
  ```bash
142
140
  brew install texlive
@@ -149,9 +147,9 @@ tlmgr update --self
149
147
  tlmgr install fvextra selnolig lualatex-math
150
148
  ```
151
149
 
152
- To check URL during doc generation, set env var: `ASPERA_CLI_DOC_CHECK_LINKS=1`.
150
+ To check URLs during documentation generation, set the environment variable: `ASPERA_CLI_DOC_CHECK_LINKS=1`.
153
151
 
154
- To debug doc generation, set env var: `ASPERA_CLI_DOC_DEBUG=debug`.
152
+ To debug documentation generation, set the environment variable: `ASPERA_CLI_DOC_DEBUG=debug`.
155
153
 
156
154
  ## Test Environment
157
155
 
@@ -172,7 +170,7 @@ If you don't want to install optional gems:
172
170
  bundle config set without optional
173
171
  ```
174
172
 
175
- Build beta version:
173
+ To build a beta version:
176
174
 
177
175
  ```bash
178
176
  export GEM_VERSION=$(env -u GEM_VERSION rake tools:version).$(date +%Y%m%d%H%M)
@@ -180,9 +178,9 @@ export GEM_VERSION=$(env -u GEM_VERSION rake tools:version).$(date +%Y%m%d%H%M)
180
178
 
181
179
  ### Signed gem
182
180
 
183
- A private key is required to generate a signed Gem.
184
- Its path must be set using envvar `SIGNING_KEY`.
185
- The gem is signed with the public certificate found in `certs` and the private key pointed by `SIGNING_KEY` (kept secret by maintainer).
181
+ A private key is required to generate a signed gem.
182
+ Its path must be set using environment variable `SIGNING_KEY`.
183
+ The gem is signed with the public certificate found in `certs` and the private key specified by `SIGNING_KEY` (kept secret by the maintainer).
186
184
 
187
185
  ```bash
188
186
  bundle exec rake build SIGNING_KEY=/path/to/vault/gem-private_key.pem
@@ -198,7 +196,7 @@ Update with:
198
196
  bundle exec rake tools:grpc
199
197
  ```
200
198
 
201
- It downloads the latest proto file and then compiles it.
199
+ It downloads the latest `proto` file and then compiles it.
202
200
 
203
201
  ## Container image build
204
202
 
@@ -214,16 +212,48 @@ To list operations:
214
212
  bundle exec rake -T ^binary:
215
213
  ```
216
214
 
217
- ## Development check list for new release
215
+ ## Release
216
+
217
+ ### Checklist before a new release
218
+
219
+ When preparing for a new release, do the following:
220
+
221
+ - Run the test suite:
222
+
223
+ ```bash
224
+ bundle exec rake test:run
225
+ ```
226
+
227
+ - Set beta version (to use the gem file built):
228
+
229
+ ```bash
230
+ export GEM_VERSION=$(env -u GEM_VERSION rake tools:version).$(date +%Y%m%d%H%M)
231
+ ```
232
+
233
+ - Verify that the container builds successfully (using the beta version):
234
+
235
+ ```bash
236
+ bundle exec rake container:build
237
+ bundle exec rake container:test
238
+ ```
239
+
240
+ ### Version Release Process
241
+
242
+ Once the development branch is ready for release:
243
+
244
+ - Decide on the version number
245
+
246
+ - Update the version in `lib/aspera/cli/version.rb`
218
247
 
219
- When preparing for a new release do the following:
248
+ - Execute `bundle exec rake release` (see `.github/workflows/deploy.yml`)
220
249
 
221
- - TODO
250
+ - It builds the `.gem` file in the `pkg` folder.
251
+ - Then runs `gem push`.
222
252
 
223
- ## Long Term Implementation and delivery improvements
253
+ ## LongTerm Implementation and Delivery Improvements
224
254
 
225
- - replace Rest and OAuth classes with ruby standard gems:
255
+ - Replace custom REST and OAuth classes with standard Ruby gems:
226
256
  - <https://github.com/rest-client/rest-client>
227
257
  - <https://github.com/oauth-xx/oauth2>
228
- - use gem Thor <http://whatisthor.com/> (or other standard Ruby CLI manager)
229
- - look at <https://github.com/phusion/traveling-ruby>
258
+ - Use the `thor` gem <http://whatisthor.com/> (or other standard Ruby CLI manager)
259
+ - Look at <https://github.com/phusion/traveling-ruby>