package_editor.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #!/usr/bin/python
  2. # Packages the editor by copying all relevant files to the Builds directory.
  3. # This will not execute the editor build, and is implied the editor has been
  4. # been built before executing this script.
  5. # Usage: "package_editor $Configuration"
  6. # Where: $Configuration - e.g. Debug, DebugRelease
  7. # TODO: Don't package Settings.asset, Game binaries, Example binaries
  8. import os
  9. import sys
  10. import shutil
  11. configuration = 'DebugRelease' #sys.argv[1]
  12. dataFoldersToIgnore = ['Examples', 'Raw']
  13. dataFolder = 'Data'
  14. assembliesFolder = 'Assemblies'
  15. monoFolder = 'Mono'
  16. libFolder = 'x64\\' + configuration + '\\'
  17. inputDataFolder = '..\\' + dataFolder
  18. inputBinFolder = '..\\bin\\'
  19. inputAssembliesFolder = inputBinFolder + assembliesFolder
  20. inputMonoFolder = inputBinFolder + monoFolder
  21. inputLibFolder = inputBinFolder + libFolder
  22. outputBaseFolder = '..\\Builds\Banshee Editor\\'
  23. outputDataFolder = outputBaseFolder + dataFolder
  24. outputBinFolder = outputBaseFolder + '\\bin\\'
  25. outputAssembliesFolder = outputBinFolder + assembliesFolder
  26. outputMonoFolder = outputBinFolder + monoFolder
  27. outputLibFolder = outputBaseFolder
  28. def ignore_data(path, entries):
  29. if path != inputDataFolder:
  30. return []
  31. return list(set(dataFoldersToIgnore) & set(entries))
  32. def package_editor():
  33. if os.path.exists(outputBaseFolder):
  34. shutil.rmtree(outputBaseFolder)
  35. os.makedirs(outputBaseFolder)
  36. shutil.copytree(inputDataFolder, outputDataFolder, False, ignore_data)
  37. shutil.copytree(inputAssembliesFolder, outputAssembliesFolder)
  38. shutil.copytree(inputMonoFolder, outputMonoFolder)
  39. for root, dirs, files in os.walk(inputLibFolder):
  40. for file in files:
  41. if(file.lower().endswith(('.dll', '.exe', '.pdb', '.so'))):
  42. filePath = os.path.join(root, file)
  43. shutil.copy(filePath, outputLibFolder)
  44. package_editor()