Commit Graph

314 Commits

Author SHA1 Message Date
mig4
a58e9e3c17
Make where command default to current version
Allow not specifying the version on command line in which case fall back
to looking it up.

Also add tests for the `where` command.
2018-10-28 17:47:21 +00:00
mig4
f994b07a2c
Optimise listing all plugins
When checking if a plugin is installed (to display a flag) it is not
necessary to loop through all installed plugins, since we already have
a name we can check directly.

Also expand test case to test this code path too.
2018-10-27 20:05:02 +01:00
Fernando Crespo
61b288c959 Fix shellcheck lint errors 2018-10-21 00:56:28 -03:00
Fernando Crespo
46e5f7427f Updated which command.
Should fix #205
2018-10-21 00:47:13 -03:00
Trevor Brown
357413c950 Add support for the --asdf-tool-version flag to the plugin-test command. 2018-10-20 11:48:10 -04:00
Trevor Brown
13cff01ea0 Fix output for plugin_test_command function. 2018-10-19 22:46:51 -04:00
Trevor Brown
fc078c5e72 Implement 'asdf local -p'. 2018-10-19 20:41:49 -04:00
Trevor Brown
f708e3c15f
Merge pull request #371 from phunehehe/version-set-by
commands/current: add space before parenthesis
2018-10-10 18:21:46 -04:00
Hoang Xuan Phu
1330083229 commands/current: add space before parenthesis
It seems to have been lost in 88d47bbd69.
Probably by accident?

I also pulled the literal bits into the format string. It looks more
readable to me that way. I'm happy to remove that if it's not desired.
2018-10-10 17:28:23 -04:00
Trevor Brown
d6b01e35ec Simplify resolve_symlink function. 2018-10-07 21:47:57 -04:00
Trevor Brown
e0cdec39f9 Address shellcheck errors in resolve_symlink function. 2018-10-07 21:47:57 -04:00
Trevor Brown
4c4590c6e6 Update resolve_symlink function so it always returns absolute paths. 2018-10-07 21:47:57 -04:00
Trevor Brown
e095ed5efa Don't install system versions. 2018-10-07 14:35:36 -04:00
Jose Luis Salas
448d3215d8
Fix asdf current behaviour
Closes: #353
2018-10-04 21:00:29 +02:00
Jose Luis Salas
5acef7c9bf
Remove get_install_type and fix indentation 2018-09-27 22:18:36 +02: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
Trevor Brown
2e27ceb090
Merge pull request #335 from josacar/user-install-directory
Install data outside asdf installation directory
2018-09-16 22:36:08 -04:00
Jose Luis Salas
d1782f456e
Retrieve asdf_data_dir from environment variable 2018-09-16 18:39:21 +02:00
Victor Hugo Borja
a4fc43e682 plugin-test: check Auth is used when list-all uses Github API
Many plugins were having this problem where they rely on accessing
GitHub's API for listing versions from some repo releases. But not
setting an Authorization token for `curl`, causes the test to fail.

We now detect that if the plugin `list-all` looks like accessing
`api.github.com` and if so, we also try to guess if the Authroization
header will be set. If not, we fail the test and head the plugin author
to some documentation on how to add it.

Hope this reduces the number of failures due to GitHub API rate
limiting on travis.
2018-08-29 23:19:30 -07:00
Victor Hugo Borja
950853d9e6 test plugin in subshell and from isolated asdf
The subshell sources the isolated asdf environment, making the asdf
command available. In some plugin tests we were having failures do
to the asdf bin not set on PATH.
2018-08-29 23:16:01 -07:00
Jose Luis Salas
c86707c55f
Add config option to install plugins in $HOME/.asdf 2018-08-11 15:37:56 +02:00
Trevor Brown
bcdc5e0ba7 Switch to single quotes for sed regex. 2018-06-17 19:31:36 -04:00
Trevor Brown
001cd6022f Ignore shellcheck warning. 2018-06-16 23:07:17 -04:00
Trevor Brown
631ad8a005 Resolve symlink paths before altering .tool-version files. 2018-06-16 22:59:37 -04:00
Trevor Brown
c1ce9de4d4
Merge pull request #331 from brennanfee/fix-330-asdf-list
Fix for #330 - "asdf list" spacing
2018-06-16 15:30:35 -04:00
Trevor Brown
1b44fa7549 Fix shellcheck warnings. 2018-06-16 15:26:02 -04:00
Brennan Fee
8a018715c7
Fix for #330 - "asdf list" spacing
In order to make the output of "asdf list" a bit easier to read, this commit adds two spaces to the front of each version being written so as to indent them under the plugin.
2018-05-31 11:45:20 -05:00
Brennan Fee
4cb89b152c
Fix another spot for plugin-name env var lookup
After fixing #319 I wondered if there were any other spots where the same/similar bug existed.  I found one other location at line 126 in utils.sh.
2018-05-31 10:46:04 -05:00
Brennan Fee
67bc9539d1 Fix for #319
Fixed #319 by forcing all dashes to underscores in the plugin name.
Shell variables don't allow dash.
2018-05-30 20:02:23 -05:00
Michael Davis
3f51d3a5ab Change exit code from 0 -> 2 2018-05-29 21:47:46 -05:00
Michael Davis
c4a2ffb356 Make exit code of an already installed plugin 0
When plugin-add is called on a plugin that's already installed, asdf
will return 0.
2018-05-25 13:26:48 -05:00
Melissa Xie
f79dda865a Include plugin name in error message if plugin doesn't exist
Previously, if we ran a command like `asdf install` and we encountered a
plugin that didn't exist, asdf produces an error saying "No such
plugin". Without knowing which plugin it could be referring too, we'd
have to manually go through each plugin in `.tool-versions` to find the
culprit.

