omnizip 0.4.9-arm-linux → 0.4.11-arm-linux
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 +4 -4
- data/.rubocop-oss.yml +814 -0
- data/.rubocop.yml +15 -1
- data/.rubocop_todo.yml +7 -1
- data/CHANGELOG.md +17 -0
- data/Gemfile +23 -1
- data/README.adoc +101 -1282
- data/docs/compatibility.adoc +1 -2
- data/docs/lychee.toml +1 -7
- data/lib/omnizip/algorithms/deflate/constants.rb +5 -3
- data/lib/omnizip/implementations/rust/archive.rb +9 -41
- data/lib/omnizip/implementations/rust/ffi_library.rb +127 -0
- data/lib/omnizip/implementations/rust/fiddle_library.rb +144 -0
- data/lib/omnizip/implementations/rust/library.rb +39 -104
- data/lib/omnizip/implementations/rust.rb +2 -0
- data/lib/omnizip/version.rb +1 -1
- data/lib/tasks/docs.rake +146 -0
- data/readme-docs/rar-archives.adoc +505 -0
- data/scripts/generate_rar_oracle_fixtures.rb +177 -0
- data/vendor/libomnizip_ffi.so +0 -0
- metadata +21 -74
- data/TODO.refactor/00-overview.md +0 -67
- data/TODO.refactor/01-registry-base-class.md +0 -81
- data/TODO.refactor/02-error-hierarchy.md +0 -57
- data/TODO.refactor/03-autoload-entry-point.md +0 -69
- data/TODO.refactor/04-filter-base-consolidation.md +0 -49
- data/TODO.refactor/05-send-private-methods.md +0 -64
- data/TODO.refactor/06-instance-variable-access.md +0 -69
- data/TODO.refactor/07-respond-to-replacement.md +0 -237
- data/TODO.refactor/08-spec-doubles.md +0 -27
- data/TODO.refactor/09-cli-shared-module.md +0 -35
- data/TODO.refactor/10-format-detector-ocp.md +0 -34
- data/TODO.refactor/11-convenience-decoupling.md +0 -38
- data/TODO.refactor/12-thread-safety.md +0 -8
- data/TODO.refactor/13-lutaml-model-migration.md +0 -158
- data/TODO.refactor/14-add-missing-specs.md +0 -25
- data/docs/.github/workflows/docs.yml +0 -142
- data/docs/.gitignore +0 -21
- data/docs/Gemfile +0 -13
- data/docs/README.md +0 -101
- data/docs/_config.yml +0 -112
- data/docs/comparison/feature-matrix.adoc +0 -694
- data/docs/comparison/index.adoc +0 -113
- data/docs/comparison/vs-7zip.adoc +0 -309
- data/docs/comparison/vs-peazip.adoc +0 -77
- data/docs/comparison/vs-rubyzip.adoc +0 -342
- data/docs/comparison/vs-winrar.adoc +0 -100
- data/docs/concepts/index.adoc +0 -129
- data/docs/developer/architecture.adoc +0 -256
- data/docs/developer/contributing.adoc +0 -158
- data/docs/developer/index.adoc +0 -25
- data/docs/developer/testing.adoc +0 -212
- data/docs/getting-started/basic-usage.adoc +0 -263
- data/docs/getting-started/index.adoc +0 -42
- data/docs/getting-started/installation.adoc +0 -138
- data/docs/getting-started/quick-start.adoc +0 -183
- data/docs/getting-started/your-first-archive.adoc +0 -219
- data/docs/guides/advanced-features/encryption.adoc +0 -277
- data/docs/guides/advanced-features/index.adoc +0 -59
- data/docs/guides/advanced-features/parallel-processing.adoc +0 -144
- data/docs/guides/advanced-features/progress-tracking.adoc +0 -124
- data/docs/guides/advanced-features/streaming.adoc +0 -142
- data/docs/guides/archive-formats/gzip-format.adoc +0 -105
- data/docs/guides/archive-formats/index.adoc +0 -160
- data/docs/guides/archive-formats/ole-format.adoc +0 -151
- data/docs/guides/archive-formats/rar-format.adoc +0 -104
- data/docs/guides/archive-formats/rar5.adoc +0 -521
- data/docs/guides/archive-formats/rpm-format.adoc +0 -108
- data/docs/guides/archive-formats/seven-zip-format.adoc +0 -35
- data/docs/guides/archive-formats/tar-format.adoc +0 -106
- data/docs/guides/archive-formats/xz-format.adoc +0 -118
- data/docs/guides/archive-formats/zip-format.adoc +0 -35
- data/docs/guides/compression-algorithms/bzip2.adoc +0 -114
- data/docs/guides/compression-algorithms/deflate.adoc +0 -313
- data/docs/guides/compression-algorithms/index.adoc +0 -190
- data/docs/guides/compression-algorithms/lzma.adoc +0 -394
- data/docs/guides/compression-algorithms/lzma2.adoc +0 -244
- data/docs/guides/compression-algorithms/ppmd.adoc +0 -313
- data/docs/guides/compression-algorithms/zstandard.adoc +0 -296
- data/docs/guides/creating-archives.adoc +0 -348
- data/docs/guides/extracting-archives.adoc +0 -53
- data/docs/guides/format-conversion.adoc +0 -64
- data/docs/guides/index.adoc +0 -49
- data/docs/guides/migration-rubyzip.adoc +0 -217
- data/docs/guides/parity-archives.adoc +0 -605
- data/docs/guides/performance-tuning.adoc +0 -88
- data/docs/index.adoc +0 -228
- data/docs/reference/api/overview.adoc +0 -187
- data/docs/reference/cli/compress-command.adoc +0 -114
- data/docs/reference/cli/overview.adoc +0 -140
- data/docs/reference/index.adoc +0 -26
- data/docs/resources/faq.adoc +0 -185
- data/docs/resources/quick-reference.adoc +0 -222
- data/docs/troubleshooting/index.adoc +0 -207
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# 14 — Add missing specs
|
|
2
|
-
|
|
3
|
-
Priority: **high**.
|
|
4
|
-
Status: TODO.
|
|
5
|
-
|
|
6
|
-
## Plan
|
|
7
|
-
|
|
8
|
-
Add or strengthen specs for:
|
|
9
|
-
|
|
10
|
-
1. `Omnizip::Registry` (new base class from track 01) — register / get /
|
|
11
|
-
registered? / available / reset! / thread-safety smoke test / custom
|
|
12
|
-
not-found error.
|
|
13
|
-
2. `Omnizip::Error` hierarchy (track 02) — confirm inheritance and
|
|
14
|
-
aliases.
|
|
15
|
-
3. `Omnizip::Cli::Shared` (track 09) — `handle_error` and
|
|
16
|
-
`format_bytes`.
|
|
17
|
-
4. `Omnizip::IO::Source` / `Omnizip::IO::Sink` (track 07) — adapter
|
|
18
|
-
behavior for String / StringIO / File / Pathname.
|
|
19
|
-
5. Promoted public methods (track 05) — wherever a method moves from
|
|
20
|
-
private to public, ensure a spec covers its new visibility.
|
|
21
|
-
|
|
22
|
-
## Acceptance
|
|
23
|
-
|
|
24
|
-
- All new specs pass.
|
|
25
|
-
- No `double()` introduced.
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
name: Documentation
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches:
|
|
6
|
-
- main
|
|
7
|
-
- master
|
|
8
|
-
paths:
|
|
9
|
-
- 'docs/**'
|
|
10
|
-
- '.github/workflows/docs.yml'
|
|
11
|
-
pull_request:
|
|
12
|
-
paths:
|
|
13
|
-
- 'docs/**'
|
|
14
|
-
- '.github/workflows/docs.yml'
|
|
15
|
-
|
|
16
|
-
jobs:
|
|
17
|
-
build:
|
|
18
|
-
name: Build Jekyll Site
|
|
19
|
-
runs-on: ubuntu-latest
|
|
20
|
-
|
|
21
|
-
steps:
|
|
22
|
-
- name: Checkout repository
|
|
23
|
-
uses: actions/checkout@v4
|
|
24
|
-
|
|
25
|
-
- name: Setup Ruby
|
|
26
|
-
uses: ruby/setup-ruby@v1
|
|
27
|
-
with:
|
|
28
|
-
ruby-version: '3.2'
|
|
29
|
-
bundler-cache: false
|
|
30
|
-
|
|
31
|
-
- name: Cache dependencies
|
|
32
|
-
uses: actions/cache@v4
|
|
33
|
-
with:
|
|
34
|
-
path: docs/vendor/bundle
|
|
35
|
-
key: ${{ runner.os }}-gems-${{ hashFiles('docs/Gemfile.lock') }}
|
|
36
|
-
restore-keys: |
|
|
37
|
-
${{ runner.os }}-gems-
|
|
38
|
-
|
|
39
|
-
- name: Install dependencies
|
|
40
|
-
run: |
|
|
41
|
-
cd docs
|
|
42
|
-
bundle config path vendor/bundle
|
|
43
|
-
bundle install --jobs 4 --retry 3
|
|
44
|
-
|
|
45
|
-
- name: Build Jekyll site
|
|
46
|
-
run: |
|
|
47
|
-
cd docs
|
|
48
|
-
bundle exec jekyll build --trace
|
|
49
|
-
env:
|
|
50
|
-
JEKYLL_ENV: production
|
|
51
|
-
|
|
52
|
-
- name: Upload build artifact
|
|
53
|
-
uses: actions/upload-artifact@v4
|
|
54
|
-
with:
|
|
55
|
-
name: site
|
|
56
|
-
path: docs/_site
|
|
57
|
-
retention-days: 7
|
|
58
|
-
|
|
59
|
-
link-check:
|
|
60
|
-
name: Check Links
|
|
61
|
-
runs-on: ubuntu-latest
|
|
62
|
-
needs: build
|
|
63
|
-
continue-on-error: true
|
|
64
|
-
|
|
65
|
-
steps:
|
|
66
|
-
- name: Checkout repository
|
|
67
|
-
uses: actions/checkout@v4
|
|
68
|
-
|
|
69
|
-
- name: Download build artifact
|
|
70
|
-
uses: actions/download-artifact@v4
|
|
71
|
-
with:
|
|
72
|
-
name: site
|
|
73
|
-
path: docs/_site
|
|
74
|
-
|
|
75
|
-
- name: Install lychee
|
|
76
|
-
run: |
|
|
77
|
-
curl -sSL https://github.com/lycheeverse/lychee/releases/download/lychee-v0.22.0/lychee-x86_64-unknown-linux-gnu.tar.gz | tar -xz
|
|
78
|
-
sudo mv lychee /usr/local/bin/
|
|
79
|
-
|
|
80
|
-
- name: Run link checker
|
|
81
|
-
run: |
|
|
82
|
-
cd docs
|
|
83
|
-
lychee --config .lychee.toml _site --format markdown --output lychee-report.md
|
|
84
|
-
continue-on-error: true
|
|
85
|
-
|
|
86
|
-
- name: Display link check summary
|
|
87
|
-
if: always()
|
|
88
|
-
run: |
|
|
89
|
-
cd docs
|
|
90
|
-
if [ -f lychee-report.md ]; then
|
|
91
|
-
echo "## Link Check Results" >> $GITHUB_STEP_SUMMARY
|
|
92
|
-
cat lychee-report.md >> $GITHUB_STEP_SUMMARY
|
|
93
|
-
fi
|
|
94
|
-
|
|
95
|
-
- name: Check for broken links
|
|
96
|
-
run: |
|
|
97
|
-
cd docs
|
|
98
|
-
lychee --config .lychee.toml _site
|
|
99
|
-
|
|
100
|
-
validate-structure:
|
|
101
|
-
name: Validate Documentation Structure
|
|
102
|
-
runs-on: ubuntu-latest
|
|
103
|
-
|
|
104
|
-
steps:
|
|
105
|
-
- name: Checkout repository
|
|
106
|
-
uses: actions/checkout@v4
|
|
107
|
-
|
|
108
|
-
- name: Check for required files
|
|
109
|
-
run: |
|
|
110
|
-
cd docs
|
|
111
|
-
required_files=(
|
|
112
|
-
"index.adoc"
|
|
113
|
-
"README.md"
|
|
114
|
-
"_config.yml"
|
|
115
|
-
"Gemfile"
|
|
116
|
-
".lychee.toml"
|
|
117
|
-
)
|
|
118
|
-
missing_files=()
|
|
119
|
-
for file in "${required_files[@]}"; do
|
|
120
|
-
if [ ! -f "$file" ]; then
|
|
121
|
-
missing_files+=("$file")
|
|
122
|
-
fi
|
|
123
|
-
done
|
|
124
|
-
if [ ${#missing_files[@]} -gt 0 ]; then
|
|
125
|
-
echo "Missing required files:"
|
|
126
|
-
printf '%s\n' "${missing_files[@]}"
|
|
127
|
-
exit 1
|
|
128
|
-
fi
|
|
129
|
-
|
|
130
|
-
summary:
|
|
131
|
-
name: Build Summary
|
|
132
|
-
runs-on: ubuntu-latest
|
|
133
|
-
needs: [build, link-check, validate-structure]
|
|
134
|
-
if: always()
|
|
135
|
-
|
|
136
|
-
steps:
|
|
137
|
-
- name: Generate summary
|
|
138
|
-
run: |
|
|
139
|
-
echo "## Documentation Build Summary" >> $GITHUB_STEP_SUMMARY
|
|
140
|
-
echo "Jekyll build completed" >> $GITHUB_STEP_SUMMARY
|
|
141
|
-
echo "Link validation completed" >> $GITHUB_STEP_SUMMARY
|
|
142
|
-
echo "Structure validation completed" >> $GITHUB_STEP_SUMMARY
|
data/docs/.gitignore
DELETED
data/docs/Gemfile
DELETED
data/docs/README.md
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
# Omnizip Documentation
|
|
2
|
-
|
|
3
|
-
This directory contains the documentation site for Omnizip, built with [Jekyll](https://jekyllrb.com/) and the [Just the Docs](https://just-the-docs.github.io/just-the-docs/) theme.
|
|
4
|
-
|
|
5
|
-
## Building the Documentation Site
|
|
6
|
-
|
|
7
|
-
### Prerequisites
|
|
8
|
-
|
|
9
|
-
- Ruby 3.0 or higher
|
|
10
|
-
- Bundler
|
|
11
|
-
|
|
12
|
-
### Installation
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
cd docs
|
|
16
|
-
bundle install
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
### Building
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
bundle exec jekyll build
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
The built site will be in the `_site` directory.
|
|
26
|
-
|
|
27
|
-
### Serving Locally
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
bundle exec jekyll serve
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Then open http://localhost:4000/omnizip/ in your browser.
|
|
34
|
-
|
|
35
|
-
## Documentation Structure
|
|
36
|
-
|
|
37
|
-
```
|
|
38
|
-
docs/
|
|
39
|
-
├── index.adoc # Home page
|
|
40
|
-
├── getting-started/ # Installation and quick start guides
|
|
41
|
-
├── guides/ # Comprehensive usage guides
|
|
42
|
-
│ ├── basic-usage/ # Basic operations
|
|
43
|
-
│ ├── advanced-usage/ # Advanced features
|
|
44
|
-
│ ├── compression-algorithms/ # Algorithm documentation
|
|
45
|
-
│ ├── archive-formats/ # Format documentation
|
|
46
|
-
│ └── filters/ # Filter documentation
|
|
47
|
-
├── reference/ # Technical reference
|
|
48
|
-
│ ├── cli/ # CLI documentation
|
|
49
|
-
│ └── api/ # Ruby API documentation
|
|
50
|
-
├── resources/ # Additional resources
|
|
51
|
-
├── concepts/ # Core concepts
|
|
52
|
-
├── developer/ # Development documentation
|
|
53
|
-
├── examples/ # Usage examples
|
|
54
|
-
└── troubleshooting/ # Troubleshooting guides
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## Writing Documentation
|
|
58
|
-
|
|
59
|
-
Documentation is written in [AsciiDoc](https://asciidoctor.org/) format. Each page should start with YAML front matter:
|
|
60
|
-
|
|
61
|
-
```yaml
|
|
62
|
-
---
|
|
63
|
-
title: Page Title
|
|
64
|
-
nav_order: 1
|
|
65
|
-
---
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### Linking
|
|
69
|
-
|
|
70
|
-
Use AsciiDoc link syntax:
|
|
71
|
-
|
|
72
|
-
- Internal link: `link:path/to/page.adoc[Link text]`
|
|
73
|
-
- External link: `https://example.com[Link text]`
|
|
74
|
-
|
|
75
|
-
### Code Blocks
|
|
76
|
-
|
|
77
|
-
Use source code blocks with syntax highlighting:
|
|
78
|
-
|
|
79
|
-
```asciidoc
|
|
80
|
-
[source,ruby]
|
|
81
|
-
----
|
|
82
|
-
require 'omnizip'
|
|
83
|
-
----
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
## Checking Links
|
|
87
|
-
|
|
88
|
-
The documentation site includes a link checker using [lychee](https://github.com/lycheeverse/lychee). To check links:
|
|
89
|
-
|
|
90
|
-
```bash
|
|
91
|
-
# Install lychee
|
|
92
|
-
cargo install lychee
|
|
93
|
-
|
|
94
|
-
# Run link checker
|
|
95
|
-
cd docs
|
|
96
|
-
lychee --config .lychee.toml _site
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## License
|
|
100
|
-
|
|
101
|
-
Copyright 2025 Ribose Inc.
|
data/docs/_config.yml
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
title: "Omnizip documentation"
|
|
2
|
-
description: Pure Ruby compression library with support for LZMA, LZMA2, BZip2, PPMd7/8, Deflate, Deflate64, Zstandard, and multiple archive formats (.7z, ZIP, RAR, TAR, ISO, CPIO, GZIP, XZ, BZIP2).
|
|
3
|
-
url: https://metanorma.github.io
|
|
4
|
-
baseurl: /omnizip
|
|
5
|
-
|
|
6
|
-
theme: just-the-docs
|
|
7
|
-
remote_theme: just-the-docs/just-the-docs
|
|
8
|
-
|
|
9
|
-
# AsciiDoc support
|
|
10
|
-
asciidoc: {}
|
|
11
|
-
asciidoctor:
|
|
12
|
-
attributes:
|
|
13
|
-
- idprefix=_
|
|
14
|
-
- source-highlighter=rouge
|
|
15
|
-
- icons=font
|
|
16
|
-
- experimental=''
|
|
17
|
-
|
|
18
|
-
plugins:
|
|
19
|
-
- jekyll-asciidoc
|
|
20
|
-
- jekyll-seo-tag
|
|
21
|
-
|
|
22
|
-
# Search configuration
|
|
23
|
-
search_enabled: true
|
|
24
|
-
search:
|
|
25
|
-
heading_level: 3
|
|
26
|
-
previews: 3
|
|
27
|
-
preview_words_before: 5
|
|
28
|
-
preview_words_after: 10
|
|
29
|
-
tokenizer_separator: /[\s/]+/
|
|
30
|
-
button: true
|
|
31
|
-
|
|
32
|
-
# Enable copy button for code snippets
|
|
33
|
-
enable_copy_code_button: true
|
|
34
|
-
|
|
35
|
-
# Navigation
|
|
36
|
-
nav_sort: case_insensitive
|
|
37
|
-
|
|
38
|
-
# Footer
|
|
39
|
-
footer_content: 'Copyright © 2025 Ribose Inc.'
|
|
40
|
-
|
|
41
|
-
# Color scheme - supports dark mode toggle
|
|
42
|
-
color_scheme: light
|
|
43
|
-
|
|
44
|
-
# Enable dark mode toggle
|
|
45
|
-
color_schemes:
|
|
46
|
-
light:
|
|
47
|
-
name: Light
|
|
48
|
-
dark:
|
|
49
|
-
name: Dark
|
|
50
|
-
|
|
51
|
-
# Allow users to toggle between themes
|
|
52
|
-
color_scheme_toggle:
|
|
53
|
-
enabled: true
|
|
54
|
-
|
|
55
|
-
# Logo
|
|
56
|
-
logo: "/assets/logo.svg"
|
|
57
|
-
|
|
58
|
-
# Auxiliary links
|
|
59
|
-
aux_links:
|
|
60
|
-
"Omnizip on GitHub":
|
|
61
|
-
- "https://github.com/metanorma/omnizip"
|
|
62
|
-
"Report Issue":
|
|
63
|
-
- "https://github.com/metanorma/omnizip/issues"
|
|
64
|
-
|
|
65
|
-
aux_links_new_tab: true
|
|
66
|
-
|
|
67
|
-
# Heading anchors
|
|
68
|
-
heading_anchors: true
|
|
69
|
-
|
|
70
|
-
# Back to top
|
|
71
|
-
back_to_top: true
|
|
72
|
-
back_to_top_text: "Back to top"
|
|
73
|
-
|
|
74
|
-
# Mermaid diagram support
|
|
75
|
-
mermaid:
|
|
76
|
-
version: "10.6.0"
|
|
77
|
-
|
|
78
|
-
# Last modified timestamps
|
|
79
|
-
last_edit_timestamp: true
|
|
80
|
-
last_edit_time_format: "%b %e %Y at %I:%M %p"
|
|
81
|
-
|
|
82
|
-
# Edit on GitHub links
|
|
83
|
-
gh_edit_link: true
|
|
84
|
-
gh_edit_link_text: "Edit this page on GitHub"
|
|
85
|
-
gh_edit_repository: "https://github.com/metanorma/omnizip"
|
|
86
|
-
gh_edit_branch: "main"
|
|
87
|
-
gh_edit_source: docs
|
|
88
|
-
gh_edit_view_mode: "edit"
|
|
89
|
-
|
|
90
|
-
# Defaults
|
|
91
|
-
defaults:
|
|
92
|
-
- scope:
|
|
93
|
-
path: ""
|
|
94
|
-
type: "pages"
|
|
95
|
-
values:
|
|
96
|
-
layout: "default"
|
|
97
|
-
nav_exclude: false
|
|
98
|
-
|
|
99
|
-
# Include files
|
|
100
|
-
include:
|
|
101
|
-
- "*.adoc"
|
|
102
|
-
- "_diagrams"
|
|
103
|
-
- "assets"
|
|
104
|
-
|
|
105
|
-
# Exclude files
|
|
106
|
-
exclude:
|
|
107
|
-
- Gemfile
|
|
108
|
-
- Gemfile.lock
|
|
109
|
-
- README.md
|
|
110
|
-
|
|
111
|
-
# Permalink structure
|
|
112
|
-
permalink: pretty
|