[CalendarServer-changes] [13185] twext/trunk

source_changes at macosforge.org source_changes at macosforge.org
Mon Apr 7 17:32:59 PDT 2014


Revision: 13185
          http://trac.calendarserver.org//changeset/13185
Author:   wsanchez at apple.com
Date:     2014-04-07 17:32:59 -0700 (Mon, 07 Apr 2014)
Log Message:
-----------
Stop parsing requirements in setup.py, because dstufft says so.

Modified Paths:
--------------
    twext/trunk/bin/_build.sh
    twext/trunk/setup.py

Added Paths:
-----------
    twext/trunk/requirements.txt

Removed Paths:
-------------
    twext/trunk/requirements/

Modified: twext/trunk/bin/_build.sh
===================================================================
--- twext/trunk/bin/_build.sh	2014-04-08 00:08:37 UTC (rev 13184)
+++ twext/trunk/bin/_build.sh	2014-04-08 00:32:59 UTC (rev 13185)
@@ -620,26 +620,21 @@
   if [ -d "${wd}/requirements/cache" ]; then
     pip_install="pip_install_from_cache";
   else
-    pip_install="pip_install";
+    pip_install="pip_download_and_install";
   fi;
 
-  for requirements in "${wd}/requirements/py_"*".txt"; do
+  local requirements="${wd}/requirements.txt";
 
-    ruler "Preparing Python requirements: ${requirements}";
-    echo "";
+  ruler "Preparing Python requirements";
+  echo "";
+  "${pip_install}" "--requirement=${requirements}";
 
-    if ! "${pip_install}" "${requirements}"; then
-      err=$?;
-      echo "Unable to set up Python requirements: ${requirements}";
-      if [ "${requirements#${wd}/requirements/py_opt_}" != "${requirements}" ]; then
-        echo "Requirements ${requirements} are optional; continuing.";
-      else
-        echo "";
-        echo "pip log: ${dev_home}/pip.log";
-        return 1;
-      fi;
+  for option in $("${python}" -c 'import setup; print "\n".join(setup.extras_requirements.keys())'); do
+    ruler "Preparing Python requirements for optional feature: ${option}";
+    echo "";
+    if ! "${pip_install}" "--editable=.[${option}]"; then
+      echo "Feature ${option} is optional; continuing.";
     fi;
-
   done;
 
   echo "";
@@ -647,21 +642,21 @@
 
 
 pip_install_from_cache () {
-  local requirements="$1"; shift;
+  local require="$1"; shift;
 
   "${python}" -m pip install                 \
-    --requirement="${requirements}"          \
-    --find-links "${wd}/requirements/cache"  \
+    "${require}"                             \
+    --find-links="${wd}/requirements/cache"  \
     --no-index                               \
     --log="${dev_home}/pip.log";
 }
 
 
-pip_install () {
-  local requirements="$1"; shift;
+pip_download_and_install () {
+  local require="$1"; shift;
 
   "${python}" -m pip install                  \
-    --requirement="${requirements}"           \
+    "${require}"                              \
     --download-cache="${dev_home}/pip_cache"  \
     --log="${dev_home}/pip.log";
 }

Added: twext/trunk/requirements.txt
===================================================================
--- twext/trunk/requirements.txt	                        (rev 0)
+++ twext/trunk/requirements.txt	2014-04-08 00:32:59 UTC (rev 13185)
@@ -0,0 +1,7 @@
+# Get our own dependencies
+-e .
+
+# Additional dependencies for development
+pyflakes
+docutils>=0.11
+mockldap>=0.1.4


Property changes on: twext/trunk/requirements.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Modified: twext/trunk/setup.py
===================================================================
--- twext/trunk/setup.py	2014-04-08 00:08:37 UTC (rev 13184)
+++ twext/trunk/setup.py	2014-04-08 00:32:59 UTC (rev 13185)
@@ -20,12 +20,9 @@
 
 import sys
 import errno
-from os import listdir, environ as environment
 from os.path import dirname, abspath, join as joinpath
-from itertools import chain
 import subprocess
 from setuptools import setup, find_packages as setuptools_find_packages
-from pip.req import parse_requirements
 
 
 
@@ -136,45 +133,32 @@
 # Dependencies
 #
 
-reqs_extension = ".txt"
-reqs_opt_prefix = "py_opt_"
+setup_requirements = []
 
+install_requirements = [
+    "cffi==0.6",
+    "twisted>=13.2.0",
+]
 
-requirements_dir = joinpath(dirname(__file__), "requirements")
+extras_requirements = {
+    # Database Abstraction Layer
+    "DAL": ["sqlparse==0.1.2"],
 
+    # LDAP
+    "LDAP": ["python-ldap>=2.4.13"],
 
-def read_requirements(reqs_filename):
-    return [
-        str(r.req) for r in
-        parse_requirements(joinpath(requirements_dir, reqs_filename))
-    ]
+    # OpenDirectory
+    "OpenDirectory": ["pyobjc-framework-OpenDirectory>=2.5.1"],
 
+    # Oracle
+    "Oracle": ["cx_Oracle==5.1.2"],
 
-setup_requirements = []
+    # Postgres
+    "Postgres": ["PyGreSQL==4.1.1"],
+}
 
-install_requirements = read_requirements("py_base.txt")
 
-extras_requirements = dict(
-    (
-        reqs_filename[len(reqs_opt_prefix):-len(reqs_extension)],
-        read_requirements(reqs_filename)
-    )
-    for reqs_filename in listdir(requirements_dir)
-    if (
-        reqs_filename.startswith(reqs_opt_prefix) and
-        reqs_filename.endswith(reqs_extension)
-    )
-)
 
-# Requirements for development and testing
-develop_requirements = read_requirements("py_develop.txt")
-
-if environment.get("_DEVELOP_PROJECT_", None) == name:
-    install_requirements.extend(develop_requirements)
-    install_requirements.extend(chain(*extras_requirements.values()))
-
-
-
 #
 # Set up Extension modules that need to be built
 #
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140407/66763412/attachment-0001.html>


More information about the calendarserver-changes mailing list