package_editor.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. import os
  8. import sys
  9. import shutil
  10. configuration = 'DebugRelease' #sys.argv[1]
  11. dataFoldersToIgnore = ['Examples', 'Raw']
  12. dataFolder = 'Data'
  13. assembliesFolder = 'Assemblies'
  14. monoFolder = 'Mono'
  15. libFolder = 'x64\\' + configuration + '\\'
  16. inputDataFolder = '..\\' + dataFolder
  17. inputBinFolder = '..\\bin\\'
  18. inputAssembliesFolder = inputBinFolder + assembliesFolder
  19. inputMonoFolder = inputBinFolder + monoFolder
  20. inputLibFolder = inputBinFolder + libFolder
  21. outputBaseFolder = '..\\Builds\Banshee Editor\\'
  22. outputDataFolder = outputBaseFolder + dataFolder
  23. outputBinFolder = outputBaseFolder + '\\bin\\'
  24. outputAssembliesFolder = outputBinFolder + assembliesFolder
  25. outputMonoFolder = outputBinFolder + monoFolder
  26. outputLibFolder = outputBaseFolder
  27. def ignore_data(path, entries):
  28. if path != inputDataFolder:
  29. return []
  30. return list(set(dataFoldersToIgnore) & set(entries))
  31. if os.path.exists(outputBaseFolder):
  32. shutil.rmtree(outputBaseFolder)
  33. os.makedirs(outputBaseFolder)
  34. shutil.copytree(inputDataFolder, outputDataFolder, False, ignore_data)
  35. shutil.copytree(inputAssembliesFolder, outputAssembliesFolder)
  36. shutil.copytree(inputMonoFolder, outputMonoFolder)
  37. for root, dirs, files in os.walk(inputLibFolder):
  38. for file in files:
  39. filePath = os.path.join(root, file)
  40. shutil.copy(filePath, outputLibFolder)