[tor-commits] [stem/master] Merge MANIFEST.in into setup.py

atagar at torproject.org atagar at torproject.org
Tue Dec 6 17:52:21 UTC 2016


commit 4581199ffd9bd65bb25d89b42663e2192607d7f2
Author: Damian Johnson <atagar at torproject.org>
Date:   Mon Dec 5 14:10:52 2016 -0800

    Merge MANIFEST.in into setup.py
    
    The manifest solely exists to make our source distribution contain the files it
    should. Silly we can't simply specify them in our setup() call, but oh well.
    Lets include this in our setup.py to avoid clutter and keep this where it
    should be.
---
 MANIFEST.in | 17 -------------
 setup.py    | 85 ++++++++++++++++++++++++++++++++++++++++---------------------
 2 files changed, 56 insertions(+), 46 deletions(-)

diff --git a/MANIFEST.in b/MANIFEST.in
deleted file mode 100644
index d35f06a..0000000
--- a/MANIFEST.in
+++ /dev/null
@@ -1,17 +0,0 @@
-include cache_fallback_directories.py
-include cache_manual.py
-include LICENSE
-include MANIFEST.in
-include requirements.txt
-include run_tests.py
-include tox.ini
-graft docs
-graft test
-global-exclude __pycache__
-global-exclude *.orig
-global-exclude *.pyc
-global-exclude *.swp
-global-exclude *.swo
-global-exclude .tox
-recursive-exclude test/data *
-recursive-exclude docs/_build *
diff --git a/setup.py b/setup.py
index 5770898..ac780d6 100644
--- a/setup.py
+++ b/setup.py
@@ -31,37 +31,64 @@ To install you can either use...
 After that, give some `tutorials <https://stem.torproject.org/tutorials.html>`_ a try! For questions or to discuss project ideas we're available on `irc <https://www.torproject.org/about/contact.html.en#irc>`_ and the `tor-dev@ email list <https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev>`_.
 """.strip()
 
+MANIFEST = """
+include cache_fallback_directories.py
+include cache_manual.py
+include LICENSE
+include MANIFEST.in
+include requirements.txt
+include run_tests.py
+include tox.ini
+graft docs
+graft test
+global-exclude __pycache__
+global-exclude *.orig
+global-exclude *.pyc
+global-exclude *.swp
+global-exclude *.swo
+global-exclude .tox
+recursive-exclude test/data *
+recursive-exclude docs/_build *
+""".strip()
+
 # Ensure this is our cwd, otherwise distutils fails with 'standard file
 # 'setup.py' not found'.
 
 os.chdir(os.path.dirname(os.path.abspath(__file__)))
 
-distutils.core.setup(
-  name = 'stem-dry-run' if DRY_RUN else 'stem',
-  version = stem.__version__,
-  description = DRY_RUN_SUMMARY if DRY_RUN else SUMMARY,
-  long_description = DESCRIPTION,
-  license = stem.__license__,
-  author = stem.__author__,
-  author_email = stem.__contact__,
-  url = stem.__url__,
-  packages = ['stem', 'stem.descriptor', 'stem.interpreter', 'stem.response', 'stem.util'],
-  keywords = 'tor onion controller',
-  scripts = ['tor-prompt'],
-  provides = ['stem'],
-  package_data = {
-    'stem': ['cached_tor_manual.cfg', 'settings.cfg'],
-    'stem.descriptor': ['fallback_directories.cfg'],
-    'stem.interpreter': ['settings.cfg'],
-    'stem.util': ['ports.cfg'],
-  }, classifiers = [
-    'Development Status :: 5 - Production/Stable',
-    'Intended Audience :: Developers',
-    'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)',
-    'Topic :: Security',
-    'Topic :: Software Development :: Libraries :: Python Modules',
-  ],
-)
-
-if os.path.exists('MANIFEST'):
-  os.remove('MANIFEST')
+with open('MANIFEST.in', 'w') as manifest_file:
+  manifest_file.write(MANIFEST)
+
+try:
+  distutils.core.setup(
+    name = 'stem-dry-run' if DRY_RUN else 'stem',
+    version = stem.__version__,
+    description = DRY_RUN_SUMMARY if DRY_RUN else SUMMARY,
+    long_description = DESCRIPTION,
+    license = stem.__license__,
+    author = stem.__author__,
+    author_email = stem.__contact__,
+    url = stem.__url__,
+    packages = ['stem', 'stem.descriptor', 'stem.interpreter', 'stem.response', 'stem.util'],
+    keywords = 'tor onion controller',
+    scripts = ['tor-prompt'],
+    provides = ['stem'],
+    package_data = {
+      'stem': ['cached_tor_manual.cfg', 'settings.cfg'],
+      'stem.descriptor': ['fallback_directories.cfg'],
+      'stem.interpreter': ['settings.cfg'],
+      'stem.util': ['ports.cfg'],
+    }, classifiers = [
+      'Development Status :: 5 - Production/Stable',
+      'Intended Audience :: Developers',
+      'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)',
+      'Topic :: Security',
+      'Topic :: Software Development :: Libraries :: Python Modules',
+    ],
+  )
+finally:
+  if os.path.exists('MANIFEST.in'):
+    os.remove('MANIFEST.in')
+
+  if os.path.exists('MANIFEST'):
+    os.remove('MANIFEST')





More information about the tor-commits mailing list