With this commit, we'll now also include the plugin name as part of the
messaging for easier debugging.
2018-04-30 12:49:40 -04:00
hlhr
e1a4ff244f list command without parameter lists all packages with versions 2018-04-16 18:37:22 -04:00
Edoardo Tenani
23bf434dbf use exit code 126 when version is not set 2018-04-05 23:59:31 +02:00
Neil Martinsen-Burrell
c7a8226db5 Print to stderr one level up to make tests pass 2018-03-30 12:09:56 -05:00
Neil Martinsen-Burrell
c1e50c2894 Print "No version set" message to stderr 2018-03-30 11:15:53 -05:00
james.bunch
d62fa098c1 AZDF -> ASDF environment variable name spelling
change all instances of `AZDF` to read `ASDF` instead, to bring the
variable names in line with the project name
2018-02-27 11:56:04 -08:00
AJ Foster
a195da28c2 Promote which version check from subshell to enable error emission 2018-02-25 18:34:39 -05:00
AJ Foster
eb5e5b780c Refactor "no version set" message to utilities 2018-02-25 18:33:42 -05:00
Trevor Brown
9733daafd4
Merge pull request #293 from aj-foster/no-version-errors
Suggest action when no version is set
2018-02-25 13:17:20 -05:00
AJ Foster
24a7190505 Specify when a version is set via environment variable 2018-02-25 01:11:16 -05:00
AJ Foster
c2fb6a3140 Escape backticks in command suggestion 2018-02-25 00:50:46 -05:00
AJ Foster
f15a0c9de3 Suggest action when no version is set 2018-02-25 00:40:26 -05:00
Trevor Brown
4efa8a9707 Fix failing test for ASDF_DEFAULT_TOOL_VERSIONS_FILENAME environment variable. 2018-02-12 18:41:27 -05:00
Trevor Brown
ed3a029e86
Merge branch 'master' into env-config-file-location 2018-02-11 17:31:17 -05:00
Trevor Brown
0f48c1861b Remove unnecessary regex from replacement string in regex command. 2018-02-11 15:12:31 -05:00
jthegedus
8374c227fc add --urls flag for asdf list-plugins
Fixed tests due to use of printf
2018-02-11 15:04:06 -05:00
jthegedus
afac39f1fd Fix asdf current - and it was at this point I realised 2018-02-11 15:04:06 -05:00
jthegedus
b738413949 add indicator if installed on asdf plugin-list-all 2018-02-11 15:04:06 -05:00
jthegedus
c6bc978c26 add escape for \n where necessary 2018-02-11 15:04:06 -05:00
jthegedus
5d523a5b50 Add print repo URLs with asdf plugin-list and adsf plugin-list-all
* Use printf for formatting
* Add error when plugin index at /asdf_dir/repository/plugins is not found
* add example of output to README
2018-02-11 15:04:06 -05:00
Trevor Brown
ee082dc6ee Address warnings reported by new version of shellcheck. 2018-02-11 15:04:05 -05:00
Mark Villacampa
025bd995d5 add two more cases where we need to specify bening and end of line in the .tool-versions to properly identify plugin names 2017-12-16 02:05:52 +01:00
Mark Villacampa
77ce346578 grep for plugin_name from begining of line 2017-12-15 22:36:24 +01:00
Trevor Brown
8794210b8e Add 'eval' to list of banned commands. 2017-11-16 22:43:52 -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
Shunsuke Kirino
9ba0a5cc2d Replace ref- prefix in output of list command with ref: 2017-10-23 11:23:51 +09:00
Daniel Perez
e2094db465 Merge pull request #237 from DustinChaloupka/install-parent-tool-versions
Add installing from a parent directory's .tool-versions
2017-10-17 23:28:37 +09:00
Trevor Brown
2171f48f0f Merge pull request #231 from hugopeixoto/use-origin-when-updating-tags
Use origin when updating tags
2017-10-14 17:23:16 +03:00
DustinChaloupka
320835ba7e
Declare and assign variable separately 2017-10-10 13:31:15 -05:00
DustinChaloupka
05a7446619
Add installing from a parent directory's .tool-versions 2017-10-10 12:02:42 -05:00
Jonathan Knapp
85550c8c0c
Remove extra, unnecessary quoting 2017-10-02 09:51:07 -04:00
Jonathan Knapp
20b70bccc7
Remove shebangs from lib files and pass bash dialect to shellcheck 2017-10-01 11:34:35 -04:00
Jonathan Knapp
33d7d9c26c
Merge remote-tracking branch 'source/master' into origin/shellcheck 2017-10-01 09:15:22 -04:00
Hugo Peixoto
15e59686c4 Add support for $ASDF_DEFAULT_TOOL_VERSIONS_FILENAME
Instead of just looking in $HOME/.tool-versions, allow the default
tool-versions file location to be specified through the variable
$ASDF_TOOL_VERSIONS.
2017-09-25 14:26:14 +01:00
Hugo Peixoto
9e97bc5e61 Use origin when updating tags 2017-09-25 14:13:35 +01:00
Trevor Brown
84ad80f575 Add mechanism to disable the update command since it will not work when asdf is installed via brew. 2017-09-12 18:48:00 -04:00
Trevor Brown
4da62b16c8 Move hardcoded version to VERSION file in repo root. 2017-09-12 18:48:00 -04:00
Trevor Brown
663ebb9a2f Move asdf_repository_url function to top of utils.sh. 2017-09-06 21:37:08 -04:00
Victor Borja
8b40b30dec let bin/asdf expand args into command functions 2017-09-04 12:49:38 -05:00
Victor Borja
e814d58da3 Shellcheck all commands 2017-09-04 12:04:56 -05:00
Jonathan Knapp
9d6ddb71d5
Fix linter errors 2017-09-04 10:12:45 -04:00
Jonathan Knapp
f75e988363
Fix another linter error that did not trigger on osx 2017-09-04 10:11:06 -04:00
Jonathan Knapp
91d52b99cb
Run shellcheck on lib/utils.sh 2017-09-04 10:11:06 -04:00
Jonathan Knapp
808a8d48b7
Fix many shellcheck issues; ignore a few others 2017-09-04 10:09:47 -04:00
Victor Borja
e74c472829 Test current command with no installed version 2017-09-03 22:20:35 -05:00
vic
779e757b56 Merge pull request #212 from asdf-vm/asdf-plugin-version
Add asdf-plugin-version metadata to shims
2017-09-03 20:26:27 -05:00
Victor Borja
5398d8949c Fix sed invocations for OSX 2017-09-03 20:23:06 -05:00
Victor Borja
f23b448c0c Merge remote-tracking branch 'origin/master' into asdf-plugin-version 2017-09-03 20:01:27 -05:00
vic
28d7921777 Merge pull request #221 from asdf-vm/plugin-list-all
Add plugin-list-all command
2017-09-03 20:00:02 -05:00
AJ Foster
e3e247752c Allow spaces in .tool_versions file path
This helps to address (though may not completely fix) issue #202.
2017-09-02 23:05:40 -04:00
Daniel Perez
b9fae70c0d Add plugin-list-all command 2017-08-25 11:29:23 +09:00
Daniel Perez
8af4b3377c List all installed plugins when no argument is passed to current 2017-08-19 13:56:28 +09:00
Daniel Perez
4a9d268710 Fix regression in install command 2017-07-30 20:15:21 +02:00
Daniel Perez
1499bda7b3 Trap sigint when installing plugins, fix #214 2017-07-30 20:02:19 +02:00
Victor Hugo Borja
242d132afb Find correct installation path for ref: versions
Noticed we had some duplicated logic for finding the
plugins installation path. This caused the bug described
by #213  where the installation command and the find_executable_path
were using different paths.

