Exemple #1
0
#-*- coding: utf-8
import sys, os, platform, pycsharpmake
__script_path__ = os.path.dirname(os.path.abspath(__file__))
__project_path__ = os.path.dirname(os.path.dirname(__script_path__))
__assets_path__ = os.path.join(__project_path__, 'Assets')
__plugins_path__ = os.path.join(__assets_path__, 'Plugins')

## Fixme
allProtoFiles = {'client/*.proto', 'common/*.proto'}

protoDir = os.path.join(__script_path__, 'protos')
protoFileName = ' '.join({os.path.join(protoDir, x) for x in allProtoFiles})
makeFileName = os.path.join(__script_path__, 'protos_makefile.yml')

windows = platform.system().startswith("Windows")

if windows:
    exe = '%s/bin/protoc.exe --proto_path=%s --csharp_out=src/Protos %s' % (
        __script_path__, protoDir, protoFileName)
else:
    exe = '%s/bin/protoc --proto_path=%s --csharp_out=src/Protos %s' % (
        __script_path__, protoDir, protoFileName)

if os.system(exe) != 0:
    raise Exception('run protoc failed')

makefile = pycsharpmake.Makefile()
makefile.make(makeFileName, __plugins_path__, __script_path__)
					luafilename = filename.replace('.xlsx', '.lua')
					srcluapathname = pathname.replace('.xlsx', '.lua')
					desluapathname = os.path.join(luaExportDir, luafilename)
					destdir = os.path.dirname(desluapathname)
					if not os.path.exists(destdir):
						os.mkdir(destdir)
					shutil.move(srcluapathname, desluapathname)
				else:
					print('convert %s to json file' % filename)
					convertXlsx2Json(pathname)

def removeJsonFiles():
	for parent, dirs, files in os.walk(xlsxConfigFolder):
		if 'server' in parent: continue
		for filename in files:
			pathname = os.path.join(parent, filename)
			if os.path.isfile(pathname) and pathname.endswith('.json'):
				os.remove(pathname)

if __name__ == "__main__":
	# 编译codegen
	printStep('convert excel to json or lua')
	__convertXlsx2JsonOrLua();

	printStep('config gen')
	makefile = pycsharpmake.Makefile(os.path.join(__script_path__, 'bin/configgen.exe'))
	makefile.run(xlsxConfigFolder, binaryConfigFolder, debug=True)

	printStep('remove json files')
	removeJsonFiles()