Exemplo n.º 1
0
def main():
    po = PropertiesObject()
    po.loadValues(version=version, releaseDate=releaseDate)
    po.createVersionString()

    if po['versionString'] == 'X.Y':
        print "Please set the version."
        sys.exit(1)
    elif po['releaseDate'] == '@@/@@/@@':
        print "Please set the release Date."
        sys.exit(1)

    propReplace = Replacer()
    propReplace.add(r"(version\s*=)\s*.*", r"\g<1> %s" % repr(version))
    propReplace.add(r"(releaseDate\s*=)\s*.*", r"\g<1> %s" % repr(releaseDate))

    htmlReplace = Replacer()
    htmlReplace.add(
        r"<!--\s*version\s*-->[^<]*<!--\s*/version\s*-->",
        r"<!-- version --> %s <!-- /version -->" % po['versionString'])
    htmlReplace.add(
        r"<!--\s*relDate\s*-->[^<]*<!--\s*/relDate\s*-->",
        r"<!-- relDate --> %s <!-- /relDate -->" % po['releaseDate'])

    rstReplace = Replacer()
    rstReplace.add(r"^:Version:.*$", ":Version: %s" % po['versionString'])
    rstReplace.add(r"^:Released:.*$", ":Released: %s" % po['releaseDate'])

    phtmlReplace = Replacer()
    phtmlReplace.add(r"(<%.*)' \+ versionString \+ '(.*%>)",
                     r"\g<1>%s\g<2>" % po['versionString'])
    phtmlReplace.add(r"<% versionString %>", po['versionString'])
    phtmlReplace.add(r"<% releaseDate %>", po['releaseDate'])

    twillReplace = Replacer()
    twillReplace.add(r"^setglobal version .*$",
                     r"setglobal version %s" % po['versionString'])
    twillReplace.add(r"^setglobal date .*$",
                     r"setglobal date %s" % po['releaseDate'])
    twillReplace.add(r"^# if release ", '')

    if setVersion:

        # Replace in Properties files:
        propReplace.replaceGlob('Properties.py')
        propReplace.replaceGlob('*/Properties.py')

        # Replace in existing HTML:
        htmlReplace.replaceGlob('*/Docs/*.html')
        htmlReplace.replaceGlob('Docs/*.html')

        # Replace in reStructuredText files:
        rstReplace.replaceGlob('*/Docs/*.txt')
        rstReplace.replaceGlob('Docs/*.txt')

        # Replace in global README file:
        rstReplace.replaceGlob('_README')

        # Replace in twill test scripts:
        twillReplace.replaceGlob('WebKit/Tests/twill/*.twill')

    # Process release notes:

    if setVersion or newRelease:
        template = open('DocSupport/RelNotesTemplate.phtml', 'rb').read()
        infile = 'RelNotes-X.Y.phtml'
        outfile = infile.replace('X.Y', po['versionString'])
        for filename in ['Docs/' + infile] + glob('*/Docs/' + infile):
            if verbose:
                print "Processing " + filename
            current = open(filename, 'rb').read()
            if current == template:
                if newRelease:
                    print "Kept empty " + filename
                    continue
                else:
                    print "Removing empty " + filename
                    if os.system('git rm ' + filename):
                        print "git rm not possible."
                        os.remove(filename)
            else:
                if newRelease:
                    phtmlReplace.replaceInFile(filename)
                newName = os.path.join(os.path.split(filename)[0], outfile)
                print "Renaming %s to %s" % (filename, outfile)
                if os.system('git mv -f %s %s' % (filename, newName)):
                    print "git mv not possible."
                    os.rename(filename, newName)
                if newRelease:
                    print "Creating empty " + filename
                    open(filename, 'wb').write(template)
                    if os.system('git add ' + filename):
                        print "git add not possible."
Exemplo n.º 2
0
        data = open(filename).read()
        newdata = self.replaceInStr(data)
        if data == newdata:
            if verbose:
                print 'Unchanged ' + filename
        else:
            print 'Updating ' + filename
            open(filename, 'w').write(newdata)

    def replaceGlob(self, pattern):
        for file in glob(pattern):
            if os.path.exists(file):
                self.replaceInFile(file)

po = PropertiesObject()
po.loadValues(version=version, releaseDate=releaseDate)
po.createVersionString()

if po['versionString'] == 'X.Y':
    print "Please set the version."
    sys.exit(1)
elif po['releaseDate'] == '@@/@@/@@':
    print "Please set the release Date."
    sys.exit(1)

propReplace = Replacer()
propReplace.add(r"(version\s*=)\s*.*",  r"\g<1> %s" % repr(version))
propReplace.add(r"(releaseDate\s*=)\s*.*", r"\g<1> %s" % repr(releaseDate))

htmlReplace = Replacer()
htmlReplace.add(r"<!--\s*version\s*-->[^<]*<!--\s*/version\s*-->",
Exemplo n.º 3
0
		data = open(filename).read()
		newdata = self.replaceInStr(data)
		if data == newdata:
			if verbose:
				print 'Unchanged ' + filename
		else:
			print 'Updating ' + filename
			open(filename, 'w').write(newdata)

	def replaceGlob(self, pattern):
		for file in glob(pattern):
			if os.path.exists(file):
				self.replaceInFile(file)

po = PropertiesObject()
po.loadValues({'version': version, 'releaseDate': releaseDate})
po.createVersionString()

if po['versionString'] == 'X.Y':
	print "Please set the version."
	sys.exit(1)
elif po['releaseDate'] == '@@/@@/@@':
	print "Please set the release Date."
	sys.exit(1)

propReplace = Replacer()
propReplace.add(r"(version\s*=)\s*.*",  r"\g<1> %s" % repr(version))
propReplace.add(r"(releaseDate\s*=)\s*.*", r"\g<1> %s" % repr(releaseDate))

htmlReplace = Replacer()
htmlReplace.add(r"<!--\s*version\s*-->[^<]*<!--\s*/version\s*-->",