Exemple #1
0
        /* --- 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.");
                    }
                }
            }
        }
Exemple #2
0
        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);
                }
            }
        }