-
Notifications
You must be signed in to change notification settings - Fork 0
/
pavement.py
54 lines (40 loc) · 1.24 KB
/
pavement.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
from paver.easy import *
import pkg_resources
from itertools import chain
@task
def kpyc():
sh('find . -iname "*.pyc" -delete')
@task
@needs(['kpyc'])
def clean():
print "rming the build dir and *.egg-info"
delete = (
(path(__file__).dirname().joinpath("build"), ),
path(__file__).dirname().glob("*.egg-info"),
)
for d in chain(*delete):
path(d).rmtree()
@task
@needs(['clean'])
@cmdopts([
('module=', 'm', 'module to get the version from')
])
def publish(options):
"""Publish <module> to the disqus pip cheeze thingy"""
if not hasattr(options, 'module'):
print "module is not an option, it is required"
sh("python setup.py build")
sh("python setup.py install")
VERSION = sh("python -c 'import pkg_resources; print pkg_resources.get_distribution(\"%s\").version'" % options.module, capture=True)
print VERSION
print "creating tag " + VERSION
sh("git tag " + VERSION, ignore_error=True)
print "pushing tag"
sh("git push origin " + VERSION)
manifest = path('MANIFEST')
if manifest.exists():
print "removing manifest file"
manifest.remove()
print "uploading package."
sh("python setup.py sdist upload -r disqus")
clean()