Dirt simple package management/dependencies for Wren Console projects.
import "wren-package" for WrenPackage, Dependency
class Package is WrenPackage {
construct new() {}
name { "wren-test-runner" }
dependencies {
return [
Dependency.new("wren-testie", "0.1.0", "https://github.com/joshgoebel/wren-testie.git")
]
}
}
Package.new().default()First you'll need to install wren-package itself to your "global" wren_modules (likely in HOME directory). After that any project under HOME will be able to import wren-package without issue.
cd ~
mkdir -p wren_modules
cd wren_modules
git clone https://github.com/joshgoebel/wren-package.git
Run it to get a list of what the package contains:
wrenc package.wren
Usage:
./package.wren install
wren-test-runner dependencies:
- wren-testie 0.1.0
Or ask it install everything:
wrenc package.wren install
- installing wren-testie 0.1.0
- [R] git clone -q https://github.com/joshgoebel/wren-testie.git wren_modules/wren-testie
- [R] git checkout --detach 0.1.0
HEAD is now at 921b912 show variety
* 1 dependency(s). All good.
What prevents this from working with Wren CLI?
Off the top of my head the official Wren CLI doesn't currently support:
Process.exit(PR open, needs work)Process.exec(PR open)
Licensed MIT and open to contributions!
Please open an issue to discuss or find me on Wren Discord.