Skip to content

Commit a8c2445

Browse files
committed
add back accidentally deleted tests and refactor Scope usage.
1 parent c0427a8 commit a8c2445

5 files changed

Lines changed: 20 additions & 21 deletions

File tree

src/main/java/com/redhat/exhort/providers/BaseJavaProvider.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,14 @@
2525
import java.util.Map;
2626
import java.util.Objects;
2727
import java.util.TreeMap;
28-
import org.cyclonedx.model.Component;
2928

3029
public abstract class BaseJavaProvider extends Provider {
3130

3231
protected BaseJavaProvider(Ecosystem.Type ecosystem, Path manifest) {
3332
super(ecosystem, manifest);
3433
}
3534

36-
void parseDependencyTree(
37-
String src, int srcDepth, String[] lines, Sbom sbom, Component.Scope scope) {
35+
void parseDependencyTree(String src, int srcDepth, String[] lines, Sbom sbom, String scope) {
3836
if (lines.length == 0) {
3937
return;
4038
}

src/main/java/com/redhat/exhort/providers/GradleProvider.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
import java.util.regex.Matcher;
3939
import java.util.regex.Pattern;
4040
import java.util.stream.Collectors;
41-
import org.cyclonedx.model.Component;
4241
import org.tomlj.Toml;
4342
import org.tomlj.TomlParseResult;
4443
import org.tomlj.TomlTable;
@@ -52,6 +51,8 @@ public final class GradleProvider extends BaseJavaProvider {
5251

5352
public static String RUNTIME_CLASSPATH = "runtimeClasspath";
5453
public static String COMPILE_CLASSPATH = "compileClasspath";
54+
public static String REQUIRED = "required";
55+
public static String OPTIONAL = "optional";
5556

5657
private static final Logger log = LoggersFactory.getLogger(GradleProvider.class.getName());
5758

@@ -292,10 +293,8 @@ private Sbom buildSbomFromTextFormat(
292293
List<String> runtimePreparedLines = prepareLinesForParsingDependencyTree(runtimeConfig);
293294
List<String> compilePreparedLines = prepareLinesForParsingDependencyTree(compileConfig);
294295

295-
parseDependencyTree(
296-
root, 0, runtimePreparedLines.toArray(new String[0]), sbom, Component.Scope.REQUIRED);
297-
parseDependencyTree(
298-
root, 0, compilePreparedLines.toArray(new String[0]), sbom, Component.Scope.OPTIONAL);
296+
parseDependencyTree(root, 0, runtimePreparedLines.toArray(new String[0]), sbom, REQUIRED);
297+
parseDependencyTree(root, 0, compilePreparedLines.toArray(new String[0]), sbom, OPTIONAL);
299298

300299
} else {
301300
List<ProcessedLine> runtimePreparedLines =
@@ -309,17 +308,15 @@ private Sbom buildSbomFromTextFormat(
309308
runtimeArrayForSbom.add(line.getLine());
310309
}
311310
}
312-
parseDependencyTree(
313-
root, 0, runtimeArrayForSbom.toArray(new String[0]), sbom, Component.Scope.REQUIRED);
311+
parseDependencyTree(root, 0, runtimeArrayForSbom.toArray(new String[0]), sbom, REQUIRED);
314312

315313
List<String> compileArrayForSbom = new ArrayList<>();
316314
for (ProcessedLine line : compilePreparedLines) {
317315
if (line.getDepth() == 1) {
318316
compileArrayForSbom.add(line.getLine());
319317
}
320318
}
321-
parseDependencyTree(
322-
root, 0, compileArrayForSbom.toArray(new String[0]), sbom, Component.Scope.OPTIONAL);
319+
parseDependencyTree(root, 0, compileArrayForSbom.toArray(new String[0]), sbom, OPTIONAL);
323320
}
324321
return sbom;
325322
}

src/main/java/com/redhat/exhort/sbom/CycloneDXSbom.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,11 @@ private List<String> createIgnoreFilter(List<Dependency> deps, Collection<String
216216
}
217217

218218
@Override
219-
public Sbom addDependency(PackageURL sourceRef, PackageURL targetRef, Component.Scope scope) {
219+
public Sbom addDependency(PackageURL sourceRef, PackageURL targetRef, String s) {
220+
Component.Scope scope = null;
221+
if (s != null) {
222+
scope = Component.Scope.valueOf(s.toUpperCase());
223+
}
220224
Component srcComp = newComponent(sourceRef, scope);
221225
Dependency srcDep;
222226
if (bom.getComponents().stream().noneMatch(c -> c.getBomRef().equals(srcComp.getBomRef()))) {

src/main/java/com/redhat/exhort/sbom/Sbom.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import com.github.packageurl.PackageURL;
1919
import java.util.Collection;
20-
import org.cyclonedx.model.Component;
2120

2221
public interface Sbom {
2322

@@ -27,7 +26,7 @@ public interface Sbom {
2726

2827
public <T> Sbom filterIgnoredDeps(Collection<T> ignoredDeps);
2928

30-
public Sbom addDependency(PackageURL sourceRef, PackageURL targetRef, Component.Scope scope);
29+
public Sbom addDependency(PackageURL sourceRef, PackageURL targetRef, String scope);
3130

3231
public String getAsJsonString();
3332

src/test/java/com/redhat/exhort/providers/Gradle_Provider_Test.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,13 @@ abstract class Gradle_Provider_Test extends ExhortTest {
4646
// - build.gradle: the target manifest for testing
4747
// - expected_sbom.json: the SBOM expected to be provided
4848
static Stream<String> testFolders() {
49-
return Stream.of("deps_with_ignore_full_specification");
50-
// "deps_with_ignore_named_params",
51-
// "deps_with_ignore_notations",
52-
// "deps_with_no_ignore_common_paths",
53-
// "deps_with_duplicate_no_version",
54-
// "deps_with_duplicate_different_versions");
49+
return Stream.of(
50+
"deps_with_ignore_full_specification",
51+
"deps_with_ignore_named_params",
52+
"deps_with_ignore_notations",
53+
"deps_with_no_ignore_common_paths",
54+
"deps_with_duplicate_no_version",
55+
"deps_with_duplicate_different_versions");
5556
}
5657

5758
@ParameterizedTest

0 commit comments

Comments
 (0)