Left: | ||
Right: |
LEFT | RIGHT |
---|---|
1 # coding: utf-8 | 1 # coding: utf-8 |
2 | 2 |
3 # This file is part of the Adblock Plus web scripts, | 3 # This file is part of the Adblock Plus web scripts, |
4 # Copyright (C) 2006-2014 Eyeo GmbH | 4 # Copyright (C) 2006-2014 Eyeo GmbH |
5 # | 5 # |
6 # Adblock Plus is free software: you can redistribute it and/or modify | 6 # Adblock Plus is free software: you can redistribute it and/or modify |
7 # it under the terms of the GNU General Public License version 3 as | 7 # it under the terms of the GNU General Public License version 3 as |
8 # published by the Free Software Foundation. | 8 # published by the Free Software Foundation. |
9 # | 9 # |
10 # Adblock Plus is distributed in the hope that it will be useful, | 10 # Adblock Plus is distributed in the hope that it will be useful, |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
57 self.outputFilename = None | 57 self.outputFilename = None |
58 self.changelogFilename = None | 58 self.changelogFilename = None |
59 | 59 |
60 def hasChanges(self): | 60 def hasChanges(self): |
61 return self.revision != self.previousRevision | 61 return self.revision != self.previousRevision |
62 | 62 |
63 def getCurrentRevision(self): | 63 def getCurrentRevision(self): |
64 """ | 64 """ |
65 retrieves the current revision number from the repository | 65 retrieves the current revision number from the repository |
66 """ | 66 """ |
67 command = ['hg', 'log', '-R', self.config.repository, '-r', 'default', '--te mplate', '{rev}'] | 67 command = ['hg', 'log', '-R', self.config.repository, '-r', 'default', |
68 '--template', '{rev}', '--config', 'defaults.log='] | |
68 return subprocess.check_output(command) | 69 return subprocess.check_output(command) |
69 | 70 |
70 def getChanges(self): | 71 def getChanges(self): |
71 """ | 72 """ |
72 retrieve changes between the current and previous ("first") revision | 73 retrieve changes between the current and previous ("first") revision |
73 """ | 74 """ |
74 | 75 |
75 command = ['hg', 'log', '-R', self.config.repository, '-r', 'tip:0', | 76 command = ['hg', 'log', '-R', self.config.repository, '-r', 'tip:0', |
76 '-b', 'default', '-l', '50', '--encoding', 'utf-8', | 77 '-b', 'default', '-l', '50', '--encoding', 'utf-8', |
77 '--template', '{date|isodate}\\0{author|person}\\0{rev}\\0{desc}\\0\\0'] | 78 '--template', '{date|isodate}\\0{author|person}\\0{rev}\\0{desc}\\0\\0', |
79 '--config', 'defaults.log='] | |
78 result = subprocess.check_output(command).decode('utf-8') | 80 result = subprocess.check_output(command).decode('utf-8') |
79 | 81 |
80 for change in result.split('\0\0'): | 82 for change in result.split('\0\0'): |
81 if change: | 83 if change: |
82 date, author, revision, description = change.split('\0') | 84 date, author, revision, description = change.split('\0') |
83 yield {'date': date, 'author': author, 'revision': revision, 'descriptio n': description} | 85 yield {'date': date, 'author': author, 'revision': revision, 'descriptio n': description} |
84 | 86 |
85 def copyRepository(self): | 87 def copyRepository(self): |
86 ''' | 88 ''' |
87 Create a repository copy in a temporary directory | 89 Create a repository copy in a temporary directory |
88 ''' | 90 ''' |
89 # We cannot use hg archive here due to | 91 # We cannot use hg archive here due to |
90 # http://bz.selenic.com/show_bug.cgi?id=3747, have to clone properly :-( | 92 # http://bz.selenic.com/show_bug.cgi?id=3747, have to clone properly :-( |
91 self.tempdir = tempfile.mkdtemp(prefix=self.config.repositoryName) | 93 self.tempdir = tempfile.mkdtemp(prefix=self.config.repositoryName) |
92 command = ['hg', 'clone', '-q', self.config.repository, '-u', 'default', sel f.tempdir] | 94 command = ['hg', 'clone', '-q', self.config.repository, '-u', 'default', sel f.tempdir] |
93 subprocess.check_call(command) | 95 subprocess.check_call(command) |
94 | 96 |
95 # Make sure to process the dependencies file if it is present | 97 # Make sure to process the dependencies file if it is present |
96 import logging | 98 import logging |
97 logging.disable(logging.WARNING) | 99 logging.disable(logging.WARNING) |
98 try: | 100 try: |
99 from buildtools.ensure_dependencies import resolve_deps | 101 from buildtools.ensure_dependencies import resolve_deps |
100 resolve_deps(self.tempdir, self_update=False, | 102 resolve_deps(self.tempdir, self_update=False, |
101 overrideroots={"hg": os.path.dirname(self.config.repository)}, | 103 overrideroots={"hg": os.path.dirname(self.config.repository)}, |
102 skipdependencies=set(["buildtools"])) | 104 skipdependencies={"buildtools"}) |
Sebastian Noack
2014/09/18 16:27:46
We don't support Python 2.6 anymore, right? Then y
Wladimir Palant
2014/09/18 18:18:18
Done.
| |
103 finally: | 105 finally: |
104 logging.disable(logging.NOTSET) | 106 logging.disable(logging.NOTSET) |
105 | 107 |
106 def writeChangelog(self, changes): | 108 def writeChangelog(self, changes): |
107 """ | 109 """ |
108 write the changelog file into the cloned repository | 110 write the changelog file into the cloned repository |
109 """ | 111 """ |
110 baseDir = os.path.join(self.config.nightliesDirectory, self.basename) | 112 baseDir = os.path.join(self.config.nightliesDirectory, self.basename) |
111 if not os.path.exists(baseDir): | 113 if not os.path.exists(baseDir): |
112 os.makedirs(baseDir) | 114 os.makedirs(baseDir) |
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
503 except Exception, ex: | 505 except Exception, ex: |
504 print >>sys.stderr, "The build for %s failed:" % repo | 506 print >>sys.stderr, "The build for %s failed:" % repo |
505 traceback.print_exc() | 507 traceback.print_exc() |
506 | 508 |
507 file = open(nightlyConfigFile, 'wb') | 509 file = open(nightlyConfigFile, 'wb') |
508 nightlyConfig.write(file) | 510 nightlyConfig.write(file) |
509 | 511 |
510 | 512 |
511 if __name__ == '__main__': | 513 if __name__ == '__main__': |
512 main() | 514 main() |
LEFT | RIGHT |