Skip to content

Commit

Permalink
Update dependencies, fix build (#653)
Browse files Browse the repository at this point in the history
Co-authored-by: Yahav Itzhak <yahavi@users.noreply.github.com>
  • Loading branch information
elevenfive and yahavi committed Jul 3, 2022
1 parent ef259da commit 9548db6
Show file tree
Hide file tree
Showing 12 changed files with 166 additions and 91 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Expand Up @@ -16,4 +16,5 @@ build-info.iws
atlassian-*.xml
/.nb-gradle/private/
/itest/src/test/resources/org/jfrog/build/cache
/build-info-extractor/src/test/resources/artifactory-bi.properties
/build-info-extractor/src/test/resources/artifactory-bi.properties
local.properties
@@ -1,7 +1,14 @@
package org.jfrog.build.api.builder;

import org.apache.commons.lang3.StringUtils;
import org.jfrog.build.api.*;
import org.jfrog.build.api.Agent;
import org.jfrog.build.api.Build;
import org.jfrog.build.api.BuildAgent;
import org.jfrog.build.api.BuildRetention;
import org.jfrog.build.api.Issues;
import org.jfrog.build.api.MatrixParameter;
import org.jfrog.build.api.Module;
import org.jfrog.build.api.Vcs;
import org.jfrog.build.api.release.PromotionStatus;

import java.text.SimpleDateFormat;
Expand Down
Expand Up @@ -5,13 +5,13 @@
import org.apache.maven.model.Model;
import org.apache.maven.model.Parent;
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.Namespace;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.Namespace;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;
import org.jfrog.build.extractor.EolDetectingInputStream;
import org.jfrog.build.extractor.maven.reader.ModuleName;

Expand Down
Expand Up @@ -13,6 +13,8 @@
import java.util.Map;
import java.util.Set;

import javax.swing.tree.TreeNode;

/**
* @author Yahav Itzhak
*/
Expand All @@ -31,9 +33,10 @@ public class NpmDependencyTree {
public static DependencyTree createDependencyTree(JsonNode npmList, NpmScope scope, Path workingDir) {
DependencyTree rootNode = new DependencyTree();
populateDependenciesTree(rootNode, npmList.get("dependencies"), new String[]{getProjectName(npmList, workingDir)}, scope);
for (DependencyTree child : rootNode.getChildren()) {
NpmPackageInfo packageInfo = (NpmPackageInfo) child.getUserObject();
child.setScopes(getScopes(packageInfo.getName(), packageInfo.getScope()));
for (TreeNode child : rootNode.getChildren()) {
DependencyTree dependencyTree = (DependencyTree) child;
NpmPackageInfo packageInfo = (NpmPackageInfo) dependencyTree.getUserObject();
dependencyTree.setScopes(getScopes(packageInfo.getName(), packageInfo.getScope()));
}
return rootNode;
}
Expand Down
Expand Up @@ -3,6 +3,7 @@
import org.apache.commons.lang3.StringUtils;
import org.jfrog.build.api.release.PromotionStatus;
import org.jfrog.build.extractor.ci.*;
import org.jfrog.build.extractor.ci.Module;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
Expand Down
Expand Up @@ -4,6 +4,7 @@
import org.jfrog.build.api.release.PromotionStatus;
import org.jfrog.build.api.util.CommonUtils;
import org.jfrog.build.extractor.ci.*;
import org.jfrog.build.extractor.ci.Module;

import java.util.Date;
import java.util.List;
Expand Down
Expand Up @@ -6,6 +6,8 @@
import org.jfrog.build.api.util.Log;

import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeNode;

import java.util.*;
import java.util.stream.Collectors;

Expand Down Expand Up @@ -110,7 +112,7 @@ public void setMetadata(boolean metadata) {

public void setPrefix(String prefix) {
packagePrefix = prefix.toLowerCase() + "://";
getChildren().forEach(node -> node.setPrefix(prefix));
getChildren().forEach(node -> ((DependencyTree)node).setPrefix(prefix));
}

/**
Expand All @@ -125,13 +127,13 @@ public int getIssueCount() {
* @return Node's children
*/
@SuppressWarnings({"WeakerAccess", "unchecked"})
public Vector<DependencyTree> getChildren() {
public Vector<TreeNode> getChildren() {
return children != null ? children : new Vector<>();
}

@JsonProperty(value = "nodes")
@SuppressWarnings({"unchecked", "unused"})
public List<DependencyTree> getNodes() {
public List<TreeNode> getNodes() {
return children;
}

Expand All @@ -146,7 +148,7 @@ public List<DependencyTree> getNodes() {
@SuppressWarnings({"WeakerAccess", "unused"})
public Set<Issue> processTreeIssues() {
setIssuesComponent();
getChildren().forEach(child -> issues.addAll(child.processTreeIssues()));
getChildren().forEach(child -> issues.addAll(((DependencyTree)child).processTreeIssues()));
setTopIssue();
sortChildren();
return issues;
Expand All @@ -160,7 +162,10 @@ private void setIssuesComponent() {
}

private void sortChildren() {
getChildren().sort(Comparator
Vector children = getChildren();
Vector<DependencyTree> dependencyTrees = (Vector<DependencyTree>) children;

dependencyTrees.sort(Comparator
.comparing(DependencyTree::getTopIssue, Comparator.comparing(Issue::getSeverity))
.thenComparing(DependencyTree::getIssueCount)
.thenComparing(DependencyTree::getChildCount)
Expand Down Expand Up @@ -188,7 +193,7 @@ private void setTopIssue() {
public Set<License> processTreeViolatedLicenses() {
setViolatedLicensesComponent();
violatedLicenses.addAll(licenses.stream().filter(License::isViolate).collect(Collectors.toSet()));
getChildren().forEach(child -> violatedLicenses.addAll(child.processTreeViolatedLicenses()));
getChildren().forEach(child -> violatedLicenses.addAll(((DependencyTree)child).processTreeViolatedLicenses()));
return violatedLicenses;
}

Expand Down Expand Up @@ -226,7 +231,7 @@ public DependencyTree find(String componentId) {
return this;
}
return getChildren().stream()
.map(child -> child.find(componentId))
.map(child -> ((DependencyTree)child).find(componentId))
.filter(Objects::nonNull)
.findAny()
.orElse(null);
Expand Down
Expand Up @@ -5,6 +5,7 @@
import org.jfrog.build.extractor.builder.DependencyBuilder;
import org.jfrog.build.extractor.builder.ModuleBuilder;
import org.jfrog.build.extractor.ci.*;
import org.jfrog.build.extractor.ci.Module;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.DataProvider;
Expand Down
Expand Up @@ -7,6 +7,7 @@
import org.jfrog.build.api.release.PromotionStatus;
import org.jfrog.build.extractor.builder.BuildInfoBuilder;
import org.jfrog.build.extractor.ci.*;
import org.jfrog.build.extractor.ci.Module;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
Expand Down

0 comments on commit 9548db6

Please sign in to comment.