public void OnPostprocessBuild(BuildReport report) { if (!UPRToolSetting.Instance.enableShaderVariantsCheck) { return; } if (s_ShaderReports == null) { Debug.Log("No shader variants found"); } else { Debug.Log("Start uploading shader variants report"); var result = new ShaderVariantsCheck { PropertyUploadList = new List <string>(), ShaderVariantsCheckUploadResults = new List <ShaderVariantsCheckResult>() }; result.PropertyUploadList.Add("Platform"); result.PropertyUploadList.Add(report.summary.platform.ToString()); foreach (var sv in s_ShaderReports.Values) { result.ShaderVariantsCheckUploadResults.AddRange(sv); } UploadResults(result); } }
private static void UploadResults(ShaderVariantsCheck result) { result.ProjectId = UPRToolSetting.Instance.projectId; var json = JsonUtility.ToJson(result); if (UPRToolSetting.Instance.projectId == "" || !isGuid(UPRToolSetting.Instance.projectId)) { UploadFailed(json, "ProjectId not specified or not valid"); return; } var uploadUrl = Utils.UploadHost + "/shader-variants-check"; var client = new WebClient { Headers = { [HttpRequestHeader.ContentType] = "application/json" } }; try { var resp = client.UploadString(uploadUrl, json); var res = JsonUtility.FromJson <ShaderVariantsCheckUploadResult>(resp); Debug.Log("You can see the shader variants report at: " + Utils.BrowserHost + "/shader-variants-check/" + res.ShaderVariantsCheckId); } catch (Exception e) { Debug.Log("Error uploading shader variants report: " + e); UploadFailed(json, "ShaderVariantsReportResult Upload failed"); } }