/* --- Task Methods --- */ // Override the ExecuteTask method. protected override void ExecuteTask() { CreateService(); projects = new List <AgentProjectInfo>(); ScanFiles(); // determine product name and version String productName; if (String.IsNullOrEmpty(Product)) { productName = Project.ProjectName; } else { productName = Product; } String productVersion = ""; if (String.IsNullOrEmpty(ProductVersion)) { productVersion = ProductVersion; } // send check policies request bool doUpdateInventory = false; if (CheckPolicies != null) { Log(Level.Info, "Checking policies"); CheckPoliciesResult checkPoliciesResult = service.CheckPolicies(ApiKey, productName, productVersion, projects); doUpdateInventory = HandlePoliciesResult(checkPoliciesResult); } if (doUpdateInventory) { // send update request Log(Level.Info, "Updating White Source"); UpdateInventoryResult updateInventoryResult = service.Update(ApiKey, productName, productVersion, projects); if (updateInventoryResult != null) { LogUpdateResult(updateInventoryResult); if (CheckPolicies.FailOnRejection) { throw new BuildException("Build failed due to policy violations."); } } } }
private void LogUpdateResult(UpdateInventoryResult result) { Log(Level.Info, "White Source update results:"); Log(Level.Info, "White Source organization: " + result.Organization); // newly created projects List <String> createdProjects = result.CreatedProjects; if (createdProjects.Count == 0) { Log(Level.Info, "No new projects found"); } else { Log(Level.Info, createdProjects.Count + " Newly created projects:"); foreach (String projectName in createdProjects) { Log(Level.Info, projectName); } } // updated projects List <String> updatedProjects = result.UpdatedProjects; if (updatedProjects.Count == 0) { Log(Level.Info, "No projects were updated"); } else { Log(Level.Info, updatedProjects.Count + " existing projects were updated:"); foreach (String projectName in updatedProjects) { Log(Level.Info, projectName); } } }