Mono parallel environment manager
Switch branches/tags
Nothing to show
Pull request Compare This branch is 33 commits behind louissalin:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
scripts
README
app.rb
git.rb
mopem.rb
plan
tarball.rb
targets.rb
utils.rb

README

WARNING: this is a very new app that currently works on my current configuration. 
It might not work at all for you and it currently only works on OpenSuse.

Mopem is a Mono parallel environment manager, allowing the user to switch easily between different mono versions. Mopem can be used to install a new environment by tracking the proper branch in the mono repository, dependencies and downloading the needed source, compiling it and installing it in /home. It can then switch environments by changing environment variables and path.

PREREQUISITES:

ruby: you will need ruby 1.8.7 to run this.
zypper: this is the package manager used on OpenSuse. I will add support for apt-get in the future so this isn't a "OpenSuse only" app.

SETUP:

after cloning this project on your local machine, add this line to the end of your .bashrc file:

    [[ -s "[cloned repo location]/scripts/mopem" ]] && source "[cloned repo location]/scripts/mopem"

and change [cloned repo location] with the location where you cloned the repo.

USAGE:

$ ruby mopem.rb list 

will list all the available environments

$ ruby mopem.rb install mono 2.10-HEAD

will install the latest in the 2.10 branch

$ ruby mopem.rb install mono 2.10.5

will install the 2.10.5 version from 2.10.5

$ ruby mopem.rb install mono master-HEAD

will install the HEAD version in the master branch

$ ruby mopem.rb install gtk-sharp 2.12.11

will install gtk-sharp version 2.12.11. Note: you must have selected a mono runtime first.

$ ruby mopem.rb update 2.10-HEAD

will update the branch

$ ruby mopem.rb use 2.10-HEAD
$ ruby mopem.rb use master-HEAD
$ ruby mopem.rb use 2.10.5

will switch to the selected environments by launching a new shell withing the existing one. I plan to replace the current shell at some point, but this isn't what it's doing at the moment.