Repository: cloudstack
Updated Branches:
refs/heads/master 8c3722d95 -> 9320f858f
CLOUDSTACK-9334: Support jenv and pyenv to manage Java and Python versions
* Adds .java-version to specify Java 1.7 as the JDK version to use
for CloudStack development.
* Adds .python-vresion to specify Python 2.7.11 as the Python to
use for CloudStack development.
* Adds requirements.txt to specify the default dependencies used
for CloudStack development. It does not include Marvin's
dependencies because it's bundle already defines the dependencies
which are installed with Marvin.
* Adds .java-version and .python-version to the RAT excludes
because neither jenv or pyenv support comments in these files
* Updates INSTALL.md to explain how to utilize jenv and pyenv for
CloudStack development
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/7add16d3
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/7add16d3
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/7add16d3
Branch: refs/heads/master
Commit: 7add16d3d9c06d3a806c165559601056a6269e0e
Parents: 0dcaf19
Author: John Burwell <meaux@cockamamy.net>
Authored: Sat Apr 2 18:31:08 2016 -0400
Committer: John Burwell <meaux@cockamamy.net>
Committed: Thu Apr 14 14:26:29 2016 -0400
----------------------------------------------------------------------
.java-version | 1 +
.python-version | 1 +
INSTALL.md | 17 +++++++++++++++++
pom.xml | 2 ++
requirements.txt | 21 +++++++++++++++++++++
5 files changed, 42 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7add16d3/.java-version
----------------------------------------------------------------------
diff --git a/.java-version b/.java-version
new file mode 100644
index 0000000..d3bdbdf
--- /dev/null
+++ b/.java-version
@@ -0,0 +1 @@
+1.7
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7add16d3/.python-version
----------------------------------------------------------------------
diff --git a/.python-version b/.python-version
new file mode 100644
index 0000000..5643833
--- /dev/null
+++ b/.python-version
@@ -0,0 +1 @@
+cloudstack
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7add16d3/INSTALL.md
----------------------------------------------------------------------
diff --git a/INSTALL.md b/INSTALL.md
index 9924ba9..8a83fb0 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -38,6 +38,23 @@ Start the MySQL service:
$ service mysqld start
+### Using jenv and/or pyenv for Version Management
+
+CloudStack is built using Java and Python. To make selection of these tools versions more
consistent and ease installation for developers, optional support for [jenv](http://www.jenv.be/)
and [pyenv](https://github.com/yyuu/pyenv) with [virtualenv]|(https://github.com/yyuu/pyenv-virtualenv)
is provided. jenv installation instructions are available here and pyenv installation instructions
are available here. For users of [oh-my-zsh](http://ohmyz.sh/) there is a pyenv plugin available
to trigger configuration of pyenv in a shell session.
+
+Following installation, execute the following commands to configure jenv and pyenv for use
with CloudStack development:
+
+'''
+ # pyenv install 2.7.11 # Install Python 2.7.11
+ # pyenv virtualenv 2.7.11 cloudstack # Create a cloidstack virtualenv
using Python 2.7.11
+ # pip install -r <root CloudStack source tree>/requirements.txt # Install cloudstack
Python dependencies
+ # jenv add <path to JDK 1.7 installation> # Add Java7 to jenv
+'''
+
+*N.B.* If you are running Linux, you may need to install additional packages to allow pyenv
to build Python.
+
+Following these steps, jenv and pyenv will use .java-version and .python-version files in
the root of the CloudStack source tree to switch to the correct Java version and the cloudstack
Python virtualenv for CloudStack development.
+
## Getting the Source Code
You may get the source code from the repository hosted on Apache:
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7add16d3/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index c18c377..724aeb1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -756,6 +756,8 @@
<exclude>CONTRIBUTING.md</exclude>
<exclude>tools/docker/Dockerfile</exclude>
<exclude>tools/docker/supervisord.conf</exclude>
+ <exclude>.java-version</exclude>
+ <exclude>.python-version</exclude>
<exclude>.idea/</exclude>
<exclude>**/*.log</exclude>
<exclude>**/*.patch</exclude>
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7add16d3/requirements.txt
----------------------------------------------------------------------
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..f5c7666
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Install the latest version of cloudmonkey
+cloudmonkey
+
+# Marvin dependencies are installed via its bundle
|