Skip to content

Commit

Permalink
fix(detectable): Revised delegation of creation of proxyInfo
Browse files Browse the repository at this point in the history
  • Loading branch information
crowleySynopsys committed Feb 25, 2020
1 parent 55a940d commit d7690ba
Show file tree
Hide file tree
Showing 7 changed files with 13 additions and 27 deletions.
Expand Up @@ -38,7 +38,6 @@
import com.synopsys.integration.detectable.detectable.result.FilesNotFoundDetectableResult;
import com.synopsys.integration.detectable.detectable.result.InspectorNotFoundDetectableResult;
import com.synopsys.integration.detectable.detectable.result.PassedDetectableResult;
import com.synopsys.integration.rest.proxy.ProxyInfo;

@DetectableInfo(language = "various", forge = "Maven Central", requirementsMarkdown = "File: build.gradle or build.gradle.kts.<br/><br/>Executable: gradlew or gradle.")
public class GradleDetectable extends Detectable {
Expand All @@ -50,20 +49,18 @@ public class GradleDetectable extends Detectable {
private final GradleInspectorResolver gradleInspectorResolver;
private final GradleInspectorExtractor gradleInspectorExtractor;
private final GradleInspectorOptions gradleInspectorOptions;
private final ProxyInfo proxyInfo;

private File gradleExe;
private File gradleInspector;

public GradleDetectable(final DetectableEnvironment environment, final FileFinder fileFinder, final GradleResolver gradleResolver, final GradleInspectorResolver gradleInspectorResolver,
final GradleInspectorExtractor gradleInspectorExtractor, final GradleInspectorOptions gradleInspectorOptions, final ProxyInfo proxyInfo) {
final GradleInspectorExtractor gradleInspectorExtractor, final GradleInspectorOptions gradleInspectorOptions) {
super(environment);
this.fileFinder = fileFinder;
this.gradleResolver = gradleResolver;
this.gradleInspectorResolver = gradleInspectorResolver;
this.gradleInspectorExtractor = gradleInspectorExtractor;
this.gradleInspectorOptions = gradleInspectorOptions;
this.proxyInfo = proxyInfo;
}

@Override
Expand Down Expand Up @@ -99,6 +96,6 @@ public DetectableResult extractable() throws DetectableException {
@Override
public Extraction extract(final ExtractionEnvironment extractionEnvironment) {
String gradleCommand = gradleInspectorOptions.getGradleBuildCommand().orElse(""); // TODO: Nullable.
return gradleInspectorExtractor.extract(environment.getDirectory(), gradleExe, gradleCommand, proxyInfo, gradleInspector, extractionEnvironment.getOutputDirectory());
return gradleInspectorExtractor.extract(environment.getDirectory(), gradleExe, gradleCommand, gradleInspectorOptions.getproxyInfo(), gradleInspector, extractionEnvironment.getOutputDirectory());
}
}
Expand Up @@ -194,7 +194,6 @@
import com.synopsys.integration.detectable.detectables.yarn.YarnLockExtractor;
import com.synopsys.integration.detectable.detectables.yarn.parse.YarnLockParser;
import com.synopsys.integration.detectable.detectables.yarn.parse.YarnTransformer;
import com.synopsys.integration.rest.proxy.ProxyInfo;

/*
Entry point for creating detectables using most
Expand Down Expand Up @@ -280,10 +279,8 @@ public GoGradleDetectable createGoGradleDetectable(final DetectableEnvironment e
return new GoGradleDetectable(environment, fileFinder, goGradleExtractor());
}

public GradleDetectable createGradleDetectable(final DetectableEnvironment environment, final GradleInspectorOptions gradleInspectorOptions, final GradleInspectorResolver gradleInspectorResolver, final GradleResolver gradleResolver,
final
ProxyInfo proxyInfo) {
return new GradleDetectable(environment, fileFinder, gradleResolver, gradleInspectorResolver, gradleInspectorExtractor(), gradleInspectorOptions, proxyInfo);
public GradleDetectable createGradleDetectable(final DetectableEnvironment environment, final GradleInspectorOptions gradleInspectorOptions, final GradleInspectorResolver gradleInspectorResolver, final GradleResolver gradleResolver) {
return new GradleDetectable(environment, fileFinder, gradleResolver, gradleInspectorResolver, gradleInspectorExtractor(), gradleInspectorOptions);
}

public GradleParseDetectable createGradleParseDetectable(final DetectableEnvironment environment) {
Expand Down
Expand Up @@ -35,7 +35,6 @@
import com.synopsys.integration.detectable.detectables.gradle.inspection.GradleInspectorOptions;
import com.synopsys.integration.detectable.util.MockDetectableEnvironment;
import com.synopsys.integration.detectable.util.MockFileFinder;
import com.synopsys.integration.rest.proxy.ProxyInfo;

public class GradleInspectorDetectableTest {
@Test
Expand All @@ -45,12 +44,11 @@ public void testApplicable() {
final GradleInspectorResolver gradleInspectorResolver = null;
final GradleInspectorExtractor gradleInspectorExtractor = null;
final GradleInspectorOptions gradleInspectorOptions = null;
final ProxyInfo proxyInfo = null;

final DetectableEnvironment environment = MockDetectableEnvironment.empty();
final FileFinder fileFinder = MockFileFinder.withFileNamed("build.gradle");

final GradleDetectable detectable = new GradleDetectable(environment, fileFinder, gradleResolver, gradleInspectorResolver, gradleInspectorExtractor, gradleInspectorOptions, proxyInfo);
final GradleDetectable detectable = new GradleDetectable(environment, fileFinder, gradleResolver, gradleInspectorResolver, gradleInspectorExtractor, gradleInspectorOptions);

assertTrue(detectable.applicable().getPassed());
}
Expand Down
Expand Up @@ -232,8 +232,7 @@ public DetectableFactory detectableFactory() {

@Bean()
public DetectDetectableFactory detectDetectableFactory() {
return new DetectDetectableFactory(detectableFactory(), detectableOptionFactory, detectExecutableResolver(), dockerInspectorResolver(), gradleInspectorResolver(), nugetInspectorResolver(), pipInspectorResolver(),
detectConfigurationFactory.createConnectionDetails());
return new DetectDetectableFactory(detectableFactory(), detectableOptionFactory, detectExecutableResolver(), dockerInspectorResolver(), gradleInspectorResolver(), nugetInspectorResolver(), pipInspectorResolver());
}

//#endregion Detectables
Expand Down
Expand Up @@ -48,11 +48,12 @@ import com.synopsys.integration.detectable.detectables.pip.PipenvDetectableOptio
import com.synopsys.integration.detectable.detectables.rubygems.gemspec.GemspecParseDetectableOptions
import com.synopsys.integration.detectable.detectables.sbt.SbtResolutionCacheDetectableOptions
import com.synopsys.integration.detectable.detectables.yarn.YarnLockOptions
import com.synopsys.integration.rest.proxy.ProxyInfo
import org.apache.commons.lang3.StringUtils
import org.slf4j.LoggerFactory
import java.util.*

class DetectableOptionFactory(private val detectConfiguration: PropertyConfiguration, private val diagnosticSystemOptional: Optional<DiagnosticSystem>, private val pathResolver: PathResolver) {
class DetectableOptionFactory(private val detectConfiguration: PropertyConfiguration, private val diagnosticSystemOptional: Optional<DiagnosticSystem>, private val pathResolver: PathResolver, private val proxyInfo: ProxyInfo) {
private val logger = LoggerFactory.getLogger(this.javaClass)

fun createBazelDetectableOptions(): BazelDetectableOptions {
Expand Down Expand Up @@ -117,9 +118,6 @@ class DetectableOptionFactory(private val detectConfiguration: PropertyConfigura
customRepository = configuredGradleInspectorRepositoryUrl
}

val detectConfigurationFactory = DetectConfigurationFactory(detectConfiguration, pathResolver)
val proxyInfo = detectConfigurationFactory.createBlackDuckProxyInfo()

val onlineInspectorVersion = detectConfiguration.getValue(DetectProperties.DETECT_GRADLE_INSPECTOR_VERSION).orElse(null)
val scriptOptions = GradleInspectorScriptOptions(excludedProjectNames, includedProjectNames, excludedConfigurationNames, includedConfigurationNames, customRepository, onlineInspectorVersion)
val gradleBuildCommand = detectConfiguration.getValue(DetectProperties.DETECT_GRADLE_BUILD_COMMAND).orElse(null)
Expand Down
Expand Up @@ -131,7 +131,7 @@ public DetectBoot(final DetectBootFactory detectBootFactory) {
this.detectBootFactory = detectBootFactory;
}

public DetectBootResult boot(final DetectRun detectRun, final String[] sourceArgs, final ConfigurableEnvironment environment, final EventSystem eventSystem, final DetectContext detectContext) {
public DetectBootResult boot(final DetectRun detectRun, final String[] sourceArgs, final ConfigurableEnvironment environment, final EventSystem eventSystem, final DetectContext detectContext) throws DetectUserFriendlyException {
final Gson gson = detectBootFactory.createGson();
final ObjectMapper objectMapper = detectBootFactory.createObjectMapper();
final DocumentBuilder xml = detectBootFactory.createXmlDocumentBuilder();
Expand Down Expand Up @@ -191,7 +191,7 @@ public DetectBootResult boot(final DetectRun detectRun, final String[] sourceArg
final DirectoryManager directoryManager = new DirectoryManager(detectConfigurationFactory.createDirectoryOptions(), detectRun);
final Optional<DiagnosticSystem> diagnosticSystem = createDiagnostics(detectConfiguration, detectRun, detectInfo, detectArgumentState, eventSystem, directoryManager);

final DetectableOptionFactory detectableOptionFactory = new DetectableOptionFactory(detectConfiguration, diagnosticSystem, pathResolver);
final DetectableOptionFactory detectableOptionFactory = new DetectableOptionFactory(detectConfiguration, diagnosticSystem, pathResolver, detectConfigurationFactory.createBlackDuckProxyInfo());

logger.debug("Main boot completed. Deciding what Detect should do.");

Expand Down Expand Up @@ -265,7 +265,7 @@ private void printAppropriateHelp(final List<Property> properties, final DetectA
private void printHelpJsonDocument(final List<Property> properties, final DetectInfo detectInfo, final Gson gson) {
final DetectorRuleFactory ruleFactory = new DetectorRuleFactory();
// TODO: Is there a better way to build a fake set of rules?
final DetectDetectableFactory mockFactory = new DetectDetectableFactory(null, null, null, null, null, null, null, null);
final DetectDetectableFactory mockFactory = new DetectDetectableFactory(null, null, null, null, null, null, null);
final DetectorRuleSet build = ruleFactory.createRules(mockFactory, false);
final DetectorRuleSet buildless = ruleFactory.createRules(mockFactory, true);
final List<HelpJsonDetector> buildDetectors = build.getOrderedDetectorRules().stream().map(detectorRule -> convertDetectorRule(detectorRule, build)).collect(Collectors.toList());
Expand Down
Expand Up @@ -22,7 +22,6 @@
*/
package com.synopsys.integration.detect.tool.detector.impl;

import com.synopsys.integration.detect.configuration.ConnectionDetails;
import com.synopsys.integration.detect.configuration.DetectableOptionFactory;
import com.synopsys.integration.detectable.DetectableEnvironment;
import com.synopsys.integration.detectable.detectable.inspector.GradleInspectorResolver;
Expand Down Expand Up @@ -76,19 +75,17 @@ public class DetectDetectableFactory {
private final GradleInspectorResolver gradleInspectorResolver;
private final NugetInspectorResolver nugetInspectorResolver;
private final PipInspectorResolver pipInspectorResolver;
private final ConnectionDetails connectionDetails;

public DetectDetectableFactory(final DetectableFactory detectableFactory, final DetectableOptionFactory detectableOptionFactory, final DetectExecutableResolver detectExecutableResolver,
final DockerInspectorResolver dockerInspectorResolver, final GradleInspectorResolver gradleInspectorResolver, final NugetInspectorResolver nugetInspectorResolver,
final PipInspectorResolver pipInspectorResolver, final ConnectionDetails connectionDetails) {
final PipInspectorResolver pipInspectorResolver) {
this.detectableFactory = detectableFactory;
this.detectableOptionFactory = detectableOptionFactory;
this.detectExecutableResolver = detectExecutableResolver;
this.dockerInspectorResolver = dockerInspectorResolver;
this.gradleInspectorResolver = gradleInspectorResolver;
this.nugetInspectorResolver = nugetInspectorResolver;
this.pipInspectorResolver = pipInspectorResolver;
this.connectionDetails = connectionDetails;
}

public DockerDetectable createDockerDetectable(final DetectableEnvironment environment) {
Expand Down Expand Up @@ -152,7 +149,7 @@ public GoGradleDetectable createGoGradleDetectable(final DetectableEnvironment e
}

public GradleDetectable createGradleDetectable(final DetectableEnvironment environment) {
return detectableFactory.createGradleDetectable(environment, detectableOptionFactory.createGradleInspectorOptions(), gradleInspectorResolver, detectExecutableResolver, connectionDetails.getProxyInformation());
return detectableFactory.createGradleDetectable(environment, detectableOptionFactory.createGradleInspectorOptions(), gradleInspectorResolver, detectExecutableResolver);
}

public GradleParseDetectable createGradleParseDetectable(final DetectableEnvironment environment) {
Expand Down

0 comments on commit d7690ba

Please sign in to comment.