jrl-cmakemodules-scripts 2.0.0__tar.gz
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.
- jrl_cmakemodules_scripts-2.0.0/PKG-INFO +99 -0
- jrl_cmakemodules_scripts-2.0.0/README.md +81 -0
- jrl_cmakemodules_scripts-2.0.0/jrl_cmakemodules_scripts.egg-info/PKG-INFO +99 -0
- jrl_cmakemodules_scripts-2.0.0/jrl_cmakemodules_scripts.egg-info/SOURCES.txt +10 -0
- jrl_cmakemodules_scripts-2.0.0/jrl_cmakemodules_scripts.egg-info/dependency_links.txt +1 -0
- jrl_cmakemodules_scripts-2.0.0/jrl_cmakemodules_scripts.egg-info/entry_points.txt +2 -0
- jrl_cmakemodules_scripts-2.0.0/jrl_cmakemodules_scripts.egg-info/requires.txt +10 -0
- jrl_cmakemodules_scripts-2.0.0/jrl_cmakemodules_scripts.egg-info/top_level.txt +1 -0
- jrl_cmakemodules_scripts-2.0.0/jrl_release.py +1433 -0
- jrl_cmakemodules_scripts-2.0.0/pyproject.toml +43 -0
- jrl_cmakemodules_scripts-2.0.0/setup.cfg +4 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: jrl-cmakemodules-scripts
|
|
3
|
+
Version: 2.0.0
|
|
4
|
+
Summary: Release scripting tools for JRL CMake modules
|
|
5
|
+
License: BSD-3-Clause
|
|
6
|
+
Project-URL: homepage, https://github.com/jrl-umi3218/jrl-cmakemodules
|
|
7
|
+
Requires-Python: >=3.10
|
|
8
|
+
Description-Content-Type: text/markdown
|
|
9
|
+
Requires-Dist: tomlkit>=0.11.0
|
|
10
|
+
Requires-Dist: ruamel.yaml>=0.17.0
|
|
11
|
+
Requires-Dist: rich>=12.0.0
|
|
12
|
+
Requires-Dist: packaging>=21.0
|
|
13
|
+
Requires-Dist: cmake-parser>=0.1.0
|
|
14
|
+
Provides-Extra: test
|
|
15
|
+
Requires-Dist: pytest>=8.0.0; extra == "test"
|
|
16
|
+
Requires-Dist: pytest-cov>=5.0.0; extra == "test"
|
|
17
|
+
Requires-Dist: pytest-mock>=3.12.0; extra == "test"
|
|
18
|
+
|
|
19
|
+
# jrl_release.py
|
|
20
|
+
|
|
21
|
+
Version management script for multi-format projects. Keeps version strings in sync across all tracked files and automates the release process.
|
|
22
|
+
|
|
23
|
+
## Usage
|
|
24
|
+
|
|
25
|
+
The tool can be invoked two equivalent ways:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# Installed console command — after `pip install .` / `uv tool install .`, or inside `uv run`
|
|
29
|
+
jrl-release [OPTIONS]
|
|
30
|
+
|
|
31
|
+
# Standalone, no install — runs the script directly via uv (PEP 723 inline deps)
|
|
32
|
+
uv run --no-project jrl_release.py [OPTIONS]
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
> The standalone form requires [`uv`](https://docs.astral.sh/uv/); it auto-installs dependencies from the script's inline metadata.
|
|
36
|
+
|
|
37
|
+
The examples below use the installed `jrl-release` form. If you haven't installed it, prefix-swap `jrl-release` → `uv run --no-project jrl_release.py`.
|
|
38
|
+
|
|
39
|
+
## Common Commands
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# Check that all files agree on the current version
|
|
43
|
+
jrl-release --check-version
|
|
44
|
+
|
|
45
|
+
# Bump version
|
|
46
|
+
jrl-release --bump patch # 1.0.0 -> 1.0.1
|
|
47
|
+
jrl-release --bump minor # 1.0.0 -> 1.1.0
|
|
48
|
+
jrl-release --bump major # 1.0.0 -> 2.0.0
|
|
49
|
+
|
|
50
|
+
# Set a specific version
|
|
51
|
+
jrl-release --update-version 1.2.3
|
|
52
|
+
|
|
53
|
+
# Bump, commit and tag in one step
|
|
54
|
+
jrl-release --bump patch --git-commit --git-tag
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Options
|
|
58
|
+
|
|
59
|
+
| Option | Description |
|
|
60
|
+
| :--- | :--- |
|
|
61
|
+
| `--root <PATH>` | Project root (default: cwd). |
|
|
62
|
+
| `--bump <major\|minor\|patch>` | Bump version component. |
|
|
63
|
+
| `--update-version <X.Y.Z>` | Set a specific version. |
|
|
64
|
+
| `--dry-run` | Show changes without writing files. |
|
|
65
|
+
| `--short` | Print only the version string. |
|
|
66
|
+
| `--output-format <text\|json>` | Output format (default: text). |
|
|
67
|
+
| `--confirm` | Skip interactive prompts. |
|
|
68
|
+
| `--list-files` | List tracked files. |
|
|
69
|
+
| `--git-commit [MSG]` | Commit changes. Optional message (`{version}` placeholder). |
|
|
70
|
+
| `--git-tag [NAME]` | Create a tag. Optional name (`{version}` placeholder). |
|
|
71
|
+
| `--git-tag-message <MSG>` | Tag annotation (`{version}` placeholder). |
|
|
72
|
+
|
|
73
|
+
**Git defaults**: commit `chore: bump version to {version}`, tag `v{version}`, tag message `Release version {version}`.
|
|
74
|
+
|
|
75
|
+
## Supported Files
|
|
76
|
+
|
|
77
|
+
| File | Key |
|
|
78
|
+
| :--- | :--- |
|
|
79
|
+
| `package.xml` | `<version>` tag |
|
|
80
|
+
| `pyproject.toml` | `project.version` |
|
|
81
|
+
| `CHANGELOG.md` | First `## [X.Y.Z]` section (not Unreleased) |
|
|
82
|
+
| `pixi.toml` | `[workspace] version` |
|
|
83
|
+
| `pixi.lock` | Regenerated via `pixi list` |
|
|
84
|
+
| `CITATION.cff` | `version` key |
|
|
85
|
+
| `CMakeLists.txt` | `project(... VERSION X.Y.Z ...)` |
|
|
86
|
+
|
|
87
|
+
> Requires `pixi` CLI if `pixi.lock` exists in the project root.
|
|
88
|
+
|
|
89
|
+
## Testing
|
|
90
|
+
|
|
91
|
+
The unit tests live in [`test_jrl_release.py`](test_jrl_release.py) and can be run two ways:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
# Standalone (PEP 723 inline metadata, no install needed)
|
|
95
|
+
uv run --no-project test_jrl_release.py
|
|
96
|
+
|
|
97
|
+
# Via the project's test extra (from the repo root)
|
|
98
|
+
uv run --extra test pytest
|
|
99
|
+
```
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# jrl_release.py
|
|
2
|
+
|
|
3
|
+
Version management script for multi-format projects. Keeps version strings in sync across all tracked files and automates the release process.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
The tool can be invoked two equivalent ways:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Installed console command — after `pip install .` / `uv tool install .`, or inside `uv run`
|
|
11
|
+
jrl-release [OPTIONS]
|
|
12
|
+
|
|
13
|
+
# Standalone, no install — runs the script directly via uv (PEP 723 inline deps)
|
|
14
|
+
uv run --no-project jrl_release.py [OPTIONS]
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
> The standalone form requires [`uv`](https://docs.astral.sh/uv/); it auto-installs dependencies from the script's inline metadata.
|
|
18
|
+
|
|
19
|
+
The examples below use the installed `jrl-release` form. If you haven't installed it, prefix-swap `jrl-release` → `uv run --no-project jrl_release.py`.
|
|
20
|
+
|
|
21
|
+
## Common Commands
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# Check that all files agree on the current version
|
|
25
|
+
jrl-release --check-version
|
|
26
|
+
|
|
27
|
+
# Bump version
|
|
28
|
+
jrl-release --bump patch # 1.0.0 -> 1.0.1
|
|
29
|
+
jrl-release --bump minor # 1.0.0 -> 1.1.0
|
|
30
|
+
jrl-release --bump major # 1.0.0 -> 2.0.0
|
|
31
|
+
|
|
32
|
+
# Set a specific version
|
|
33
|
+
jrl-release --update-version 1.2.3
|
|
34
|
+
|
|
35
|
+
# Bump, commit and tag in one step
|
|
36
|
+
jrl-release --bump patch --git-commit --git-tag
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Options
|
|
40
|
+
|
|
41
|
+
| Option | Description |
|
|
42
|
+
| :--- | :--- |
|
|
43
|
+
| `--root <PATH>` | Project root (default: cwd). |
|
|
44
|
+
| `--bump <major\|minor\|patch>` | Bump version component. |
|
|
45
|
+
| `--update-version <X.Y.Z>` | Set a specific version. |
|
|
46
|
+
| `--dry-run` | Show changes without writing files. |
|
|
47
|
+
| `--short` | Print only the version string. |
|
|
48
|
+
| `--output-format <text\|json>` | Output format (default: text). |
|
|
49
|
+
| `--confirm` | Skip interactive prompts. |
|
|
50
|
+
| `--list-files` | List tracked files. |
|
|
51
|
+
| `--git-commit [MSG]` | Commit changes. Optional message (`{version}` placeholder). |
|
|
52
|
+
| `--git-tag [NAME]` | Create a tag. Optional name (`{version}` placeholder). |
|
|
53
|
+
| `--git-tag-message <MSG>` | Tag annotation (`{version}` placeholder). |
|
|
54
|
+
|
|
55
|
+
**Git defaults**: commit `chore: bump version to {version}`, tag `v{version}`, tag message `Release version {version}`.
|
|
56
|
+
|
|
57
|
+
## Supported Files
|
|
58
|
+
|
|
59
|
+
| File | Key |
|
|
60
|
+
| :--- | :--- |
|
|
61
|
+
| `package.xml` | `<version>` tag |
|
|
62
|
+
| `pyproject.toml` | `project.version` |
|
|
63
|
+
| `CHANGELOG.md` | First `## [X.Y.Z]` section (not Unreleased) |
|
|
64
|
+
| `pixi.toml` | `[workspace] version` |
|
|
65
|
+
| `pixi.lock` | Regenerated via `pixi list` |
|
|
66
|
+
| `CITATION.cff` | `version` key |
|
|
67
|
+
| `CMakeLists.txt` | `project(... VERSION X.Y.Z ...)` |
|
|
68
|
+
|
|
69
|
+
> Requires `pixi` CLI if `pixi.lock` exists in the project root.
|
|
70
|
+
|
|
71
|
+
## Testing
|
|
72
|
+
|
|
73
|
+
The unit tests live in [`test_jrl_release.py`](test_jrl_release.py) and can be run two ways:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# Standalone (PEP 723 inline metadata, no install needed)
|
|
77
|
+
uv run --no-project test_jrl_release.py
|
|
78
|
+
|
|
79
|
+
# Via the project's test extra (from the repo root)
|
|
80
|
+
uv run --extra test pytest
|
|
81
|
+
```
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: jrl-cmakemodules-scripts
|
|
3
|
+
Version: 2.0.0
|
|
4
|
+
Summary: Release scripting tools for JRL CMake modules
|
|
5
|
+
License: BSD-3-Clause
|
|
6
|
+
Project-URL: homepage, https://github.com/jrl-umi3218/jrl-cmakemodules
|
|
7
|
+
Requires-Python: >=3.10
|
|
8
|
+
Description-Content-Type: text/markdown
|
|
9
|
+
Requires-Dist: tomlkit>=0.11.0
|
|
10
|
+
Requires-Dist: ruamel.yaml>=0.17.0
|
|
11
|
+
Requires-Dist: rich>=12.0.0
|
|
12
|
+
Requires-Dist: packaging>=21.0
|
|
13
|
+
Requires-Dist: cmake-parser>=0.1.0
|
|
14
|
+
Provides-Extra: test
|
|
15
|
+
Requires-Dist: pytest>=8.0.0; extra == "test"
|
|
16
|
+
Requires-Dist: pytest-cov>=5.0.0; extra == "test"
|
|
17
|
+
Requires-Dist: pytest-mock>=3.12.0; extra == "test"
|
|
18
|
+
|
|
19
|
+
# jrl_release.py
|
|
20
|
+
|
|
21
|
+
Version management script for multi-format projects. Keeps version strings in sync across all tracked files and automates the release process.
|
|
22
|
+
|
|
23
|
+
## Usage
|
|
24
|
+
|
|
25
|
+
The tool can be invoked two equivalent ways:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# Installed console command — after `pip install .` / `uv tool install .`, or inside `uv run`
|
|
29
|
+
jrl-release [OPTIONS]
|
|
30
|
+
|
|
31
|
+
# Standalone, no install — runs the script directly via uv (PEP 723 inline deps)
|
|
32
|
+
uv run --no-project jrl_release.py [OPTIONS]
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
> The standalone form requires [`uv`](https://docs.astral.sh/uv/); it auto-installs dependencies from the script's inline metadata.
|
|
36
|
+
|
|
37
|
+
The examples below use the installed `jrl-release` form. If you haven't installed it, prefix-swap `jrl-release` → `uv run --no-project jrl_release.py`.
|
|
38
|
+
|
|
39
|
+
## Common Commands
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# Check that all files agree on the current version
|
|
43
|
+
jrl-release --check-version
|
|
44
|
+
|
|
45
|
+
# Bump version
|
|
46
|
+
jrl-release --bump patch # 1.0.0 -> 1.0.1
|
|
47
|
+
jrl-release --bump minor # 1.0.0 -> 1.1.0
|
|
48
|
+
jrl-release --bump major # 1.0.0 -> 2.0.0
|
|
49
|
+
|
|
50
|
+
# Set a specific version
|
|
51
|
+
jrl-release --update-version 1.2.3
|
|
52
|
+
|
|
53
|
+
# Bump, commit and tag in one step
|
|
54
|
+
jrl-release --bump patch --git-commit --git-tag
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Options
|
|
58
|
+
|
|
59
|
+
| Option | Description |
|
|
60
|
+
| :--- | :--- |
|
|
61
|
+
| `--root <PATH>` | Project root (default: cwd). |
|
|
62
|
+
| `--bump <major\|minor\|patch>` | Bump version component. |
|
|
63
|
+
| `--update-version <X.Y.Z>` | Set a specific version. |
|
|
64
|
+
| `--dry-run` | Show changes without writing files. |
|
|
65
|
+
| `--short` | Print only the version string. |
|
|
66
|
+
| `--output-format <text\|json>` | Output format (default: text). |
|
|
67
|
+
| `--confirm` | Skip interactive prompts. |
|
|
68
|
+
| `--list-files` | List tracked files. |
|
|
69
|
+
| `--git-commit [MSG]` | Commit changes. Optional message (`{version}` placeholder). |
|
|
70
|
+
| `--git-tag [NAME]` | Create a tag. Optional name (`{version}` placeholder). |
|
|
71
|
+
| `--git-tag-message <MSG>` | Tag annotation (`{version}` placeholder). |
|
|
72
|
+
|
|
73
|
+
**Git defaults**: commit `chore: bump version to {version}`, tag `v{version}`, tag message `Release version {version}`.
|
|
74
|
+
|
|
75
|
+
## Supported Files
|
|
76
|
+
|
|
77
|
+
| File | Key |
|
|
78
|
+
| :--- | :--- |
|
|
79
|
+
| `package.xml` | `<version>` tag |
|
|
80
|
+
| `pyproject.toml` | `project.version` |
|
|
81
|
+
| `CHANGELOG.md` | First `## [X.Y.Z]` section (not Unreleased) |
|
|
82
|
+
| `pixi.toml` | `[workspace] version` |
|
|
83
|
+
| `pixi.lock` | Regenerated via `pixi list` |
|
|
84
|
+
| `CITATION.cff` | `version` key |
|
|
85
|
+
| `CMakeLists.txt` | `project(... VERSION X.Y.Z ...)` |
|
|
86
|
+
|
|
87
|
+
> Requires `pixi` CLI if `pixi.lock` exists in the project root.
|
|
88
|
+
|
|
89
|
+
## Testing
|
|
90
|
+
|
|
91
|
+
The unit tests live in [`test_jrl_release.py`](test_jrl_release.py) and can be run two ways:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
# Standalone (PEP 723 inline metadata, no install needed)
|
|
95
|
+
uv run --no-project test_jrl_release.py
|
|
96
|
+
|
|
97
|
+
# Via the project's test extra (from the repo root)
|
|
98
|
+
uv run --extra test pytest
|
|
99
|
+
```
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
README.md
|
|
2
|
+
jrl_release.py
|
|
3
|
+
pyproject.toml
|
|
4
|
+
./jrl_release.py
|
|
5
|
+
jrl_cmakemodules_scripts.egg-info/PKG-INFO
|
|
6
|
+
jrl_cmakemodules_scripts.egg-info/SOURCES.txt
|
|
7
|
+
jrl_cmakemodules_scripts.egg-info/dependency_links.txt
|
|
8
|
+
jrl_cmakemodules_scripts.egg-info/entry_points.txt
|
|
9
|
+
jrl_cmakemodules_scripts.egg-info/requires.txt
|
|
10
|
+
jrl_cmakemodules_scripts.egg-info/top_level.txt
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
jrl_release
|