Changeset 501
- Timestamp:
- 2007-07-09 10:30:46 (1 year ago)
- Files:
-
- tools/make.py (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
tools/make.py
r387 r501 19 19 from os import path 20 20 from shutil import rmtree 21 from zipfile import ZipFile, ZIP_DEFLATED 21 from zipfile import ZipFile, ZIP_DEFLATED, ZIP_STORED 22 22 from urlparse import urlparse 23 23 from xml.dom.minidom import parse as xml_open … … 33 33 locales_file = 'locales.tar.gz' 34 34 update_url = 'http://code.downthemall.net/nightly/update.rdf' 35 36 release_id = '{DDC359D1-844A-42a7-9AA1-88A850A938A8}' 35 37 36 38 xpi_file = 'downthemall%s.xpi' … … 60 62 yield "nightlifying" 61 63 self.nightlify(update_url) 64 if self.opts.release: 65 yield "releasifying" 66 self.releasify() 62 67 if self.opts.nocomments: 63 68 yield "stripping comments" 64 for x in self.stripcomments(): 65 yield x 69 self.stripcomments() 70 if self.opts.release: 71 yield "jarring" 72 self.jar() 66 73 yield "creating the xpi" 67 74 self.createXPI(xpi_file) … … 141 148 rdf.unlink() 142 149 f.close() 150 151 def releasify(self): 152 global release_id 153 rdf = xml_open('%s/install.rdf' % self.opts.exportTo) 154 155 'update the version' 156 node = rdf.getElementsByTagName('id')[0].childNodes[0] 157 node.data = release_id 158 159 'save' 160 f = open('export/install.rdf', 'w') 161 rdf.writexml(f) 162 163 'cleanup' 164 rdf.unlink() 165 f.close() 166 167 f = open('%s/chrome/content/common/verinfo.js' % self.opts.exportTo) 168 lines = f.readlines() 169 f.close() 170 f = open('%s/chrome/content/common/verinfo.js' % self.opts.exportTo, 'wb') 171 for l in lines: 172 if re.search('const DTA_ID', l): 173 l = "const DTA_ID = '%s';\n" % release_id 174 f.write(l) 175 f.close() 176 def jar(self): 177 f = open('%s/chrome.manifest' % self.opts.exportTo) 178 lines = f.readlines() 179 f.close() 180 f = open('%s/chrome.manifest' % self.opts.exportTo, 'wb') 181 for l in lines: 182 l = re.sub(r'(\s)chrome/', r'\1jar:chrome/dta.jar!/', l); 183 f.write(l) 184 f.close() 185 186 p = self.opts.exportTo + "/chrome" 187 dc = dircache.listdir(p)[:] 188 dirs = () 189 for x in dc: 190 if x in ('icons'): 191 continue 192 f = p + "/" + x 193 if path.isdir(f): 194 dirs += f, 195 jar_file = ZipFile(p + "/dta.jar", 'w', ZIP_STORED) 196 for d in dirs: 197 for x in self.getfilelist(d): 198 jar_file.write(x, x[len(p) + 1:].encode('cp437')) 199 rmtree(d) 200 jar_file.close() 201 143 202 144 203 def getfilelist(self, p): … … 167 226 p.write(c) 168 227 p.close() 169 yield f + " stripped"170 228 171 229 def createXPI(self, xpi_file): … … 180 238 xpi_file = ZipFile(xpi_file % additional, 'w', ZIP_DEFLATED) 181 239 for x in self.getfilelist(self.opts.exportTo): 182 xpi_file.write(x, x[len( 'export') + 1:].encode('cp437'))240 xpi_file.write(x, x[len(self.opts.exportTo) + 1:].encode('cp437')) 183 241 xpi_file.close() 184 242 … … 224 282 action='store_true', 225 283 default=False 226 ) 284 ) 285 parser.add_option( 286 '--release', 287 dest='release', 288 help='is a release', 289 action='store_true', 290 default=False 291 ) 227 292 parser.add_option( 228 293 '--nocomment',
