Mercurial > piecrust2
annotate setup.py @ 340:794b047c9726
find: Don't change the pattern when there's none.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Mon, 06 Apr 2015 20:10:54 -0700 |
parents | acc718ab56da |
children | 9fb7c4921d75 |
rev | line source |
---|---|
9
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
1 #!/usr/bin/env python |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
2 # -*- coding: utf-8 -*- |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
3 |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
4 import os |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
5 import os.path |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
6 import sys |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
7 import time |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
8 import subprocess |
69
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
9 from setuptools import setup, find_packages, Command |
9
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
10 from setuptools.command.test import test |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
11 |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
12 |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
13 def read(fname): |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
14 with open(os.path.join(os.path.dirname(__file__), fname)) as fp: |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
15 return fp.read() |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
16 |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
17 |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
18 def runcmd(cmd): |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
19 with subprocess.Popen(cmd, stdout=subprocess.PIPE, |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
20 stderr=subprocess.PIPE) as p: |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
21 out, err = p.communicate() |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
22 return out, err |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
23 |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
24 |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
25 class PyTest(test): |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
26 def finalize_options(self): |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
27 super(PyTest, self).finalize_options() |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
28 self.test_args = ['tests'] |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
29 self.test_suite = True |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
30 |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
31 def run_tests(self): |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
32 import pytest |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
33 errno = pytest.main(self.test_args) |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
34 sys.exit(errno) |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
35 |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
36 |
69
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
37 class GenerateVersionCommand(Command): |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
38 description = 'generates a version file' |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
39 user_options = [ |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
40 ('force=', 'f', 'force a specific version number')] |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
41 |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
42 def initialize_options(self): |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
43 self.force = None |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
44 |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
45 def finalize_options(self): |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
46 pass |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
47 |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
48 def run(self): |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
49 v = self.force or generate_version() |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
50 write_version(v) |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
51 print("Generated version %s" % v) |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
52 return 0 |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
53 |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
54 |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
55 def generate_version(): |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
56 """ Generate a version file from the source control information. |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
57 (this is loosely based on what Mercurial does)""" |
82
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
58 if os.path.isdir(os.path.join(os.path.dirname(__file__), '.hg')): |
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
59 return generate_version_from_mercurial() |
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
60 elif os.path.isdir(os.path.join(os.path.dirname(__file__), '.git')): |
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
61 return generate_version_from_git() |
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
62 else: |
69
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
63 raise Exception("Can't generate version number: this is not a " |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
64 "Mercurial repository.") |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
65 |
179
acc718ab56da
setup: Make version generation compatible with PEP440.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
66 |
82
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
67 def generate_version_from_mercurial(): |
69
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
68 try: |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
69 # Get the version we're currently on. Also see if we have local |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
70 # changes. |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
71 cmd = ['hg', 'id', '-i'] |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
72 hgid, err = runcmd(cmd) |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
73 hgid = hgid.decode('utf8').strip() |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
74 has_local_changes = hgid.endswith('+') |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
75 hgid = hgid.rstrip('+') |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
76 |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
77 # Get the tags on the current version. |
9
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
78 cmd = ['hg', 'log', '-r', '.', '--template', '{tags}\n'] |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
79 tags, err = runcmd(cmd) |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
80 versions = [t for t in tags.decode('utf8').split() if t[0].isdigit()] |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
81 |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
82 if versions: |
69
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
83 # Use the tag found at the current revision. |
9
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
84 version = versions[-1] |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
85 else: |
69
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
86 # Use the latest tag, but add info about how many revisions |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
87 # there have been since then. |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
88 cmd = ['hg', 'parents', '--template', |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
89 '{latesttag}+{latesttagdistance}'] |
9
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
90 version, err = runcmd(cmd) |
69
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
91 tag, dist = version.decode('utf8').split('+') |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
92 if dist == '1': |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
93 # We're on the commit that created the tag in the first place. |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
94 # Let's just do as if we were on the tag. |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
95 version = tag |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
96 else: |
179
acc718ab56da
setup: Make version generation compatible with PEP440.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
97 version = '%s+%s.%s' % (tag, dist, hgid) |
9
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
98 |
69
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
99 if has_local_changes: |
179
acc718ab56da
setup: Make version generation compatible with PEP440.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
100 if '+' in version: |
acc718ab56da
setup: Make version generation compatible with PEP440.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
101 version += '.' |
acc718ab56da
setup: Make version generation compatible with PEP440.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
102 else: |
acc718ab56da
setup: Make version generation compatible with PEP440.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
103 version += '+' |
acc718ab56da
setup: Make version generation compatible with PEP440.
Ludovic Chabant <ludovic@chabant.com>
parents:
124
diff
changeset
|
104 version += time.strftime('%Y%m%d') |
69
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
105 |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
106 return version |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
107 except OSError: |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
108 raise Exception("Can't generate version number: Mercurial isn't " |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
109 "installed, or in the PATH.") |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
110 except Exception as ex: |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
111 raise Exception("Can't generate version number: %s" % ex) |
9
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
112 |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
113 |
82
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
114 def generate_version_from_git(): |
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
115 try: |
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
116 cmd = ['git', 'describe', '--tags', '--dirty=+'] |
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
117 version, err = runcmd(cmd) |
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
118 version = version.decode('utf8').strip() |
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
119 if version.endswith('+'): |
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
120 version += time.strftime('%Y%m%d') |
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
121 return version |
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
122 except OSError: |
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
123 raise Exception("Can't generate version number: Git isn't installed, " |
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
124 "or in the PATH.") |
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
125 except Exception as ex: |
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
126 raise Exception("Can't generate version number: %s" % ex) |
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
127 |
ae90caf26224
Support for installing from Git.
Ludovic Chabant <ludovic@chabant.com>
parents:
76
diff
changeset
|
128 |
69
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
129 def write_version(version): |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
130 if not version: |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
131 raise Exception("No version to write!") |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
132 |
9
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
133 f = open("piecrust/__version__.py", "w") |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
134 f.write('# this file is autogenerated by setup.py\n') |
69
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
135 f.write('APP_VERSION = "%s"\n' % version) |
9
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
136 f.close() |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
137 |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
138 |
72
ecee3e8f35e5
Fix `setuptools` install.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
139 # Always try to generate an up to date version. |
ecee3e8f35e5
Fix `setuptools` install.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
140 # Otherwise, fall back on an (hopefully) existing version file. |
ecee3e8f35e5
Fix `setuptools` install.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
141 try: |
ecee3e8f35e5
Fix `setuptools` install.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
142 version = generate_version() |
ecee3e8f35e5
Fix `setuptools` install.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
143 write_version(version) |
ecee3e8f35e5
Fix `setuptools` install.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
144 except: |
ecee3e8f35e5
Fix `setuptools` install.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
145 version = None |
ecee3e8f35e5
Fix `setuptools` install.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
146 |
ecee3e8f35e5
Fix `setuptools` install.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
147 if version is None: |
ecee3e8f35e5
Fix `setuptools` install.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
148 try: |
ecee3e8f35e5
Fix `setuptools` install.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
149 from piecrust.__version__ import APP_VERSION |
ecee3e8f35e5
Fix `setuptools` install.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
150 version = APP_VERSION |
ecee3e8f35e5
Fix `setuptools` install.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
151 except ImportError: |
ecee3e8f35e5
Fix `setuptools` install.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
152 raise Exception("Can't get version from either a version file or " |
ecee3e8f35e5
Fix `setuptools` install.
Ludovic Chabant <ludovic@chabant.com>
parents:
69
diff
changeset
|
153 "from the repository.") |
9
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
154 |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
155 |
74
8f988aa54433
Fix package name case.
Ludovic Chabant <ludovic@chabant.com>
parents:
72
diff
changeset
|
156 setup(name="PieCrust", |
9
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
157 version=version, |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
158 description="A powerful static website generator and lightweight CMS.", |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
159 long_description=read('README.rst') + '\n\n' + read('CHANGELOG.rst'), |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
160 author="Ludovic Chabant", |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
161 author_email="ludovic@chabant.com", |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
162 license="Apache License 2.0", |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
163 url="http://github.com/ludovicchabant/piecrust2", |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
164 keywords=' '.join([ |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
165 'python', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
166 'website', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
167 'generator', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
168 'blog', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
169 'portfolio', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
170 'gallery', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
171 'cms' |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
172 ]), |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
173 packages=find_packages(), |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
174 include_package_data=True, |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
175 zip_safe=False, |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
176 install_requires=[ |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
177 'Jinja2==2.7.3', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
178 'Markdown==2.4.1', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
179 'MarkupSafe==0.23', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
180 'PyYAML==3.11', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
181 'Pygments==1.6', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
182 'Werkzeug==0.9.6', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
183 'colorama==0.3.1', |
66
e4a24512b814
Add `compressinja` to install/env requirements.
Ludovic Chabant <ludovic@chabant.com>
parents:
9
diff
changeset
|
184 'compressinja==0.0.2', |
9
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
185 'mock==1.0.1', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
186 'py==1.4.23', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
187 'python-dateutil==2.2', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
188 'repoze.lru==0.6', |
76
fdb08d986384
Add SmartyPants formatting.
Ludovic Chabant <ludovic@chabant.com>
parents:
74
diff
changeset
|
189 'smartypants==1.8.6', |
124
f49fcf9448df
Add Textile formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
82
diff
changeset
|
190 'strict-rfc3339==0.4', |
f49fcf9448df
Add Textile formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
82
diff
changeset
|
191 'textile==2.2.1' |
9
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
192 ], |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
193 tests_require=[ |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
194 'pytest==2.6.1', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
195 'pytest-mock==0.2.0' |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
196 ], |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
197 cmdclass={ |
69
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
198 'test': PyTest, |
cb1ed436642c
Always use version generated by `setup.py`. Better version generation.
Ludovic Chabant <ludovic@chabant.com>
parents:
66
diff
changeset
|
199 'version' : GenerateVersionCommand |
9
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
200 }, |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
201 classifiers=[ |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
202 'Development Status :: 3 - Alpha', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
203 'License :: OSI Approved :: Apache Software License', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
204 'Environment :: Console', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
205 'Intended Audience :: Developers', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
206 'Intended Audience :: System Administrators', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
207 'Natural Language :: English', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
208 'Operating System :: MacOS :: MacOS X', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
209 'Operating System :: POSIX :: Linux', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
210 'Operating System :: Microsoft :: Windows', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
211 'Programming Language :: Python', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
212 'Programming Language :: Python :: 3' |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
213 ], |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
214 entry_points={'console_scripts': [ |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
215 'chef = piecrust.main:main', |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
216 ]} |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
217 ) |
8f7ba2c95025
Add packaging and related files.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
218 |