Comments (6)
Out of interest: which tools are actively looking for the .gvm folder? eg for Eclipse and Intellij I normally select gvm-installations by hand.
The symlink is not complicated to achive, but I have to consider the following:
- the .gvm and .posh_gvm folder have a similar structure for the candidates, but the meta-data file are different and the symlinks of Cygwin and Windows arn't compatible, too. Therefore I used a different folder name so that there are no conflicts between a dual installation of posh-gvm and "cygwin-gvm".
- Setting a symlink automatically could be confusing for the user. Normally this should be explained why there are now "two folders" in the home-dir. Also what should be done if there is already a .gvm folder? Should posh-gvm use .gvm as default if there is no used yet and we ignore the corner-case of later dual-installation?
Probably I could change the installation script and add an additional Install.ps1 for PsGet installations for asking the user if he wants the symlink or we put the necessary command in the readme?!
I'm not sure what the best solution could be, but if you can give me examples for the such tools, it could be easier to decide this.
Without further dependencies and check the following code would create the symlink:
Invoke-Expression -Command "cmd.exe /c mklink /J '$env:USERPROFILE\.gvm' '$env:USERPROFILE\.posh_gvm'"
Possible solutions:
- Setup symlink without asking if not .gvm folder.
- Setup symlink without asking and removing of the .gvm folder.
- Changing posh-gvm to be 'compatible' to the bash-gvm folder in a way which does not clash (at least against a current version). This would need a different name for current-candidate-version symlink.
- Extending README with explanation about usecase and the command above.
from posh-gvm.
OK, plural was an overstatement :) I am trying to use https://github.com/noamt/sgvm with posh-gvm.
from posh-gvm.
SGVM doesn't use the the symlinks inside of the .gvm dir and therefore could be used with the .posh_gvm dir.
But for meta-data it use the same structure like bash-gvm. Probably I was not one of my better choices to change it, but I wanted to put all meta-data into one location. Therefore it would change the structure of the posh_gvm dir, if used to install new versions. Currently there would be done no harm, so it would be possible.
SGVM, which is normally used in CI environment, itself is able to install version by so posh-gvm isn't really needed, right? Could it be that your single aim is to reuse already available packages in a development environment for a CI system? If it is that, wouldn't the documentation of this possibility solve this special usecase only relevant for a really small group of users?
I don't really like the named side-effects and solution 3 would be too time consuming considering the currently little gain.
If you are currently developing a tool for general usage on a dev machine, it would be a probable a different answer but currently I would lean towards solution 4.
from posh-gvm.
You are probably right. If the meta-data is different, it will be easier to document this corner-case in SGVM then trying to work around it in posh-gvm, so please disregard.
Keep up the good work!
from posh-gvm.
If this is getting more important I could try to find the time to get the meta-data inter-operable. Honestly didn't see this usecase coming and regret the decision. What's done is done. I currently have no time slot for changing the meta-data handling correctly.
from posh-gvm.
That's fine.
A well documented single call to mklink is not a big deal.
from posh-gvm.
Related Issues (20)
- Problems when attempting to use a Proxy HOT 7
- posh-gvm client is currently broken HOT 1
- Support selfupdate even in offline mode
- posh-gvm is unable to install griffon 2.5.0 HOT 1
- Install fails: "This command is not available in offline mode." HOT 2
- The term 'gradle' is not recognized as the name of a cmdlet HOT 6
- How do I change the default path of posh-gvm ? HOT 2
- Publish on http://www.powershellgallery.com/ HOT 1
- Name collision with Hyper-V HOT 2
- Error "Could not unzip the archive of" for kotlin 1.0.3+ and sbt 0.13.11 HOT 4
- Command `gvm flush candidate` totally breaks application HOT 1
- gvmtool.net no longer valid domain HOT 1
- should include in documentation that posh-gvm doesn't work offline
- JVM error install posh-gvm
- Install URL is now a 404 HOT 1
- gvm install grails results in an exception HOT 2
- posh-gvm install error
- Import-Module posh-gvm HOT 2
- Import-Module posh-gvm ,This command is not available in offline mode. HOT 3
- Pretty bad when the only 2 URLs in the project's docs are 404's
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from posh-gvm.