forked from qt-creator/qt-creator
		
	Change-Id: I2b8718d225cf6cc3c0249237e6486253b03949dd Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
		
			
				
	
	
		
			84 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env python
 | 
						|
#
 | 
						|
# Script for automatically updating share.qbs
 | 
						|
# Usage: Just call it without arguments.
 | 
						|
#
 | 
						|
 | 
						|
import os
 | 
						|
import posixpath as path
 | 
						|
import inspect
 | 
						|
 | 
						|
scriptFileName = path.basename(inspect.getfile(inspect.currentframe()))
 | 
						|
shareDirPath = path.dirname(inspect.getfile(inspect.currentframe()))
 | 
						|
print "updating " + shareDirPath + "/share.qbs"
 | 
						|
 | 
						|
os.chdir(shareDirPath)
 | 
						|
try:
 | 
						|
    f = open('share.qbs', 'w')
 | 
						|
except:
 | 
						|
    print "Could not open share.qbs"
 | 
						|
    quit(1)
 | 
						|
 | 
						|
def writeln(line):
 | 
						|
    f.write(line)
 | 
						|
    f.write("\n")
 | 
						|
 | 
						|
writeln("import qbs.base 1.0")
 | 
						|
writeln("")
 | 
						|
writeln("Product {")
 | 
						|
writeln("    type: [\"installed_content\"]")
 | 
						|
writeln("    name: \"SharedContent\"")
 | 
						|
filenamedict = {}
 | 
						|
blacklist = [
 | 
						|
    scriptFileName,
 | 
						|
    "static.pro", "share.pro", "share.qbs",
 | 
						|
    "qtcreator_cs.ts",
 | 
						|
    "qtcreator_de.ts",
 | 
						|
    "qtcreator_es.ts",
 | 
						|
    "qtcreator_fr.ts",
 | 
						|
    "qtcreator_hu.ts",
 | 
						|
    "qtcreator_it.ts",
 | 
						|
    "qtcreator_ja.ts",
 | 
						|
    "qtcreator_pl.ts",
 | 
						|
    "qtcreator_ru.ts",
 | 
						|
    "qtcreator_sl.ts",
 | 
						|
    "qtcreator_uk.ts",
 | 
						|
    "qtcreator_zh_CN.ts"]
 | 
						|
for root, dirs, files in os.walk("."):
 | 
						|
    try:
 | 
						|
        dirs.remove('.moc')
 | 
						|
        dirs.remove('.rcc')
 | 
						|
        dirs.remove('.uic')
 | 
						|
        dirs.remove('.obj')
 | 
						|
    except: pass
 | 
						|
 | 
						|
    root = root.replace('\\', '/')
 | 
						|
    for file in files:
 | 
						|
        if not (file in blacklist):
 | 
						|
            if not root in filenamedict:
 | 
						|
                filenamedict[root] = [file]
 | 
						|
            else:
 | 
						|
                filenamedict[root].append(file)
 | 
						|
 | 
						|
for directory in sorted(filenamedict.iterkeys()):
 | 
						|
    prefix = directory.replace('\\', '/')
 | 
						|
    if prefix.startswith("./"):
 | 
						|
        prefix = path.normpath(prefix[2:])
 | 
						|
    if not prefix.endswith("/"):
 | 
						|
        prefix += "/"
 | 
						|
    normalizedDirectory = path.normpath(directory.replace('\\', '/'))
 | 
						|
    writeln("")
 | 
						|
    writeln("    Group {")
 | 
						|
    writeln("        qbs.installDir: \"share/" + normalizedDirectory + "\"")
 | 
						|
    writeln("        fileTags: [\"install\"]")
 | 
						|
    writeln("        prefix: \"" + prefix + "\"")
 | 
						|
    writeln("        files: [")
 | 
						|
    for fname in sorted(filenamedict[directory]):
 | 
						|
        writeln("            \"" + fname + "\",")
 | 
						|
    writeln("        ]")
 | 
						|
    writeln("    }")
 | 
						|
 | 
						|
writeln("}")
 | 
						|
writeln("")
 | 
						|
 |