static void AddPackage(ScopeRegistry scopeRegistry, string packageName, string packageVersion) { var manifest = new Manifest(); manifest.Fetch(); var manifestUpdated = false; if (!manifest.TryGetScopeRegistry(scopeRegistry.Url, out _)) { manifest.SetScopeRegistry(scopeRegistry.Url, scopeRegistry); manifestUpdated = true; } if (!manifest.IsDependencyExists(packageName)) { manifest.SetDependency(packageName, packageVersion); manifestUpdated = true; } if (manifestUpdated) { manifest.ApplyChanges(); } Client.Add(packageVersion); }
protected override void _runStep() { var manifest = new Manifest(); manifest.Fetch(); manifest.AddScopeRegistry(_scopeRegistry); var scopeRegistry = manifest.GetScopeRegistry(_registryUrl); scopeRegistry.AddScope(_packagesScope); #if UNITY_2017_3_OR_NEWER manifest.ApplyChanges(); var addRequest = UnityEditor.PackageManager.Client.Add(_coreVersion); while (!addRequest.IsCompleted) { } addRequest = UnityEditor.PackageManager.Client.Add(_androidVersion); while (!addRequest.IsCompleted) { } addRequest = UnityEditor.PackageManager.Client.Add(_iosVersion); while (!addRequest.IsCompleted) { } #else manifest.AddDependency(_corePackageName, _coreVersion); manifest.AddDependency(_androidPackageName, _androidVersion); manifest.AddDependency(_iosPackageName, _iosVersion); manifest.ApplyChanges(); AssetDatabase.Refresh(); #endif OneSignalSetupWindow.CloseWindow(); SessionState.SetBool(_shouldShowWindowKey, true); }
public static void ResetAllSteps() { /* * ExportAndroidResourcesStep * deletes the OneSignalConfig.plugin directory */ AssetDatabase.DeleteAsset(Path.Combine("Assets", "Plugins", "Android", "OneSignalConfig.plugin")); /* * InstallEdm4UStep * deletes the edm4u directory */ AssetDatabase.DeleteAsset(Path.Combine("Assets", "ExternalDependencyManager")); /* * SetupManifestStep * handled by ExportAndroidResourcesStep */ // do nothing /* * CleanUpLegacyStep * adds a random file to the Assets/OneSignal folder */ File.Create(Path.Combine("Assets", "OneSignal", "tempfile")); /* * ImportPackagesStep * removes packages from manifest */ var manifest = new Manifest(); manifest.Fetch(); manifest.RemoveDependency("com.onesignal.unity.core"); manifest.RemoveDependency("com.onesignal.unity.android"); manifest.RemoveDependency("com.onesignal.unity.ios"); manifest.RemoveScopeRegistry("https://registry.npmjs.org"); manifest.ApplyChanges(); UnityEditor.PackageManager.Client.Resolve(); }