mirror of
https://github.com/ysoftdevs/DependencyCheck.git
synced 2026-03-22 09:09:31 +01:00
improve vendor evidences for .gemspec analyzer
This commit is contained in:
@@ -122,7 +122,15 @@ public class RubyGemspecAnalyzer extends AbstractFileTypeAnalyzer {
|
|||||||
if (matcher.find()) {
|
if (matcher.find()) {
|
||||||
contents = contents.substring(matcher.end());
|
contents = contents.substring(matcher.end());
|
||||||
final String blockVariable = matcher.group(1);
|
final String blockVariable = matcher.group(1);
|
||||||
|
|
||||||
final EvidenceCollection vendor = dependency.getVendorEvidence();
|
final EvidenceCollection vendor = dependency.getVendorEvidence();
|
||||||
|
final EvidenceCollection product = dependency.getProductEvidence();
|
||||||
|
final String name = addStringEvidence(product, contents, blockVariable, "name", "name", Confidence.HIGHEST);
|
||||||
|
if (!name.isEmpty()) {
|
||||||
|
vendor.addEvidence(GEMSPEC, "name_project", name + "_project", Confidence.LOW);
|
||||||
|
}
|
||||||
|
addStringEvidence(product, contents, blockVariable, "summary", "summary", Confidence.LOW);
|
||||||
|
|
||||||
addStringEvidence(vendor, contents, blockVariable, "author", "authors?", Confidence.HIGHEST);
|
addStringEvidence(vendor, contents, blockVariable, "author", "authors?", Confidence.HIGHEST);
|
||||||
// addListEvidence(vendor, contents, blockVariable, "authors", Confidence.HIGHEST);
|
// addListEvidence(vendor, contents, blockVariable, "authors", Confidence.HIGHEST);
|
||||||
addStringEvidence(vendor, contents, blockVariable, "email", "emails?", Confidence.MEDIUM);
|
addStringEvidence(vendor, contents, blockVariable, "email", "emails?", Confidence.MEDIUM);
|
||||||
@@ -130,18 +138,14 @@ public class RubyGemspecAnalyzer extends AbstractFileTypeAnalyzer {
|
|||||||
// addListEvidence(vendor, contents, blockVariable, EMAIL, Confidence.MEDIUM);
|
// addListEvidence(vendor, contents, blockVariable, EMAIL, Confidence.MEDIUM);
|
||||||
// }
|
// }
|
||||||
addStringEvidence(vendor, contents, blockVariable, "homepage", "homepage", Confidence.HIGHEST);
|
addStringEvidence(vendor, contents, blockVariable, "homepage", "homepage", Confidence.HIGHEST);
|
||||||
addStringEvidence(vendor, contents, blockVariable, "license", "licen[cs]es", Confidence.HIGHEST);
|
addStringEvidence(vendor, contents, blockVariable, "license", "licen[cs]es?", Confidence.HIGHEST);
|
||||||
|
|
||||||
final EvidenceCollection product = dependency.getProductEvidence();
|
|
||||||
final String name = addStringEvidence(product, contents, blockVariable, "name", "name", Confidence.HIGHEST);
|
|
||||||
if (!name.isEmpty()) {
|
|
||||||
vendor.addEvidence(GEMSPEC, "name_project", name + "_project", Confidence.LOW);
|
|
||||||
}
|
|
||||||
addStringEvidence(product, contents, blockVariable, "summary", "summary", Confidence.LOW);
|
|
||||||
String value = addStringEvidence(dependency.getVersionEvidence(), contents, blockVariable, "version", "version", Confidence.HIGHEST);
|
String value = addStringEvidence(dependency.getVersionEvidence(), contents, blockVariable, "version", "version", Confidence.HIGHEST);
|
||||||
if(value.length() < 1)
|
if(value.length() < 1)
|
||||||
addEvidenceFromVersionFile(dependency.getActualFile(), dependency.getVersionEvidence());
|
addEvidenceFromVersionFile(dependency.getActualFile(), dependency.getVersionEvidence());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setPackagePath(dependency);
|
||||||
}
|
}
|
||||||
|
|
||||||
// private void addListEvidence(EvidenceCollection evidences, String contents,
|
// private void addListEvidence(EvidenceCollection evidences, String contents,
|
||||||
@@ -205,4 +209,11 @@ public class RubyGemspecAnalyzer extends AbstractFileTypeAnalyzer {
|
|||||||
|
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setPackagePath(Dependency dep) {
|
||||||
|
File file = new File(dep.getFilePath());
|
||||||
|
String parent = file.getParent();
|
||||||
|
if(parent != null)
|
||||||
|
dep.setPackagePath(parent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user