0.0.3 • Published 4 months ago
@omy.dev/omy-build-tool v0.0.3
OMY BUILD TOOL
WARNING:
This package is under development and not recommended for general use as breaking changes will be introduced.
Universal dev workspace and build management tool
This is a cli tool to manage a workspace consisting of heterogenous git repos
Usage Guide
─────────────────────────────────────────────────────────────────
omy --help
─────────────────────────────────────────────────────────────────
omy <cmd> [args]
Commands:
omy ws Workspace management subcommand
omy run Run a target defined in workspace.json
Options:
--version Show version number [boolean]
--help Show help [boolean]
─────────────────────────────────────────────────────────────────
Workspace Management
─────────────────────────────────────────────────────────────────
omy ws --help
─────────────────────────────────────────────────────────────────
omy ws
Workspace management subcommand
Commands:
omy ws init Initialize workspace in current empty directory
omy ws add package Add package to workspace
omy ws remove package Remove package from workspace
Options:
--version Show version number [boolean]
--help Show help [boolean]
─────────────────────────────────────────────────────────────────
Initialize workspace in an empty directory
─────────────────────────────────────────────────────────────────
omy ws init
─────────────────────────────────────────────────────────────────
✔ Created workspace.json file at /path/to/my-worspace
✔ Initialized workspace at /path/to/my-worspace
─────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────
cat workspace.json
───────┬─────────────────────────────────────────────────────────
│ File: workspace.json
───────┼─────────────────────────────────────────────────────────
1 │ {
2 │ "name": "my-worspace",
3 │ "packages": {}
4 │ }
───────┴─────────────────────────────────────────────────────────
Add a package to workspace
─────────────────────────────────────────────────────────────────
omy ws add package --name my-service \
--url git@github.com/user/my-service.git
─────────────────────────────────────────────────────────────────
...
─────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────
cat workspace.json
───────┬─────────────────────────────────────────────────────────
│ File: workspace.json
───────┼─────────────────────────────────────────────────────────
1 │ {
2 │ "name": "my-workspace",
3 │ "packages": {
4 │ "my-service": {
5 │ "url": "git@github.com/user/my-service.git"
6 │ }
7 │ },
8 │ }
───────┴─────────────────────────────────────────────────────────
Remove a package to workspace
─────────────────────────────────────────────────────────────
omy ws remove package --name my-service
─────────────────────────────────────────────────────────────
...
─────────────────────────────────────────────────────────────
Run workspace defined targets
─────────────────────────────────────────────────────────────────
omy run --help
─────────────────────────────────────────────────────────────────
omy run
Run a target defined in workspace.json
Positionals:
package, p run task within that package [string] [default: "$WORKSPACE_ROOT"]
Options:
--version Show version number [boolean]
--help Show help [boolean]
─────────────────────────────────────────────────────────────────
Run a target in current workspace
─────────────────────────────────────────────────────────────
omy run release
─────────────────────────────────────────────────────────────
RELEASE @ my-service
─────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────
cat workspace.json
───────┬─────────────────────────────────────────────────────────
│ File: workspace.json
───────┼─────────────────────────────────────────────────────────
1 │ {
2 │ "name": "my-workspace",
3 │ "packages": {
4 │ "my-service": {
5 │ "url": "git@github.com/user/my-service.git"
6 │ }
7 │ },
8 │ "run": {
9 │ "release": "omy run echo:release -p my-service",
10 │ "echo:release": "echo RELEASE @ `pwd`"
11 │ }
12 │ }
───────┴─────────────────────────────────────────────────────────