Commit Graph

67 Commits

Author SHA1 Message Date
Victor Hugo Borja
a26bed6586 Make sure extension commands are properly displayed by asdf help 2020-03-15 11:45:09 -06:00
Trevor Brown
671416fc85 Prepare for tagging of version 0.7.7 2020-03-03 13:58:05 -05:00
Max Nordlund
40600ec903
Fix typo 2020-01-02 23:05:58 +01:00
Victor Hugo Borja
39d3773f57 Release 0.7.6 2019-12-15 23:09:49 -06:00
Victor Hugo Borja
3d3595c7a3 Improvements to asdf plugin commands. 2019-11-30 14:18:37 -06:00
Victor Hugo Borja
64d7cac9fd Update documentation 2019-11-27 12:18:00 -06:00
Victor Hugo Borja
4939e24c90 Make asdf plugin test determine plugin version with asdf latest
Fixes #541
2019-11-26 22:23:27 -06:00
Victor Hugo Borja
2ea3d2017f asdf --version shows git-revision when asdf_dir is a git clone.
This will help people running on asdf master be able to report
issues and maintainers can know the precise git commit where the
error was reported.

See #589
2019-11-26 22:08:45 -06:00
Victor Hugo Borja
0e8e1f8f84 New feature: asdf extension commands
It's possible for plugins to define new asdf commands. This way plugins can extend asdf capabilities or expose utilities related to their managed tool.

For example, a `foo` plugin might expose the command `asdf foo bar` by providing an executable file at `bin/bar`.
If `bin/bar` is a file but has no executable bit set, then its considered a source-able bash script, and will be sourced
with all the functions in `$ASDF_DIR/lib/utils.sh` already loaded.

A good example of this feature is the `nodejs` plugin, where people must import the release team keyring before
installing a nodejs version. People can execute the following command without having to know where exactly is the plugin located.
2019-11-25 02:24:46 -06:00
Kevin Lane
a3319235f8
Update CHANGELOG with contributions from #575 2019-11-22 11:34:25 -08:00
Trevor Brown
a600925736 Prepare for 0.7.5 version 2019-11-04 19:41:50 -05:00
Trevor Brown
cc8c7fb215 Prepare for 0.7.4 release 2019-08-14 22:41:43 -04:00
Trevor Brown
fb4ecbc214 Prepare for v0.7.3 release 2019-07-13 17:31:29 -04:00
Rohan Talip
97499028a8
Updated CHANGELOG.md to fix typo 2019-06-03 10:14:11 -07:00
Trevor Brown
8f5b20904e Preparing for 0.7.2 release 2019-05-18 16:31:09 -04:00
Daniel Perez
a4595da828 Prepare changelog for 0.7.1 release 2019-03-31 21:15:14 +01:00
Daniel Perez
ce895e9e76 Prepare changelog for 0.7.1 release
[skip ci]
2019-03-31 20:52:30 +01:00
Daniel Perez
450660018c Revert to using exec when running a shim 2019-03-26 17:36:08 +00:00
Daniel Perez
365a294cc3 Update CHANGELOG 2019-03-16 20:00:30 +00:00
Trevor Brown
d6009d6909 Prepare changelog for 0.7.0 release 2019-03-02 09:45:32 -05:00
Victor Hugo Borja
8927a4a09f Add asdf env command 2019-01-19 20:59:27 -06:00
Victor Hugo Borja
6da747b6ce Test that asdf exec works even if asdf shims are not in PATH. 2019-01-19 20:09:53 -06:00
Victor Borja
f1809ae290
Remove duplicate entries from merge.
Remove entries on 0.6.3 that are actually on 0.6.4-dev
2019-01-19 14:52:59 -06:00
Victor Hugo Borja
a46eaf3b4a Merge remote-tracking branch 'origin/shim-versions-command' into 0.6.4-dev 2019-01-19 13:56:56 -06:00
Victor Hugo Borja
9420ca1aec Add hooks for plugin uninstall 2019-01-19 13:48:21 -06:00
Victor Hugo Borja
dcc3727cab Add pre-install and pre-reshim hooks 2019-01-19 13:32:07 -06:00
Victor Hugo Borja
9a79ac9526 user configurable pre-post command hooks
Suppose a `foo` plugin is installed and provides a `bar` executable.
The following hooks will be executed when set in `.asdfrc`:

```shell
post_asdf_install_foo = echo installed foo version ${1}
post_asdf_reshim_foo = echo reshimmed foo version ${1}

pre_foo_bar = echo about to execute command bar from foo with args: ${@}
post_foo_bar = echo just executed command bar from foo with args: ${@}
```
2019-01-19 13:32:07 -06:00
Victor Hugo Borja
2c9621c1cc New shim metadata to allow many plugins with same executable names
Features

