Run commands upon installing Dart packages, and more.
It would be nice if all of these features were
eventually integrated into the main pub
executable.
Until then, this will do.
$ pub global activate scripts
To use packages that integrate with scripts
, you should run
scripts get
instead of pub get
. This will run pub get
, and
then install package executables into a .scripts-bin
directory.
Then, all installed packages will have their get
scripts run.
Also replace pub upgrade
with scripts upgrade
. This will run get
scripts as well.
You can run scripts link
to link executables into .scripts-bin
.
It is very likely that you want to run your own scripts during
development, or upon package installation. Do as follows in your
pubspec.yaml
:
name: foo
# ...
scripts:
build: gcc -o foo src/foo.cc
get:
- dart_gyp configure
- dart_gyp build
Installed dependencies with executables will automatically be
filled in to the PATH
during script execution.
Then, in your project root, you can run:
$ scripts build
Removes the .scripts-bin
directory, if present.
This script simply runs pub get
, and then calls
link
.
Essentially an npm init
for Dart. This command will
run you through a series of prompts, after which a pubspec.yaml
will be generated for you.
Can be used to install dependencies without having to search the Pub directory for the current version.
# Install the newest version, and apply caret syntax
$ scripts install my-package
# Install a specific version
$ scripts install my-package@^1.0.0
$ scripts install my-package@0.0.4+25
$ scripts install "my-package@>=2.0.0 <3.0.0"
# Install a Git dependency
$ scripts install my-package@git://path/to/repo.git
# Specify a commit or ref
$ scripts install my-package@git://path/to/repo.git#bleeding-edge
# Install a local package
$ scripts install my-package@path:/Users/john/Source/Dart/pkg
# Install multiple packages
$ scripts install my-package my-other-package yet-another-package
# Install to dev_dependencies
$ scripts install --dev http test my-package@git://repo#dev
# Preview new `pubspec.yaml`, without actually installing dependencies,
# or modifying the file.
$ scripts install --dry-run my-experimental-package
Creates symlinks to each dependency (in future versions, I will eliminate symlink use), and also creates executable files linked to any dependencies that export executables.
Runs clean
, followed by get
.