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
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
Diego Nogueira Teixeira
28c0576d17
Fix reshim to create shim only for executable files and not directories.
2018-09-18 10:38:22 -03:00
Jose Luis Salas
c86707c55f
Add config option to install plugins in $HOME/.asdf
2018-08-11 15:37:56 +02:00
Trevor Brown
1b44fa7549
Fix shellcheck warnings.
2018-06-16 15:26:02 -04:00
Trevor Brown
e8819d43a4
Address warnings reported by new version of shellcheck.
2017-12-27 09:54:00 -05:00
William Ashton
43fd8c978d
Tell sed to create backup files, and the remove them
...
This seems like the easiest way forward, considering the incompatability between the LInux and MacOS versions of sed.
2017-10-27 10:27:27 -04:00
William Ashton
dc3865c9fd
Prevent sed from creating -e backup files. Fixes #242
2017-10-26 15:58:45 -04:00
Jonathan Knapp
20b70bccc7
Remove shebangs from lib files and pass bash dialect to shellcheck
2017-10-01 11:34:35 -04:00
Victor Borja
e814d58da3
Shellcheck all commands
2017-09-04 12:04:56 -05:00
Jonathan Knapp
808a8d48b7
Fix many shellcheck issues; ignore a few others
2017-09-04 10:09:47 -04:00
Victor Borja
5398d8949c
Fix sed invocations for OSX
2017-09-03 20:23:06 -05:00
Daniel Perez
5a270d4cb4
Add asdf-plugin-version metadata to shims
...
This adds `asdf-plugin-version` to all generated shims.
This metadata is used to remove the shim when necessary.
2017-07-27 01:26:38 +02:00
Robin Schneider
7c30e6f9d2
Fix typo: seperated → separated
...
Automated edit command: git ls-files -z "$(git rev-parse --show-toplevel)" | xargs --null -I '{}' find '{}' -type f -print0 | xargs --null sed --in-place --regexp-extended 's/seperated/separated/g;'
2017-02-20 19:44:44 +01:00
Victor Borja
6ddf1e5e49
Fix shim args again.
...
Broken here:
00bf082b31 (diff-774f80a035a812fafdd48ebc7c8b6af4R54)
but this time we have tests to notice:
https://travis-ci.org/asdf-vm/asdf/builds/184202823
2016-12-15 05:34:35 -06:00
Tadeu Andrade
6d78d4fd80
Reverting slash on quotes
2016-12-13 10:03:28 -03:00
mtatheonly
e04fe9ed54
Update reshim.sh
...
Removing unneeded slash from shim writing.
2016-12-12 18:54:52 -03:00
Victor Borja
7512d9abf4
Add metadata to shims
...
When a shim is created, add plugin metadata so we can later know which shims belong to which plugins, this will help aid with removing unused shims on uninstall. See #67
```
# asdf-plugin: ${plugin_name}”
```
Thanks to @duijf for the metadata proposal.
2016-12-10 12:17:50 -06:00
Laurens Duijvesteijn
337b335c4d
Check if plugin exists before removing it ( #77 )
...
Check if plugin exists before removing it
2016-07-06 08:19:15 +09:00
Akash Manohar
ad0d365cf4
Executable check should use actual file path
2015-11-19 08:49:19 +05:30
Stratus3D
225c690893
Remove duplicate call to write_shim_script.
2015-11-13 11:36:25 -05:00
Trevor Brown
8e96be3243
Remove todo comment.
2015-11-05 06:43:12 -05:00
Trevor Brown
9bdc207ee2
Add check to ensure file is an executable in generate_shims_for_version function.
2015-11-05 06:35:53 -05:00
Martin Schürrer
aaa8abfd23
Don't spawn subshells, use exec
2015-10-01 19:31:53 +02:00
Akash Manohar J
681daec95a
Check for custom shim templates in $plugin/shims
2015-06-07 00:30:55 +05:30
Akash Manohar J
1bfabd67fb
Replace var names
2015-05-29 21:54:31 +05:30
Akash Manohar J
00fa189b6e
Rename package_name var to plugin_name everywhere
2015-05-27 12:16:17 +05:30
Akash Manohar J
97bdbc01b1
Fix shim and reshim
2015-05-24 15:12:30 +05:30
Akash Manohar J
3217a1f99e
Merge and resolve conflicts
2015-05-24 15:03:56 +05:30
Akash Manohar J
bcb4780b33
Add shim command
2015-05-24 15:02:38 +05:30
Akash Manohar J
1d9fe07a11
Adhere to new & stable plugin API
2015-05-22 10:47:44 +05:30
Akash Manohar J
0f1db84981
Remove last use of tag/commit
2015-05-22 10:19:39 +05:30
Akash Manohar J
2bb9fa036d
Simplify tag/commit to ref
2015-05-22 10:17:27 +05:30
Akash Manohar J
0ffd6d9e79
Stick to bash for shims too
2015-05-20 12:22:46 +05:30
Akash Manohar J
d687a86ab6
Simplify vocabulary
2015-05-17 23:50:51 +05:30
Akash Manohar J
52ce0afcf4
default to bin dir if list-bin-paths is not found
2015-05-17 23:14:16 +05:30
Akash Manohar J
132971c290
Escape double quotes
2015-05-17 22:58:49 +05:30
Akash Manohar J
00edadd6d3
Fix shim generator
2015-05-17 19:08:05 +05:30
Akash Manohar J
256e6cb000
Improve reshim command
2015-05-17 19:02:47 +05:30
Akash Manohar J
78c2c9b3fc
if [ condition ]; then
2015-05-17 16:17:45 +05:30
Akash Manohar J
44ef58def1
Move around commands dir
2015-05-17 14:01:55 +05:30