def setPathsForProjectPlatform(self, projectName, platform): self.setPathsForProject(projectName) self._varMgr.set('ShortPlatform', PlatformUtil.toPlatformFolderName(platform)) self._varMgr.set('Platform', platform) self._varMgr.set('ProjectPlatformRoot', '[ProjectRoot]/[ShortProjectName]-[ShortPlatform]') self._varMgr.set('ProjectAssetsDir', '[ProjectPlatformRoot]/Assets') self._varMgr.set('UnityGeneratedProjectEditorPath', '[ProjectPlatformRoot]/[ShortProjectName]-[ShortPlatform].CSharp.Editor.Plugins.csproj') self._varMgr.set('UnityGeneratedProjectPath', '[ProjectPlatformRoot]/[ShortProjectName]-[ShortPlatform].CSharp.Plugins.csproj') # For reasons I don't understand, the unity generated project is named with 'Assembly' on some machines and not other # Problem due to unity version but for now just allow either or self._varMgr.set('UnityGeneratedProjectEditorPath2', '[ProjectPlatformRoot]/Assembly-CSharp-Editor-firstpass.csproj') self._varMgr.set('UnityGeneratedProjectPath2', '[ProjectPlatformRoot]/Assembly-CSharp-firstpass.csproj') self._varMgr.set('PluginsDir', '[ProjectAssetsDir]/Plugins') self._varMgr.set('PluginsAndroidDir', '[PluginsDir]/Android') self._varMgr.set('PluginsAndroidLibraryDir', '[PluginsDir]/Android/libs') self._varMgr.set('PluginsIosLibraryDir', '[PluginsDir]/iOS') self._varMgr.set('PluginsWebGlLibraryDir', '[PluginsDir]/WebGL') self._varMgr.set('StreamingAssetsDir', '[ProjectAssetsDir]/StreamingAssets') self._varMgr.set('IntermediateFilesDir', '[ProjectPlatformRoot]/obj') self._varMgr.set('SolutionPath', '[ProjectRoot]/[ProjectName]-[Platform].sln')
def openUnity(self, projectName, platform): with self._log.heading('Opening Unity'): projectPath = self._sys.canonicalizePath( "[UnityProjectsDir]/{0}/{1}-{2}".format( projectName, self._commonSettings.getShortProjectName(projectName), PlatformUtil.toPlatformFolderName(platform))) self._sys.executeNoWait( '"[UnityExePath]" -buildTarget {0} -projectPath "{1}"'.format( self._getBuildTargetArg(platform), projectPath))
def runEditorFunctionRaw(self, projectName, platform, editorCommand, extraArgs): logPath = self._varMgr.expandPath(UnityLogFileLocation) logWatcher = LogWatcher(logPath, self.onUnityLog) logWatcher.start() os.environ['ModestTreeBuildConfigOverride'] = "FromBuildScript" assertThat(self._varMgr.hasKey('UnityExePath'), "Could not find path variable 'UnityExePath'") try: command = '"[UnityExePath]" -buildTarget {0} -projectPath "[UnityProjectsDir]/{1}/{2}-{3}"'.format( self._getBuildTargetArg(platform), projectName, self._commonSettings.getShortProjectName(projectName), PlatformUtil.toPlatformFolderName(platform)) if editorCommand: command += ' -executeMethod ' + editorCommand command += ' ' + extraArgs self._sys.executeAndWait(command) except ProcessErrorCodeException as e: raise UnityReturnedErrorCodeException( "Error while running Unity! Command returned with error code." ) except: raise UnityUnknownErrorException( "Unknown error occurred while running Unity!") finally: logWatcher.stop() while not logWatcher.isDone: time.sleep(0.1) os.environ['ModestTreeBuildConfigOverride'] = ""
def runEditorFunctionRaw(self, projectName, platform, editorCommand, extraArgs): logPath = self._varMgr.expandPath(UnityLogFileLocation) logWatcher = LogWatcher(logPath, self.onUnityLog) logWatcher.start() os.environ['ModestTreeBuildConfigOverride'] = "FromBuildScript" assertThat(self._varMgr.hasKey('UnityExePath'), "Could not find path variable 'UnityExePath'") try: command = '"[UnityExePath]" -buildTarget {0} -projectPath "[UnityProjectsDir]/{1}/{2}-{3}"'.format(self._getBuildTargetArg(platform), projectName, self._commonSettings.getShortProjectName(projectName), PlatformUtil.toPlatformFolderName(platform)) if editorCommand: command += ' -executeMethod ' + editorCommand command += ' ' + extraArgs self._sys.executeAndWait(command) except ProcessErrorCodeException as e: raise UnityReturnedErrorCodeException("Error while running Unity! Command returned with error code.") except: raise UnityUnknownErrorException("Unknown error occurred while running Unity!") finally: logWatcher.stop() while not logWatcher.isDone: time.sleep(0.1) os.environ['ModestTreeBuildConfigOverride'] = ""
def openUnity(self, projectName, platform): with self._log.heading('Opening Unity'): projectPath = self._sys.canonicalizePath("[UnityProjectsDir]/{0}/{1}-{2}".format(projectName, self._commonSettings.getShortProjectName(projectName), PlatformUtil.toPlatformFolderName(platform))) self._sys.executeNoWait('"[UnityExePath]" -buildTarget {0} -projectPath "{1}"'.format(self._getBuildTargetArg(platform), projectPath))