public void Initialize(string unityVersion, NPath extensionInstallPath, NPath unityPath, NPath unityContentsPath, NPath assetsPath) { defaultEnvironment.Initialize(unityVersion, extensionInstallPath, unityPath, unityContentsPath, assetsPath); defaultEnvironment.LocalSettings.SettingsPath.DeleteIfExists(); defaultEnvironment.UserSettings.SettingsPath.DeleteIfExists(); defaultEnvironment.SystemSettings.SettingsPath.DeleteIfExists(); }
public void OneTimeSetup() { GitHub.Unity.Guard.InUnitTestRunner = true; LogHelper.LogAdapter = new MultipleLogAdapter(new FileLogAdapter($"..\\{DateTime.UtcNow.ToString("yyyyMMddHHmmss")}-tasksystem-tests.log")); //LogHelper.TracingEnabled = true; TaskManager = new TaskManager(); var syncContext = new ThreadSynchronizationContext(Token); TaskManager.UIScheduler = new SynchronizationContextTaskScheduler(syncContext); var env = new DefaultEnvironment(new CacheContainer()); TestBasePath = NPath.CreateTempDirectory("integration tests"); env.FileSystem.SetCurrentDirectory(TestBasePath); env.Initialize("5.6", TestBasePath, TestBasePath, TestBasePath, TestBasePath.Combine("Assets")); var repo = Substitute.For <IRepository>(); repo.LocalPath.Returns(TestBasePath); env.Repository = repo; var platform = new Platform(env); ProcessManager = new ProcessManager(env, platform.GitEnvironment, Token); var processEnv = platform.GitEnvironment; var installer = new GitInstaller(env, ProcessManager, TaskManager.Token); var state = installer.FindSystemGit(new GitInstaller.GitInstallationState()); env.GitInstallationState = state; }
private void InitGitClient() { Debug.Log("Custom Git Window Started"); if (gitClient == null) { var cacheContainer = new CacheContainer(); var defaultEnvironment = new DefaultEnvironment(cacheContainer); string unityAssetsPath = null; string unityApplicationContents = null; string unityVersion = null; NPath extensionInstallPath = default(NPath); if (unityApplication == null) { unityAssetsPath = Application.dataPath; unityApplication = EditorApplication.applicationPath; unityApplicationContents = EditorApplication.applicationContentsPath; extensionInstallPath = DetermineInstallationPath(); unityVersion = Application.unityVersion; } defaultEnvironment.Initialize(unityVersion, extensionInstallPath, unityApplication.ToNPath(), unityApplicationContents.ToNPath(), unityAssetsPath.ToNPath()); var taskManager = new TaskManager(); var processEnvironment = new ProcessEnvironment(defaultEnvironment); var processManager = new ProcessManager(defaultEnvironment, processEnvironment, taskManager.Token); gitClient = new GitClient(defaultEnvironment, processManager, taskManager.Token); } }
public static void Menu_DownloadLatestDugite() { LogHelper.LogAdapter = new UnityLogAdapter(); var unityAssetsPath = Application.dataPath; var unityApplication = EditorApplication.applicationPath; var unityApplicationContents = EditorApplication.applicationContentsPath; var extensionInstallPath = Application.dataPath.ToNPath().Parent; var unityVersion = Application.unityVersion; var env = new DefaultEnvironment(); env.Initialize(unityVersion, extensionInstallPath, unityApplication.ToNPath(), unityApplicationContents.ToNPath(), unityAssetsPath.ToNPath()); env.InitializeRepository(); TaskManager.Instance.Initialize(new UnityUIThreadSynchronizationContext()); var installer = new GitInstaller.GitInstallDetails(env.RepositoryPath, env); var manifest = DugiteReleaseManifest.Load(installer.GitManifest, GitInstaller.GitInstallDetails.GitPackageFeed, env); var downloader = new Downloader(); var downloadPath = env.RepositoryPath.Combine("downloads"); foreach (var asset in manifest.Assets) { downloadPath.Combine(asset.Url.Filename).DeleteIfExists(); downloader.QueueDownload(asset.Url, downloadPath, retryCount: 3); } downloader.Progress(p => { TaskManager.Instance.RunInUI(() => { if (EditorUtility.DisplayCancelableProgressBar(p.Message, p.InnerProgress?.InnerProgress?.Message ?? p.InnerProgress?.Message ?? p.Message, p.Percentage)) { downloader.Cancel(); } }); }).FinallyInUI((success, ex) => { EditorUtility.ClearProgressBar(); if (success) { EditorUtility.DisplayDialog("Download done", downloadPath, "Ok"); } else { EditorUtility.DisplayDialog("Error!", ex.GetExceptionMessageOnly(), "Ok"); } }).Start(); }
public void Initialize(string unityVersion, NPath extensionInstallPath, NPath unityPath, NPath unityContentsPath, NPath assetsPath) { defaultEnvironment.Initialize(unityVersion, extensionInstallPath, unityPath, unityContentsPath, assetsPath); }