Fixes #213
2017-07-29 12:47:21 -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
Daniel Perez
78fbbaf584 Merge pull request #183 from doughsay/master
Use a git repository for installing plugins.
2017-07-26 18:49:15 +02:00
Chris Dosé
a0e5573960
Update plugins repo url. 2017-07-26 09:20:05 -07:00
Fernando
1e9166e9bc Merge branch 'master' into which_command 2017-05-15 15:40:42 -03:00
Daniel Perez
82f399c6b3 Merge pull request #164 from ypid/docs_improvements
Docs improvements
2017-05-15 11:17:25 +09:00
Chris Dosé
5255f0e664 a little too zealous on the shellcheck warnings. 2017-04-19 20:40:06 -07:00
Chris Dosé
f399254219 code review feedback: fix all shellcheck warnings. 2017-04-19 20:37:03 -07:00
Chris Dosé
96c24e9255 code review feedback: git reset instead of git pull 2017-04-19 20:26:33 -07:00
William Ashton
baad7dd6d4 Query git for the current tag
Fixes #189
2017-04-15 22:50:43 -04:00
Henrik Nyh
d7ceb38b06 Avoid bash error when no version is set
Running "asdf current ruby" before installing any Rubies gave me:

    /Users/henrik/.asdf/lib/utils.sh: line 73: [: !=: unary operator expected
    No version set for ruby
2017-04-08 09:38:18 +01:00
Trevor Brown
974597ddc7 Correct sed command that removes asdf from PATH. 2017-03-27 11:04:52 -04:00
Chris Dosé
20cdbfe701
Use a git repository for installing plugins. 2017-03-26 16:44:22 -07:00
Trevor Brown
0f7757a910 Correct if statements in asdf-exec and utils.sh. 2017-03-25 14:50:30 -04:00