-
Notifications
You must be signed in to change notification settings - Fork 116
Roadmap
vertiginous edited this page Sep 13, 2010
·
1 revision
I’m up for making the API as compatible as possible. I don’t know if it will ever be 100% uniform, though. Given the way pik uses precompiled packages, and RVM taps into the *nix toolchain to build packages, I don’t know if it makes sense to try to force them to be similar there. I have a feeling, though, that when I get down to it, the majority of things will fit.
Some things that I see right off the bat that will need to be addressed are:
- ‘pik default’ works more like ‘rvm system’ That’s because pik
doesn’t consider any ruby “system”, or have a configurable default.
This could be changed to match, RVM though. - the pik list actions would need some tweaking
- ‘pik use’ is an alias for ‘pik switch’, and pik use will work for
the most part like rvm use. My decision to use patterns instead of
names is inconsistent with rvm, but the arguments end up being the
same most of the time, ie ‘pik use 1.8.6’ or ‘rvm use 1.8.6’ - rvm has more set actions than pik. I plan on adding the missing
ones, though. pik has the run action, which rvm is missing. This
comes in handy for testing, and I don’t want to get rid of it. - rvm remove is totally different than pik remove, and rvm doesn’t
have an add action. I could roll add into install, and remove into
uninstall. I still want the ability to add and remove packages that
weren’t installed through pik. This is important to me. It’s good
for users that like to experiment with compiling ruby.
It should be possible to run from powershell, git bash, and cygwin in a similar fashion to CMD.exe. The root pik folder would look like this:
|-- pik
|-- pik.bat
|-- pik.ps1
|-- pik_runner.exe
`-- rubies
|-- jruby-1.5.1
|-- ruby-1.8.6
`-- ruby-1.8.7
In cmd, running pik would call the .bat file, in power shell the .ps1 file, and in bash the pik (no extension) file. Each file would call pik_runner.exe with an argument that describes the shell. The internals of pik_runner would need to be modified to allow for this. Specifically paths would need to be fixed, and shell editors would need to be written to handle powershell and bash similar to Pik::BatchFile and Pik::BatchFileEditor. I need to test further to see if this will actually work, but in theory it’s possible.