[CalendarServer-changes] [12202] twext/trunk

source_changes at macosforge.org source_changes at macosforge.org
Wed Mar 12 11:19:13 PDT 2014


Revision: 12202
          http://trac.calendarserver.org//changeset/12202
Author:   wsanchez at apple.com
Date:     2013-12-23 15:44:54 -0800 (Mon, 23 Dec 2013)
Log Message:
-----------
Use "setup.py develop" to fetch dependancies.

Modified Paths:
--------------
    twext/trunk/python
    twext/trunk/setup.py

Added Paths:
-----------
    twext/trunk/test

Property Changed:
----------------
    twext/trunk/


Property changes on: twext/trunk
___________________________________________________________________
Modified: svn:ignore
   - .project
.pydevproject
_trial_temp
twextpy.egg-info

   + .develop
.project
.pydevproject
.trial
.trial.lock
twextpy.egg-info


Modified: twext/trunk/python
===================================================================
--- twext/trunk/python	2013-12-23 23:12:19 UTC (rev 12201)
+++ twext/trunk/python	2013-12-23 23:44:54 UTC (rev 12202)
@@ -1,5 +1,24 @@
-#!/usr/bin/env bash
+#!/bin/sh
 
+##
+# Copyright (c) 2005-2013 Apple Inc. All rights reserved.
+#
+# Licensed 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.
+##
+
+set -e
+set -u
+
 wd="$(cd "$(dirname "$0")" && pwd)";
 
 if [ -n "${PYTHON:-}" ]; then
@@ -8,6 +27,22 @@
   python=python;
 fi;
 
-export PYTHONPATH="${wd}:${PYTHONPATH:-}";
+##
+# Enable development mode
+##
 
+mkdir -p "${wd}/.develop";
+mkdir -p "${wd}/.develop/lib";
+
+export PYTHONPATH="${wd}/.develop/lib:${PYTHONPATH:-}"
+
+cd "${wd}" && ./setup.py develop  \
+  -d "${wd}/.develop/lib"         \
+  -s "${wd}/.develop/bin"         \
+  > "${wd}/.develop/setup.log" 2>&1;
+
+##
+# Run python
+##
+
 exec "${python}" "$@";

Modified: twext/trunk/setup.py
===================================================================
--- twext/trunk/setup.py	2013-12-23 23:12:19 UTC (rev 12201)
+++ twext/trunk/setup.py	2013-12-23 23:44:54 UTC (rev 12202)
@@ -104,24 +104,17 @@
 # Dependancies
 #
 
