1 using System.Collections;
2 using System.Collections.Generic;
3 using UnityEditor.PackageManager.Requests;
4 using UnityEditor.PackageManager;
8 namespace AVR.UEditor.Core {
11 static List<string> PackageQueue =
new List<string>();
15 [MenuItem(
"AVR/Build Tarballs",
false, -10)]
19 PackageQueue.Add(
"com.avr.core");
22 PackageQueue.Add(
"com.avr.avatar");
25 PackageQueue.Add(
"com.avr.motion");
28 PackageQueue.Add(
"com.avr.phys");
31 PackageQueue.Add(
"com.avr.ui");
34 PackageQueue.Add(
"com.avr.net");
37 Debug.Log(
"Started building "+PackageQueue.Count+
" packages.");
39 EditorApplication.update += UpdateBuildProcess;
43 if(PackageQueue.Count<1) {
44 EditorApplication.update -= UpdateBuildProcess;
46 else if(Request==null || Request.IsCompleted) {
47 BuildTarball(PackageQueue[0]);
48 PackageQueue.RemoveAt(0);
53 source =
"Packages/"+source;
54 string destination = Application.dataPath+
"/../../tarballs";
56 Debug.Log(
"Started building " + source +
"...");
57 Request = Client.Pack(source, destination);
58 EditorApplication.update += Progress;
63 if (Request.IsCompleted)
65 if (Request.Status == StatusCode.Success)
66 Debug.Log(
"Tarball created: " + Request.Result.tarballPath);
67 else if (Request.Status >= StatusCode.Failure)
68 Debug.Log(Request.Error.message);
70 EditorApplication.update -= Progress;
static void BuildPackager()
static void BuildTarball(string source)
static void UpdateBuildProcess()
static PackRequest Request