* New shim version meta-data allows shims to not depend on a particular plugin
  nor on its relative executable path (#431)
  Upgrading requires shim re-generation and should happen automatically
  by `asdf-exec`:
    `rm -rf ~/.asdf/shims/` followed by `asdf reshim`
* Added lots of tests for shim execution.
  We now make sure that shim execution obeys plugins hooks like
  `list-bin-paths` and `exec-path`.
* Shim exec is now performed by a new `bin/private/asdf-tool-exec` that might
  be faster for most common use case: (versions on local .tool-versions file)
  but fallbacks to slower `get_preset_version_for` which takes legacy formats
  into account.
* Shim exec recommends which plugins or versions to set when command is
  not found.

Fixed Bugs

* Allow many plugins to provide shims with same executable name (#431)
2019-01-19 13:32:07 -06:00
Victor Hugo Borja
7fda291df0 Add asdf shim-versions command (#380)
For example `asdf shim-versions npm` will list the plugins and their
versions on which the `npm` command is available.

Based on #432
2019-01-19 13:31:26 -06:00
Victor Hugo Borja
4766a2b0b2 New shim metadata to allow many plugins with same executable names
Features

* New shim version meta-data allows shims to not depend on a particular plugin
  nor on its relative executable path (#431)
  Upgrading requires shim re-generation and should happen automatically
  by `asdf-exec`:
    `rm -rf ~/.asdf/shims/` followed by `asdf reshim`
* Added lots of tests for shim execution.
  We now make sure that shim execution obeys plugins hooks like
  `list-bin-paths` and `exec-path`.
* Shim exec is now performed by a new `bin/private/asdf-tool-exec` that might
  be faster for most common use case: (versions on local .tool-versions file)
  but fallbacks to slower `get_preset_version_for` which takes legacy formats
  into account.
* Shim exec recommends which plugins or versions to set when command is
  not found.

Fixed Bugs

* Allow many plugins to provide shims with same executable name (#431)
2019-01-19 13:31:26 -06:00
Victor Hugo Borja
94eadeb3ce Update changelog 2019-01-19 13:27:48 -06:00
Victor Hugo Borja
ed843f29f6 asdf reshim without arguments will reshim all plugins. (#407) 2019-01-19 13:22:12 -06:00
Victor Hugo Borja
9b27848d07 New shim metadata to allow many plugins with same executable names
Features

* New shim version meta-data allows shims to not depend on a particular plugin
  nor on its relative executable path (#431)
  Upgrading requires shim re-generation and should happen automatically
  by `asdf-exec`:
    `rm -rf ~/.asdf/shims/` followed by `asdf reshim`
* Added lots of tests for shim execution.
  We now make sure that shim execution obeys plugins hooks like
  `list-bin-paths` and `exec-path`.
* Shim exec is now performed by a new `bin/private/asdf-tool-exec` that might
  be faster for most common use case: (versions on local .tool-versions file)
  but fallbacks to slower `get_preset_version_for` which takes legacy formats
  into account.
* Shim exec recommends which plugins or versions to set when command is
  not found.

Fixed Bugs

* Allow many plugins to provide shims with same executable name (#431)
2019-01-19 13:22:12 -06:00
John Doe
74b8e56722 Preparing for 0.6.3 release. 2019-01-19 09:13:36 -05:00
Trevor Brown
a5cbd7d23b Preparing for 0.6.2 release. 2018-11-26 20:58:10 -05:00
Trevor Brown
eaafaa190c Preparing for 0.6.1 release. 2018-11-13 20:07:15 -05:00
Trevor Brown
ba2fb201d6 Preparing for 0.6.0 release. 2018-10-07 22:31:04 -04:00
Trevor Brown
e872db1bd8 Preparing for 0.5.1 release. 2018-07-30 09:11:51 -04:00
Trevor Brown
d0b9b837c9 Remove -dev tag from 0.5.0 version in changelog. 2018-05-28 15:14:52 -04:00
Trevor Brown
c041c930c5 Update CHANGELOG.md in preparation for 0.5.0 release. 2018-05-28 15:09:49 -04:00
Trevor Brown
6c2d95f50e
Add another item to the changelog for 0.5.0. 2018-05-01 08:45:17 -04:00
Trevor Brown
27b5e21db3
Add shim exit code feature to changelog. 2018-04-11 17:43:57 -04:00
Trevor Brown
351951f530
Update CHANGELOG.md 2018-04-11 13:13:33 -04:00
Trevor Brown
1d68a15b8d Preparing for 0.4.4 version. 2018-03-11 15:07:55 -04:00
Trevor Brown
651096d9a1 Prepare changelog for 0.4.2 release. 2018-02-11 17:45:30 -05:00
Trevor Brown
a66a31c76d Add new tool version environment variable feature to changelog. 2018-02-11 17:34:29 -05:00
Trevor Brown
13c9215abc Add plugin-list --urls feature to changelog. 2018-02-11 15:38:50 -05:00
Trevor Brown
9323a7ad49 Add PATH checking feature to CHANGELOG. 2018-02-11 15:32:38 -05:00
Trevor Brown
9b420bbd65 Add bugfix to changelog. 2018-02-11 15:19:22 -05:00
Trevor Brown
b97b32d88b Update CHANGELOG.md in preparation for 0.4.1 release. 2018-02-11 15:04:05 -05:00