Following the pattern of other analyzers and including the parent name

so the report doesn't list dozens of "package.swift" entries
This commit is contained in:
brianf
2017-09-14 12:29:28 -04:00
parent bbd59be1d6
commit 9175b2624d
2 changed files with 7 additions and 0 deletions

View File

@@ -142,6 +142,10 @@ public class SwiftPackageManagerAnalyzer extends AbstractFileTypeAnalyzer {
if (name != null && !name.isEmpty()) {
vendor.addEvidence(SPM_FILE_NAME, "name_project", name, Confidence.HIGHEST);
}
final File actual = dependency.getActualFile();
final String parentName = actual.getParentFile().getName();
dependency.setDisplayFileName(parentName + "/" + actual.getName());
}
setPackagePath(dependency);
}

View File

@@ -10,6 +10,7 @@ import org.owasp.dependencycheck.dependency.Dependency;
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import static org.hamcrest.CoreMatchers.equalTo;
import java.io.File;
@@ -105,6 +106,7 @@ public class SwiftAnalyzersTest extends BaseTest {
assertThat(vendorString, containsString("MIT"));
assertThat(result.getProductEvidence().toString(), containsString("EasyPeasy"));
assertThat(result.getVersionEvidence().toString(), containsString("0.2.3"));
assertThat(result.getDisplayFileName(),equalTo("EasyPeasy.podspec"));
}
/**
@@ -119,5 +121,6 @@ public class SwiftAnalyzersTest extends BaseTest {
spmAnalyzer.analyze(result, null);
assertThat(result.getProductEvidence().toString(), containsString("Gloss"));
assertThat(result.getDisplayFileName(),equalTo("Gloss/Package.swift"));
}
}