-requirements = [
+setup_requirements = [
+    "pyflakes",
+]
+
+install_requirements = [
     "sqlparse==0.1.2",
     "twisted>=13.2.0",
 ]
 
 
 #
-# Write version file
-#
-
-version_string = version()
-version_file = file(joinpath("twext", "version.py"), "w")
-version_file.write('version = "{0}"\n\n'.format(version_string))
-version_file.write("requirements = {0!r}\n".format(requirements))
-version_file.close()
-
-
-#
 # Set up Extension modules that need to be built
 #
 
@@ -144,6 +137,22 @@
 #
 
 def doSetup():
+    # Write version file
+    version_string = version()
+    version_file = file(joinpath("twext", "version.py"), "w")
+    try:
+        version_file.write(
+            'version = "{0}"\n\n'.format(version_string)
+        )
+        version_file.write(
+            "setup_requirements = {0!r}\n".format(setup_requirements)
+        )
+        version_file.write(
+            "install_requirements = {0!r}\n".format(install_requirements)
+        )
+    finally:
+        version_file.close()
+
     setup(
         name="twextpy",
         version=version_string,
@@ -161,7 +170,8 @@
         data_files=[],
         ext_modules=extensions,
         py_modules=[],
-        install_requires=requirements,
+        setup_requires=setup_requirements,
+        install_requires=install_requirements,
     )
 
 

Added: twext/trunk/test
===================================================================
--- twext/trunk/test	                        (rev 0)
+++ twext/trunk/test	2013-12-23 23:44:54 UTC (rev 12202)
@@ -0,0 +1,147 @@
+#!/bin/sh
+
+##
+# Copyright (c) 2005-2013 Apple Inc. All rights reserved.
+#
+# Licensed 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.
+##
+
+set -e;
+set -u;
+
+wd="$(cd "$(dirname "$0")" && pwd -L)";
+
+##
+# Options
+##
+
+do_setup="false";
+do_get="false";
+
+random="--random=$(date "+%s")";
+no_color="";
+until_fail="";
+coverage="";
+numjobs="";
+reactor="";
+
+if [ "$(uname -s)" == "Darwin" ]; then
+  reactor="--reactor=kqueue";
+fi;
+
+usage ()
+{
+  program="$(basename "$0")";
+
+  if [ "${1--}" != "-" ]; then echo "$@"; echo; fi;
+
+  echo "Usage: ${program} [options]";
+  echo "Options:";
+  echo "        -h  Print this help and exit";
+  echo "        -n  Do not use color";
+  echo "        -o  Do not run tests in random order.";
+  echo "        -r<num>  Use specified seed to determine order.";
+  echo "        -u  Run until the tests fail.";
+  echo "        -c  Generate coverage reports.";
+
+  if [ "${1-}" == "-" ]; then return 0; fi;
+  exit 64;
+}
+
+while getopts "nhoucr:j:" option; do
+  case "${option}" in
+    '?') usage; ;;
+    'h') usage -; exit 0; ;;
+    'o')     random=""; ;;
+    'r')     random="--random=$OPTARG"; ;;
+    'n')  no_color="--reporter=bwverbose"; ;;
+    'u') until_fail="--until-failure"; ;;
+    'c')   coverage="--coverage"; ;;
+    'j')    numjobs="-j $OPTARG"; ;;
+  esac;
+done;
+shift $((${OPTIND} - 1));
+
+if [ $# -gt 0 ]; then
+  test_modules="$@";
+else
+  test_modules="twext";
+fi;
+
+
+##
+# Clean up
+##
+
+find "${wd}" -name \*.pyc -print0 | xargs -0 rm;
+
+
+##
+# Enable development mode
+##
+
+mkdir -p "${wd}/.develop";
+mkdir -p "${wd}/.develop/lib";
+
+export PYTHONPATH="${wd}/.develop/lib:${PYTHONPATH:-}"
+
+cd "${wd}" && ./setup.py develop  \
+  -d "${wd}/.develop/lib"         \
+  -s "${wd}/.develop/bin"         \
+  > "${wd}/.develop/setup.log" 2>&1;
+
+
+##
+# Unit tests
+##
+
+cd "${wd}" && "${wd}/bin/trial"    \
+  --temp-directory="${wd}/.trial"  \
+  --rterrors                       \
+  ${reactor}                       \
+  ${random}                        \
+  ${until_fail}                    \
+  ${no_color}                      \
+  ${coverage}                      \
+  ${numjobs}                       \
+  ${test_modules}                  \
+  ;
+
+
+##
+# Linting
+##
+
+echo "";
+echo "Running pyflakes...";
+tmp="$(mktemp -t "twext_flakes.XXXXX")";
+cd "${wd}" && ./pyflakes ${test_modules} | tee "${tmp}" 2>&1;
+if [ -s "${tmp}" ]; then
+  echo "**** Pyflakes says you have some code to clean up. ****";
+  exit 1;
+fi;
+rm -f "${tmp}";
+
+
+##
+# Empty files
+##
+
+tmp="$(mktemp -t "twext_test_empty.XXXXX")";
+find "${wd}" '!' '(' -type d '(' -path '*/.*' -or -name data -or -name build ')' -prune ')' -type f -size 0 > "${tmp}";
+if [ -s "${tmp}" ]; then
+    echo "**** Empty files: ****";
+    cat "${tmp}";
+    exit 1;
+fi;
+rm -f "${tmp}";


Property changes on: twext/trunk/test
___________________________________________________________________
Added: svn:executable
   + *
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140312/d9868e54/attachment.html>


More information about the calendarserver-changes mailing list