use of com.synopsys.integration.detectable.detectable.result.ExecutableNotFoundDetectableResult in project synopsys-detect by blackducksoftware.
the class GradleDetectable method extractable.
@Override
public DetectableResult extractable() throws DetectableException {
List<Explanation> explanations = new ArrayList<>();
gradleExe = gradleResolver.resolveGradle(environment);
if (gradleExe == null) {
return new ExecutableNotFoundDetectableResult("gradle");
} else {
explanations.add(new FoundExecutable(gradleExe));
}
gradleInspector = gradleInspectorResolver.resolveGradleInspector();
if (gradleInspector == null) {
return new InspectorNotFoundDetectableResult("gradle");
} else {
explanations.add(new FoundInspector(gradleInspector));
}
return new PassedDetectableResult(explanations);
}
use of com.synopsys.integration.detectable.detectable.result.ExecutableNotFoundDetectableResult in project synopsys-detect by blackducksoftware.
the class FormattedOutputManagerTest method detectorOutputStatusDataTest.
@Test
public <T extends Detectable> void detectorOutputStatusDataTest() throws IllegalAccessException {
EventSystem eventSystem = new EventSystem();
FormattedOutputManager formattedOutputManager = new FormattedOutputManager(eventSystem);
DetectorRule rule = Mockito.mock(DetectorRule.class);
Mockito.when(rule.getDescriptiveName()).thenReturn("");
Mockito.when(rule.getName()).thenReturn("");
Mockito.when(rule.getDetectorType()).thenReturn(DetectorType.GO_MOD);
DetectorEvaluation detectorEvaluation = new DetectorEvaluation(rule);
ExecutableNotFoundDetectableResult result = new ExecutableNotFoundDetectableResult("go");
DetectorResult extractableResult = new DetectorResult(result.getPassed(), result.toDescription(), result.getClass(), Collections.emptyList(), Collections.emptyList());
detectorEvaluation.setExtractable(extractableResult);
detectorEvaluation.setApplicable(new DetectorResult(true, "", Collections.emptyList(), Collections.emptyList()));
detectorEvaluation.setSearchable(new DetectorResult(true, "", Collections.emptyList(), Collections.emptyList()));
detectorEvaluation.setDetectableEnvironment(new DetectableEnvironment(new File("")));
DetectorToolResult detectorToolResult = new DetectorToolResult(null, null, null, new HashSet<>(), new DetectorEvaluationTree(null, 0, null, Collections.singletonList(detectorEvaluation), new HashSet<>()), null);
eventSystem.publishEvent(Event.DetectorsComplete, detectorToolResult);
DetectInfo detectInfo = new DetectInfo("", null, "");
FormattedOutput formattedOutput = formattedOutputManager.createFormattedOutput(detectInfo);
FormattedDetectorOutput detectorOutput = formattedOutput.detectors.get(0);
Assertions.assertEquals("FAILURE", detectorOutput.status);
Assertions.assertEquals(DetectorStatusCode.EXECUTABLE_NOT_FOUND, detectorOutput.statusCode);
Assertions.assertEquals("No go executable was found.", detectorOutput.statusReason);
}
use of com.synopsys.integration.detectable.detectable.result.ExecutableNotFoundDetectableResult in project synopsys-detect by blackducksoftware.
the class SbtDetectable method sbtPluginExtractable.
// Check if SBT & a plugin can be found
private DetectableResult sbtPluginExtractable() throws DetectableException {
List<Explanation> explanations = new ArrayList<>();
sbt = sbtResolver.resolveSbt();
if (sbt == null) {
return new ExecutableNotFoundDetectableResult("sbt");
} else {
explanations.add(new FoundExecutable(sbt));
}
foundPlugin = sbtPluginFinder.isPluginInstalled(environment.getDirectory(), sbt, sbtResolutionCacheOptions.getSbtCommandAdditionalArguments());
if (!foundPlugin) {
return new SbtMissingPluginDetectableResult(environment.getDirectory().toString());
} else {
explanations.add(new FoundSbtPlugin("Dependency Graph"));
}
return new PassedDetectableResult(explanations);
}
use of com.synopsys.integration.detectable.detectable.result.ExecutableNotFoundDetectableResult in project synopsys-detect by blackducksoftware.
the class DockerDetectable method extractable.
@Override
public DetectableResult extractable() throws DetectableException {
// TODO: Can this be improved with a Requirements object? - jp
PassedResultBuilder passedResultBuilder = new PassedResultBuilder();
javaExe = javaResolver.resolveJava();
if (javaExe == null) {
return new ExecutableNotFoundDetectableResult("java");
} else {
passedResultBuilder.foundExecutable(javaExe);
}
try {
dockerExe = dockerResolver.resolveDocker();
} catch (Exception e) {
dockerExe = null;
}
if (dockerExe == null) {
if (dockerDetectableOptions.isDockerPathRequired()) {
return new ExecutableNotFoundDetectableResult("docker");
} else {
logger.debug("Docker executable not found, but it has been configured as not-required; proceeding with execution of Docker tool. Running in air-gap mode will not work without a Docker executable.");
}
} else {
passedResultBuilder.foundExecutable(dockerExe);
}
dockerInspectorInfo = dockerInspectorResolver.resolveDockerInspector();
if (dockerInspectorInfo == null) {
return new InspectorNotFoundDetectableResult("docker");
} else {
passedResultBuilder.foundInspector(dockerInspectorInfo.getDockerInspectorJar());
}
return passedResultBuilder.build();
}
Aggregations