├── .github ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ └── stale.yml ├── .gitignore ├── .travis.yml ├── Black Duck Privacy Policy.txt ├── LICENSE ├── README.md ├── Task ├── build.gradle ├── buildSrc ├── .gitignore ├── LICENSE ├── README.md ├── build.gradle └── src │ └── main │ └── java │ └── com │ └── blackduck │ └── integration │ └── detect │ ├── battery │ └── UpdateBatteryTask.java │ ├── docs │ ├── GenerateDocsTask.java │ ├── TemplateProvider.java │ ├── content │ │ └── Terms.java │ ├── copied │ │ ├── HelpJsonData.java │ │ ├── HelpJsonDetectable.java │ │ ├── HelpJsonDetector.java │ │ ├── HelpJsonDetectorEntryPoint.java │ │ ├── HelpJsonDetectorRule.java │ │ ├── HelpJsonDetectorStatusCode.java │ │ ├── HelpJsonExitCode.java │ │ ├── HelpJsonOption.java │ │ └── HelpJsonOptionDeprecatedValue.java │ ├── markdown │ │ ├── MarkdownEscapeUtils.java │ │ ├── MarkdownOutputFormat.java │ │ └── MarkdownOutputModel.java │ ├── model │ │ ├── DeprecatedPropertyTableGroup.java │ │ ├── Detectable.java │ │ ├── Detector.java │ │ ├── DetectorStatusCodes.java │ │ ├── SimplePropertyTableGroup.java │ │ └── SplitGroup.java │ └── pages │ │ ├── AdvancedPropertyTablePage.java │ │ ├── DeprecatedPropertyTablePage.java │ │ ├── DetectorCascadePage.java │ │ ├── DetectorEntryPoint.java │ │ ├── DetectorType.java │ │ ├── DetectorsPage.java │ │ ├── ExitCodePage.java │ │ ├── IndexPage.java │ │ └── SimplePropertyTablePage.java │ └── verification │ └── VerifyBlackDuckDetectTask.java ├── common-test ├── build.gradle └── src │ └── main │ └── java │ └── com │ └── blackduck │ └── integration │ └── detect │ └── commontest │ └── FileUtil.java ├── common ├── build.gradle └── src │ ├── main │ └── java │ │ └── com │ │ └── blackduck │ │ └── integration │ │ └── common │ │ └── util │ │ ├── Bdo.java │ │ ├── Bds.java │ │ ├── BdsPair.java │ │ ├── ProxyUtil.java │ │ ├── finder │ │ ├── FileFinder.java │ │ └── SimpleFileFinder.java │ │ └── parse │ │ └── CommandParser.java │ └── test │ └── java │ └── com │ └── blackduck │ └── integration │ └── common │ └── test │ └── util │ └── finder │ └── SimpleFileFinderTest.java ├── configuration ├── build.gradle └── src │ ├── main │ └── java │ │ └── com │ │ └── blackduck │ │ └── integration │ │ └── configuration │ │ ├── config │ │ ├── ExternalProperties.java │ │ ├── InvalidPropertyException.java │ │ ├── MaskedRawValueResult.java │ │ ├── PropertyConfiguration.java │ │ ├── resolution │ │ │ ├── NoPropertyResolution.java │ │ │ ├── PropertyResolution.java │ │ │ ├── PropertyResolutionInfo.java │ │ │ └── SourcePropertyResolution.java │ │ └── value │ │ │ ├── ExceptionPropertyValue.java │ │ │ ├── NoValuePropertyValue.java │ │ │ ├── PropertyValue.java │ │ │ ├── ResolvedPropertyValue.java │ │ │ └── ValuedPropertyValue.java │ │ ├── help │ │ └── PropertyConfigurationHelpContext.java │ │ ├── parse │ │ ├── ListValueParser.java │ │ ├── ValueParseException.java │ │ └── ValueParser.java │ │ ├── property │ │ ├── Properties.java │ │ ├── Property.java │ │ ├── PropertyBuilder.java │ │ ├── PropertyGroupInfo.java │ │ ├── PropertyHelpInfo.java │ │ ├── PropertyVersion.java │ │ ├── base │ │ │ ├── NullableAlikeProperty.java │ │ │ ├── NullableProperty.java │ │ │ ├── PassthroughProperty.java │ │ │ ├── TypedProperty.java │ │ │ ├── ValuedAlikeListProperty.java │ │ │ ├── ValuedAlikeProperty.java │ │ │ ├── ValuedListProperty.java │ │ │ └── ValuedProperty.java │ │ ├── deprecation │ │ │ ├── DeprecatedValueInfo.java │ │ │ ├── DeprecatedValueUsage.java │ │ │ ├── PropertyDeprecationInfo.java │ │ │ └── PropertyRemovalDeprecationInfo.java │ │ └── types │ │ │ ├── bool │ │ │ ├── BooleanListProperty.java │ │ │ ├── BooleanProperty.java │ │ │ ├── BooleanValueParser.java │ │ │ └── NullableBooleanProperty.java │ │ │ ├── enumallnone │ │ │ ├── enumeration │ │ │ │ ├── AllEnum.java │ │ │ │ ├── AllNoneEnum.java │ │ │ │ └── NoneEnum.java │ │ │ ├── list │ │ │ │ ├── AllEnumList.java │ │ │ │ ├── AllNoneEnumCollection.java │ │ │ │ ├── AllNoneEnumList.java │ │ │ │ ├── AllNoneEnumListBase.java │ │ │ │ └── NoneEnumList.java │ │ │ └── property │ │ │ │ ├── AllEnumListProperty.java │ │ │ │ ├── AllNoneEnumListProperty.java │ │ │ │ └── NoneEnumListProperty.java │ │ │ ├── enumextended │ │ │ ├── ExtendedEnumListProperty.java │ │ │ ├── ExtendedEnumListPropertyBase.java │ │ │ ├── ExtendedEnumProperty.java │ │ │ ├── ExtendedEnumValue.java │ │ │ ├── ExtendedEnumValueParser.java │ │ │ └── NullableExtendedEnumProperty.java │ │ │ ├── enums │ │ │ ├── EnumListProperty.java │ │ │ ├── EnumProperty.java │ │ │ ├── EnumValueParser.java │ │ │ ├── NullableEnumProperty.java │ │ │ └── SafeEnumValueParser.java │ │ │ ├── enumsoft │ │ │ ├── NullableSoftEnumProperty.java │ │ │ ├── SoftEnumListProperty.java │ │ │ ├── SoftEnumProperty.java │ │ │ ├── SoftEnumValue.java │ │ │ └── SoftEnumValueParser.java │ │ │ ├── integer │ │ │ ├── IntegerListProperty.java │ │ │ ├── IntegerProperty.java │ │ │ ├── IntegerValueParser.java │ │ │ └── NullableIntegerProperty.java │ │ │ ├── longs │ │ │ ├── LongListProperty.java │ │ │ ├── LongProperty.java │ │ │ ├── LongValueParser.java │ │ │ └── NullableLongProperty.java │ │ │ ├── path │ │ │ ├── NullablePathProperty.java │ │ │ ├── PathListProperty.java │ │ │ ├── PathProperty.java │ │ │ ├── PathResolver.java │ │ │ ├── PathValue.java │ │ │ ├── PathValueParser.java │ │ │ ├── SimplePathResolver.java │ │ │ └── TildeInPathResolver.java │ │ │ └── string │ │ │ ├── CaseSensitiveStringListProperty.java │ │ │ ├── NullableStringProperty.java │ │ │ ├── StringListProperty.java │ │ │ ├── StringListPropertyBase.java │ │ │ ├── StringProperty.java │ │ │ └── StringValueParser.java │ │ ├── source │ │ ├── JavaPropertiesPropertySource.java │ │ ├── MapPropertySource.java │ │ ├── PropertySource.java │ │ ├── SpringConfigurationPropertySource.java │ │ └── UnknownSpringConfigurationException.java │ │ └── util │ │ ├── Category.java │ │ ├── EnumPropertyUtils.java │ │ ├── Group.java │ │ ├── KeyUtils.java │ │ ├── ProductMajorVersion.java │ │ └── PropertyUtils.java │ └── test │ └── java │ └── com │ └── blackduck │ └── integration │ └── configuration │ ├── config │ ├── KeyUtilsTests.java │ ├── MapPropertySourceTests.java │ ├── MultiplePropertySourceTests.java │ ├── PropertyConfigurationTest.java │ └── SpringConfigurationPropertySourceTests.java │ ├── parse │ └── ListValueParserTest.java │ ├── property │ ├── PropertyTestHelpUtil.java │ ├── base │ │ └── ValuedListPropertyTest.java │ └── types │ │ ├── bool │ │ ├── BooleanPropertiesTests.java │ │ └── BooleanValueParserTests.java │ │ ├── enumallnone │ │ ├── AllListPropertiesTests.java │ │ ├── AllNoneListPropertiesTests.java │ │ └── NoneListPropertiesTests.java │ │ ├── enumextended │ │ ├── ExtendedEnumPropertiesTests.java │ │ └── ExtendedEnumValueParserTests.java │ │ ├── enums │ │ ├── EnumPropertiesTests.java │ │ └── EnumValueParserTests.java │ │ ├── enumsoft │ │ ├── SoftEnumPropertiesTest.java │ │ └── SoftEnumValueParserTest.java │ │ ├── integer │ │ ├── IntegerPropertiesTests.java │ │ └── IntegerValueParserTests.java │ │ ├── longs │ │ ├── LongPropertiesTests.java │ │ └── LongValueParserTests.java │ │ ├── path │ │ ├── PathPropertiesTest.java │ │ ├── PathValueParserTest.java │ │ ├── PathValueTest.java │ │ ├── SimplePathResolverTest.java │ │ └── TildeInPathResolverTest.java │ │ └── string │ │ ├── StringPropertiesTest.java │ │ └── StringValueParserTest.java │ └── util │ ├── BdoTest.java │ └── ConfigTestUtils.java ├── detectable ├── build.gradle └── src │ ├── main │ └── java │ │ └── com │ │ └── blackduck │ │ └── integration │ │ └── detectable │ │ ├── Detectable.java │ │ ├── DetectableEnvironment.java │ │ ├── ExecutableTarget.java │ │ ├── ExecutableUtils.java │ │ ├── detectable │ │ ├── DetectableAccuracyType.java │ │ ├── ExecutableTargetResolver.java │ │ ├── FailedResultCreator.java │ │ ├── PassedResultBuilder.java │ │ ├── RequirementNotMetAction.java │ │ ├── Requirements.java │ │ ├── Resolver.java │ │ ├── SearchPattern.java │ │ ├── annotation │ │ │ └── DetectableInfo.java │ │ ├── codelocation │ │ │ ├── CodeLocation.java │ │ │ └── CodeLocationType.java │ │ ├── exception │ │ │ └── DetectableException.java │ │ ├── executable │ │ │ ├── DetectableExecutableRunner.java │ │ │ ├── ExecutableFailedException.java │ │ │ └── resolver │ │ │ │ ├── BashResolver.java │ │ │ │ ├── BazelResolver.java │ │ │ │ ├── CargoResolver.java │ │ │ │ ├── ConanResolver.java │ │ │ │ ├── CondaResolver.java │ │ │ │ ├── CpanResolver.java │ │ │ │ ├── CpanmResolver.java │ │ │ │ ├── DartResolver.java │ │ │ │ ├── DockerResolver.java │ │ │ │ ├── FlutterResolver.java │ │ │ │ ├── GitResolver.java │ │ │ │ ├── GoResolver.java │ │ │ │ ├── GradleResolver.java │ │ │ │ ├── JavaResolver.java │ │ │ │ ├── LernaResolver.java │ │ │ │ ├── MavenResolver.java │ │ │ │ ├── NpmResolver.java │ │ │ │ ├── OpamResolver.java │ │ │ │ ├── PearResolver.java │ │ │ │ ├── PipResolver.java │ │ │ │ ├── PipenvResolver.java │ │ │ │ ├── PythonResolver.java │ │ │ │ ├── Rebar3Resolver.java │ │ │ │ ├── SbtResolver.java │ │ │ │ ├── SwiftResolver.java │ │ │ │ └── UVResolver.java │ │ ├── explanation │ │ │ ├── Explanation.java │ │ │ ├── FoundExecutable.java │ │ │ ├── FoundFile.java │ │ │ ├── FoundInspector.java │ │ │ ├── FoundSbtPlugin.java │ │ │ └── PropertyProvided.java │ │ ├── inspector │ │ │ ├── GradleInspectorResolver.java │ │ │ ├── PipInspectorResolver.java │ │ │ ├── ProjectInspectorResolver.java │ │ │ └── nuget │ │ │ │ └── NugetInspectorResolver.java │ │ ├── result │ │ │ ├── CargoExecutableVersionMismatchResult.java │ │ │ ├── CargoLockfileNotFoundDetectableResult.java │ │ │ ├── CartfileResolvedNotFoundDetectableResult.java │ │ │ ├── DetectableResult.java │ │ │ ├── ExceptionDetectableResult.java │ │ │ ├── ExcludedDetectableResult.java │ │ │ ├── ExecutableNotFoundDetectableResult.java │ │ │ ├── ExecutablesNotFoundDetectableResult.java │ │ │ ├── FailedDetectableResult.java │ │ │ ├── FileNotFoundDetectableResult.java │ │ │ ├── FilesNotFoundDetectableResult.java │ │ │ ├── GivenFileNotFoundDetectableResult.java │ │ │ ├── GoPkgLockfileNotFoundDetectableResult.java │ │ │ ├── InspectorNotFoundDetectableResult.java │ │ │ ├── NpmNodeModulesNotFoundDetectableResult.java │ │ │ ├── PackageResolvedNotFoundDetectableResult.java │ │ │ ├── PassedDetectableResult.java │ │ │ ├── PipfileLockNotFoundDetectableResult.java │ │ │ ├── PoetryLockfileNotFoundDetectableResult.java │ │ │ ├── PoorlyFormattedJson.java │ │ │ ├── PropertyInsufficientDetectableResult.java │ │ │ ├── PubSpecLockNotFoundDetectableResult.java │ │ │ ├── SbtMissingPluginDetectableResult.java │ │ │ ├── SectionNotFoundDetectableResult.java │ │ │ ├── SetupToolsNoDependenciesDetectableResult.java │ │ │ ├── SetupToolsRequiresNotFoundDetectableResult.java │ │ │ ├── UVLockfileNotFoundDetectableResult.java │ │ │ ├── WrongConanExecutableVersionResult.java │ │ │ └── WrongOperatingSystemResult.java │ │ └── util │ │ │ ├── DependencyHistory.java │ │ │ ├── DetectableStringUtils.java │ │ │ ├── EnumListFilter.java │ │ │ ├── ParentStack.java │ │ │ ├── SemVerComparator.java │ │ │ └── TomlFileUtils.java │ │ ├── detectables │ │ ├── bazel │ │ │ ├── BazelDetectable.java │ │ │ ├── BazelDetectableOptions.java │ │ │ ├── BazelExtractor.java │ │ │ ├── BazelProjectNameGenerator.java │ │ │ ├── BazelWorkspaceFileParser.java │ │ │ ├── WorkspaceRule.java │ │ │ └── pipeline │ │ │ │ ├── Pipeline.java │ │ │ │ ├── PipelineBuilder.java │ │ │ │ ├── Pipelines.java │ │ │ │ ├── WorkspaceRuleChooser.java │ │ │ │ ├── step │ │ │ │ ├── BazelCommandExecutor.java │ │ │ │ ├── BazelVariableSubstitutor.java │ │ │ │ ├── FinalStep.java │ │ │ │ ├── FinalStepTransformColonSeparatedGavsToMaven.java │ │ │ │ ├── FinalStepTransformGithubUrl.java │ │ │ │ ├── FinalStepTransformJsonProtoHaskellCabalLibrariesToHackage.java │ │ │ │ ├── HaskellCabalLibraryJsonProtoParser.java │ │ │ │ ├── IntermediateStep.java │ │ │ │ ├── IntermediateStepDeDupLines.java │ │ │ │ ├── IntermediateStepExecuteBazelOnEachLine.java │ │ │ │ ├── IntermediateStepParseFilterLines.java │ │ │ │ ├── IntermediateStepParseReplaceInEachLine.java │ │ │ │ ├── IntermediateStepParseSplitEach.java │ │ │ │ ├── IntermediateStepParseValuesFromXml.java │ │ │ │ ├── model │ │ │ │ │ ├── AttributeItem.java │ │ │ │ │ ├── Proto.java │ │ │ │ │ ├── ResultItem.java │ │ │ │ │ ├── Results.java │ │ │ │ │ ├── Rule.java │ │ │ │ │ └── Target.java │ │ │ │ └── parse │ │ │ │ │ └── GithubUrlParser.java │ │ │ │ └── xpathquery │ │ │ │ └── HttpArchiveXpath.java │ │ ├── bitbake │ │ │ ├── BitbakeDependencyType.java │ │ │ ├── BitbakeDetectable.java │ │ │ ├── BitbakeDetectableOptions.java │ │ │ ├── BitbakeExtractor.java │ │ │ ├── collect │ │ │ │ ├── BitbakeCommandRunner.java │ │ │ │ └── BuildFileFinder.java │ │ │ ├── data │ │ │ │ ├── BitbakeEnvironment.java │ │ │ │ ├── BitbakeRecipe.java │ │ │ │ ├── GraphNodeLabelDetails.java │ │ │ │ └── ShowRecipesResults.java │ │ │ ├── model │ │ │ │ ├── BitbakeGraph.java │ │ │ │ └── BitbakeNode.java │ │ │ ├── parse │ │ │ │ ├── BitbakeEnvironmentParser.java │ │ │ │ ├── BitbakeRecipesParser.java │ │ │ │ ├── GraphNodeLabelParser.java │ │ │ │ ├── LicenseManifestParser.java │ │ │ │ └── PwdOutputParser.java │ │ │ └── transform │ │ │ │ ├── BitbakeDependencyGraphTransformer.java │ │ │ │ └── BitbakeGraphTransformer.java │ │ ├── cargo │ │ │ ├── CargoCliDetectable.java │ │ │ ├── CargoCliExtractor.java │ │ │ ├── CargoExtractor.java │ │ │ ├── CargoLockDetectable.java │ │ │ ├── VersionUtils.java │ │ │ ├── data │ │ │ │ ├── CargoLockData.java │ │ │ │ └── CargoLockPackageData.java │ │ │ ├── model │ │ │ │ └── CargoLockPackage.java │ │ │ ├── parse │ │ │ │ ├── CargoDependencyLineParser.java │ │ │ │ └── CargoTomlParser.java │ │ │ └── transform │ │ │ │ ├── CargoDependencyGraphTransformer.java │ │ │ │ ├── CargoLockPackageDataTransformer.java │ │ │ │ └── CargoLockPackageTransformer.java │ │ ├── carthage │ │ │ ├── CarthageExtractor.java │ │ │ ├── CarthageLockDetectable.java │ │ │ ├── model │ │ │ │ └── CarthageDeclaration.java │ │ │ ├── parse │ │ │ │ └── CartfileResolvedParser.java │ │ │ └── transform │ │ │ │ └── CarthageDeclarationTransformer.java │ │ ├── clang │ │ │ ├── ClangDetectable.java │ │ │ ├── ClangDetectableOptions.java │ │ │ ├── ClangExtractor.java │ │ │ ├── ForgeChooser.java │ │ │ ├── LinuxDistroToForgeMapper.java │ │ │ ├── compilecommand │ │ │ │ ├── CompileCommand.java │ │ │ │ ├── CompileCommandDatabaseParser.java │ │ │ │ ├── CompileCommandParser.java │ │ │ │ └── OverrideOptionWithNoValueException.java │ │ │ ├── dependencyfile │ │ │ │ ├── ClangPackageDetailsTransformer.java │ │ │ │ ├── DependencyFileDetailGenerator.java │ │ │ │ ├── DependencyListFileParser.java │ │ │ │ └── FilePathGenerator.java │ │ │ ├── linux │ │ │ │ └── LinuxDistro.java │ │ │ └── packagemanager │ │ │ │ ├── ClangPackageManager.java │ │ │ │ ├── ClangPackageManagerFactory.java │ │ │ │ ├── ClangPackageManagerInfo.java │ │ │ │ ├── ClangPackageManagerInfoBuilder.java │ │ │ │ ├── ClangPackageManagerInfoFactory.java │ │ │ │ ├── ClangPackageManagerRunner.java │ │ │ │ ├── PackageDetails.java │ │ │ │ ├── PackageDetailsResult.java │ │ │ │ └── resolver │ │ │ │ ├── ApkArchitectureResolver.java │ │ │ │ ├── ApkPackageManagerResolver.java │ │ │ │ ├── ClangPackageManagerResolver.java │ │ │ │ ├── DpkgPackageManagerResolver.java │ │ │ │ ├── DpkgPkgDetailsResolver.java │ │ │ │ ├── DpkgVersionResolver.java │ │ │ │ ├── NameArchitecture.java │ │ │ │ ├── NotOwnedByAnyPkgException.java │ │ │ │ ├── RpmPackage.java │ │ │ │ └── RpmPackageManagerResolver.java │ │ ├── cocoapods │ │ │ ├── PodlockDetectable.java │ │ │ ├── PodlockExtractor.java │ │ │ ├── model │ │ │ │ ├── ExternalSources.java │ │ │ │ ├── Pod.java │ │ │ │ ├── PodSource.java │ │ │ │ └── PodfileLock.java │ │ │ └── parser │ │ │ │ └── PodlockParser.java │ │ ├── conan │ │ │ ├── ConanCodeLocationGenerator.java │ │ │ ├── ConanDetectableResult.java │ │ │ ├── ConanExternalIdVersionGenerator.java │ │ │ ├── Constants.java │ │ │ ├── cli │ │ │ │ ├── Conan1CliDetectable.java │ │ │ │ ├── Conan2CliDetectable.java │ │ │ │ ├── ConanBaseCliDetectable.java │ │ │ │ ├── ConanCliExtractor.java │ │ │ │ ├── ConanResolver.java │ │ │ │ ├── config │ │ │ │ │ ├── ConanCliOptions.java │ │ │ │ │ └── ConanDependencyType.java │ │ │ │ ├── parser │ │ │ │ │ ├── conan1 │ │ │ │ │ │ ├── ConanInfoLineAnalyzer.java │ │ │ │ │ │ ├── ConanInfoNodeParseResult.java │ │ │ │ │ │ ├── ConanInfoNodeParser.java │ │ │ │ │ │ ├── ConanInfoParser.java │ │ │ │ │ │ └── element │ │ │ │ │ │ │ ├── ElementTypeParser.java │ │ │ │ │ │ │ ├── KeyValuePairElementParser.java │ │ │ │ │ │ │ ├── ListElementParser.java │ │ │ │ │ │ │ └── NodeElementParser.java │ │ │ │ │ └── conan2 │ │ │ │ │ │ ├── ConanGraphInfoParser.java │ │ │ │ │ │ └── model │ │ │ │ │ │ ├── ConanGraphInfo.java │ │ │ │ │ │ ├── ConanGraphInfoDependency.java │ │ │ │ │ │ ├── ConanGraphInfoGraph.java │ │ │ │ │ │ └── ConanGraphInfoGraphNode.java │ │ │ │ └── process │ │ │ │ │ └── ConanCommandRunner.java │ │ │ ├── graph │ │ │ │ ├── ConanGraphNode.java │ │ │ │ ├── ConanNode.java │ │ │ │ └── ConanNodeBuilder.java │ │ │ └── lockfile │ │ │ │ ├── ConanLockfileDetectable.java │ │ │ │ ├── ConanLockfileExtractor.java │ │ │ │ ├── ConanLockfileExtractorOptions.java │ │ │ │ └── parser │ │ │ │ ├── ConanLockfileParser.java │ │ │ │ └── model │ │ │ │ ├── ConanLockfileData.java │ │ │ │ ├── ConanLockfileGraph.java │ │ │ │ └── ConanLockfileNode.java │ │ ├── conda │ │ │ ├── CondaCliDetectable.java │ │ │ ├── CondaCliDetectableOptions.java │ │ │ ├── CondaCliExtractor.java │ │ │ ├── model │ │ │ │ ├── CondaInfo.java │ │ │ │ └── CondaListElement.java │ │ │ └── parser │ │ │ │ ├── CondaDependencyCreator.java │ │ │ │ └── CondaListParser.java │ │ ├── cpan │ │ │ ├── CpanCliDetectable.java │ │ │ ├── CpanCliExtractor.java │ │ │ └── parse │ │ │ │ └── CpanListParser.java │ │ ├── cran │ │ │ ├── PackratLockDetectable.java │ │ │ ├── PackratLockExtractor.java │ │ │ └── parse │ │ │ │ ├── PackratDescriptionFileParser.java │ │ │ │ └── PackratLockFileParser.java │ │ ├── dart │ │ │ ├── PubSpecYamlNameVersionParser.java │ │ │ ├── pubdep │ │ │ │ ├── DartPubDepDetectable.java │ │ │ │ ├── DartPubDependencyType.java │ │ │ │ ├── DartPubDepsDetectableOptions.java │ │ │ │ ├── PubDepsExtractor.java │ │ │ │ └── PubDepsParser.java │ │ │ └── pubspec │ │ │ │ ├── DartPubSpecLockDetectable.java │ │ │ │ ├── PubSpecExtractor.java │ │ │ │ └── PubSpecLockParser.java │ │ ├── docker │ │ │ ├── DockerDetectable.java │ │ │ ├── DockerDetectableOptions.java │ │ │ ├── DockerExtractor.java │ │ │ ├── DockerInspectorInfo.java │ │ │ ├── DockerInspectorResolver.java │ │ │ ├── DockerProperties.java │ │ │ ├── ImageIdentifierGenerator.java │ │ │ ├── ImageIdentifierType.java │ │ │ ├── model │ │ │ │ └── DockerInspectorResults.java │ │ │ └── parser │ │ │ │ └── DockerInspectorResultsFileParser.java │ │ ├── git │ │ │ ├── GitCliDetectable.java │ │ │ ├── GitParseDetectable.java │ │ │ ├── GitUrlParser.java │ │ │ ├── cli │ │ │ │ ├── GitCliExtractor.java │ │ │ │ └── GitCommandRunner.java │ │ │ └── parsing │ │ │ │ ├── GitParseExtractor.java │ │ │ │ ├── model │ │ │ │ ├── GitConfig.java │ │ │ │ ├── GitConfigBranch.java │ │ │ │ ├── GitConfigNode.java │ │ │ │ ├── GitConfigRemote.java │ │ │ │ └── GitConfigResult.java │ │ │ │ └── parse │ │ │ │ ├── GitConfigNameVersionTransformer.java │ │ │ │ ├── GitConfigNodeTransformer.java │ │ │ │ └── GitFileParser.java │ │ ├── go │ │ │ ├── godep │ │ │ │ ├── GoDepExtractor.java │ │ │ │ ├── GoDepLockDetectable.java │ │ │ │ ├── model │ │ │ │ │ ├── GoLock.java │ │ │ │ │ ├── Project.java │ │ │ │ │ └── SolveMeta.java │ │ │ │ └── parse │ │ │ │ │ └── GoLockParser.java │ │ │ ├── gogradle │ │ │ │ ├── GoGradleDetectable.java │ │ │ │ ├── GoGradleExtractor.java │ │ │ │ └── GoGradleLockParser.java │ │ │ ├── gomod │ │ │ │ ├── GoModCliDetectable.java │ │ │ │ ├── GoModCliDetectableOptions.java │ │ │ │ ├── GoModCliExtractor.java │ │ │ │ ├── GoModCommandRunner.java │ │ │ │ ├── GoModDependencyType.java │ │ │ │ ├── GoVersion.java │ │ │ │ ├── model │ │ │ │ │ ├── GoGraphRelationship.java │ │ │ │ │ ├── GoListAllData.java │ │ │ │ │ ├── GoListModule.java │ │ │ │ │ └── ReplaceData.java │ │ │ │ ├── parse │ │ │ │ │ ├── GoGraphParser.java │ │ │ │ │ ├── GoListParser.java │ │ │ │ │ ├── GoModWhyParser.java │ │ │ │ │ ├── GoModuleDependencyHelper.java │ │ │ │ │ └── GoVersionParser.java │ │ │ │ └── process │ │ │ │ │ ├── GoModDependencyManager.java │ │ │ │ │ ├── GoModGraphGenerator.java │ │ │ │ │ ├── GoRelationshipManager.java │ │ │ │ │ └── WhyListStructureTransform.java │ │ │ ├── vendor │ │ │ │ ├── GoVendorDetectable.java │ │ │ │ ├── GoVendorExtractor.java │ │ │ │ ├── model │ │ │ │ │ ├── PackageData.java │ │ │ │ │ └── VendorJson.java │ │ │ │ └── parse │ │ │ │ │ └── GoVendorJsonParser.java │ │ │ └── vendr │ │ │ │ ├── GoVndrDetectable.java │ │ │ │ ├── GoVndrExtractor.java │ │ │ │ └── parse │ │ │ │ └── VndrParser.java │ │ ├── gradle │ │ │ ├── inspection │ │ │ │ ├── GradleConfigurationType.java │ │ │ │ ├── GradleInspectorDetectable.java │ │ │ │ ├── GradleInspectorExtractor.java │ │ │ │ ├── GradleInspectorOptions.java │ │ │ │ ├── GradleRunner.java │ │ │ │ ├── inspector │ │ │ │ │ ├── GradleInspectorScriptCreator.java │ │ │ │ │ └── GradleInspectorScriptOptions.java │ │ │ │ ├── model │ │ │ │ │ ├── GradleConfiguration.java │ │ │ │ │ ├── GradleGav.java │ │ │ │ │ ├── GradleGavId.java │ │ │ │ │ ├── GradleReport.java │ │ │ │ │ ├── GradleTreeNode.java │ │ │ │ │ └── ReplacedGradleGav.java │ │ │ │ └── parse │ │ │ │ │ ├── GradleReportConfigurationParser.java │ │ │ │ │ ├── GradleReportLineParser.java │ │ │ │ │ ├── GradleReportParser.java │ │ │ │ │ ├── GradleReportTransformer.java │ │ │ │ │ └── GradleRootMetadataParser.java │ │ │ └── parsing │ │ │ │ └── GradleProjectInspectorDetectable.java │ │ ├── ivy │ │ │ ├── IvyParseDetectable.java │ │ │ ├── IvyParseExtractor.java │ │ │ └── parse │ │ │ │ ├── IvyDependenciesSaxHandler.java │ │ │ │ ├── IvyProjectNameParser.java │ │ │ │ └── IvyProjectNameSaxHandler.java │ │ ├── lerna │ │ │ ├── LernaDetectable.java │ │ │ ├── LernaExtractor.java │ │ │ ├── LernaOptions.java │ │ │ ├── LernaPackageDiscoverer.java │ │ │ ├── LernaPackageType.java │ │ │ ├── LernaPackager.java │ │ │ ├── lockfile │ │ │ │ └── LernaLockFileResult.java │ │ │ └── model │ │ │ │ ├── LernaPackage.java │ │ │ │ └── LernaResult.java │ │ ├── maven │ │ │ ├── cli │ │ │ │ ├── MavenCliExtractor.java │ │ │ │ ├── MavenCliExtractorOptions.java │ │ │ │ ├── MavenCodeLocationPackager.java │ │ │ │ ├── MavenParseResult.java │ │ │ │ ├── MavenPomDetectable.java │ │ │ │ ├── MavenPomWrapperDetectable.java │ │ │ │ └── ScopedDependency.java │ │ │ └── parsing │ │ │ │ └── MavenProjectInspectorDetectable.java │ │ ├── npm │ │ │ ├── MissingNpmDependencyHandler.java │ │ │ ├── NpmDependencyType.java │ │ │ ├── cli │ │ │ │ ├── NpmCliDetectable.java │ │ │ │ ├── NpmCliExtractor.java │ │ │ │ ├── NpmCliExtractorOptions.java │ │ │ │ └── parse │ │ │ │ │ ├── NpmCliParser.java │ │ │ │ │ └── NpmDependencyTypeFilter.java │ │ │ ├── lockfile │ │ │ │ ├── NpmDependencyConverter.java │ │ │ │ ├── NpmLockfileExtractor.java │ │ │ │ ├── NpmLockfileOptions.java │ │ │ │ ├── NpmPackageLockDetectable.java │ │ │ │ ├── NpmShrinkwrapDetectable.java │ │ │ │ ├── model │ │ │ │ │ ├── NpmDependency.java │ │ │ │ │ ├── NpmProject.java │ │ │ │ │ ├── NpmRequires.java │ │ │ │ │ ├── PackageLock.java │ │ │ │ │ ├── PackageLockDependency.java │ │ │ │ │ └── PackageLockPackage.java │ │ │ │ ├── parse │ │ │ │ │ ├── NpmLockFileProjectIdTransformer.java │ │ │ │ │ ├── NpmLockfileGraphTransformer.java │ │ │ │ │ └── NpmLockfilePackager.java │ │ │ │ └── result │ │ │ │ │ └── NpmPackagerResult.java │ │ │ └── packagejson │ │ │ │ ├── CombinedPackageJson.java │ │ │ │ ├── CombinedPackageJsonExtractor.java │ │ │ │ ├── NpmPackageJsonParseDetectable.java │ │ │ │ ├── NpmPackageJsonParseDetectableOptions.java │ │ │ │ ├── PackageJsonExtractor.java │ │ │ │ └── model │ │ │ │ ├── PackageJson.java │ │ │ │ └── YarnPackageJson.java │ │ ├── nuget │ │ │ ├── NugetDependencyType.java │ │ │ ├── NugetInspectorArguments.java │ │ │ ├── NugetInspectorExtractor.java │ │ │ ├── NugetInspectorOptions.java │ │ │ ├── NugetProjectDetectable.java │ │ │ ├── NugetProjectInspectorDetectable.java │ │ │ ├── NugetSolutionDetectable.java │ │ │ ├── NugetTargetResult.java │ │ │ ├── future │ │ │ │ ├── ParsedProject.java │ │ │ │ └── SolutionParser.java │ │ │ ├── model │ │ │ │ ├── NugetContainer.java │ │ │ │ ├── NugetContainerType.java │ │ │ │ ├── NugetInspection.java │ │ │ │ ├── NugetPackageId.java │ │ │ │ └── NugetPackageSet.java │ │ │ └── parse │ │ │ │ ├── NugetDependencyNodeBuilder.java │ │ │ │ ├── NugetInspectorParser.java │ │ │ │ └── NugetParseResult.java │ │ ├── opam │ │ │ ├── buildexe │ │ │ │ ├── OpamBuildDetectable.java │ │ │ │ ├── OpamBuildExtractor.java │ │ │ │ └── parse │ │ │ │ │ ├── OpamJsonFileModule.java │ │ │ │ │ ├── OpamTreeDependencyModule.java │ │ │ │ │ ├── OpamTreeParser.java │ │ │ │ │ └── OpamTreeProjectModule.java │ │ │ ├── lockfile │ │ │ │ ├── OpamLockFileDetectable.java │ │ │ │ ├── OpamLockFileExtractor.java │ │ │ │ └── parse │ │ │ │ │ └── OpamLockFileParser.java │ │ │ ├── parse │ │ │ │ ├── OpamFileParser.java │ │ │ │ └── OpamParsedResult.java │ │ │ └── transform │ │ │ │ └── OpamGraphTransformer.java │ │ ├── packagist │ │ │ ├── ComposerLockDetectable.java │ │ │ ├── ComposerLockDetectableOptions.java │ │ │ ├── ComposerLockExtractor.java │ │ │ ├── PackagistDependencyType.java │ │ │ ├── model │ │ │ │ ├── PackagistPackage.java │ │ │ │ └── PackagistParseResult.java │ │ │ └── parse │ │ │ │ └── PackagistParser.java │ │ ├── pear │ │ │ ├── PearCliDetectable.java │ │ │ ├── PearCliDetectableOptions.java │ │ │ ├── PearCliExtractor.java │ │ │ ├── PearDependencyType.java │ │ │ ├── model │ │ │ │ └── PackageDependency.java │ │ │ ├── parse │ │ │ │ ├── PearListParser.java │ │ │ │ ├── PearPackageDependenciesParser.java │ │ │ │ └── PearPackageXmlParser.java │ │ │ └── transform │ │ │ │ └── PearDependencyGraphTransformer.java │ │ ├── pip │ │ │ ├── inspector │ │ │ │ ├── PipInspectorDetectable.java │ │ │ │ ├── PipInspectorDetectableOptions.java │ │ │ │ ├── PipInspectorExtractor.java │ │ │ │ ├── model │ │ │ │ │ └── NameVersionCodeLocation.java │ │ │ │ └── parser │ │ │ │ │ └── PipInspectorTreeParser.java │ │ │ └── parser │ │ │ │ ├── RequirementsFile.java │ │ │ │ ├── RequirementsFileDependencyEntry.java │ │ │ │ ├── RequirementsFileDependencyTransformer.java │ │ │ │ ├── RequirementsFileDetectable.java │ │ │ │ ├── RequirementsFileDetectableOptions.java │ │ │ │ ├── RequirementsFileExtractor.java │ │ │ │ └── RequirementsFileNotFoundDetectableResult.java │ │ ├── pipenv │ │ │ ├── parse │ │ │ │ ├── PipenvDependencyType.java │ │ │ │ ├── PipfileLockDependencyTransformer.java │ │ │ │ ├── PipfileLockDependencyVersionParser.java │ │ │ │ ├── PipfileLockDetectable.java │ │ │ │ ├── PipfileLockDetectableOptions.java │ │ │ │ ├── PipfileLockExtractor.java │ │ │ │ ├── PipfileLockTransformer.java │ │ │ │ ├── data │ │ │ │ │ ├── PipfileLock.java │ │ │ │ │ └── PipfileLockDependencyEntry.java │ │ │ │ └── model │ │ │ │ │ └── PipfileLockDependency.java │ │ │ └── tbuild │ │ │ │ ├── PipenvDetectable.java │ │ │ │ ├── PipenvDetectableOptions.java │ │ │ │ ├── PipenvExtractor.java │ │ │ │ ├── model │ │ │ │ ├── PipFreeze.java │ │ │ │ ├── PipFreezeEntry.java │ │ │ │ ├── PipenvGraph.java │ │ │ │ ├── PipenvGraphDependency.java │ │ │ │ └── PipenvGraphEntry.java │ │ │ │ └── parser │ │ │ │ ├── PipEnvJsonGraphParser.java │ │ │ │ ├── PipenvFreezeParser.java │ │ │ │ └── PipenvTransformer.java │ │ ├── pnpm │ │ │ └── lockfile │ │ │ │ ├── PnpmLockDetectable.java │ │ │ │ ├── PnpmLockExtractor.java │ │ │ │ ├── PnpmLockOptions.java │ │ │ │ ├── model │ │ │ │ ├── PnpmDependencyInfo.java │ │ │ │ ├── PnpmDependencyType.java │ │ │ │ ├── PnpmLockYaml.java │ │ │ │ ├── PnpmLockYamlBase.java │ │ │ │ ├── PnpmLockYamlv5.java │ │ │ │ ├── PnpmPackageInfo.java │ │ │ │ ├── PnpmPackageInfov5.java │ │ │ │ ├── PnpmProjectPackage.java │ │ │ │ └── PnpmProjectPackagev5.java │ │ │ │ └── process │ │ │ │ ├── PnpmLinkedPackageResolver.java │ │ │ │ ├── PnpmLockYamlParser.java │ │ │ │ ├── PnpmLockYamlParserInitial.java │ │ │ │ ├── PnpmLockYamlParserv5.java │ │ │ │ ├── PnpmYamlTransformer.java │ │ │ │ └── PnpmYamlTransformerv5.java │ │ ├── poetry │ │ │ ├── PoetryDetectable.java │ │ │ ├── PoetryExtractor.java │ │ │ ├── PoetryOptions.java │ │ │ └── parser │ │ │ │ ├── PoetryLockParser.java │ │ │ │ ├── ToolPoetrySectionParser.java │ │ │ │ └── ToolPoetrySectionResult.java │ │ ├── projectinspector │ │ │ ├── ProjectInspectorExtractor.java │ │ │ ├── ProjectInspectorOptions.java │ │ │ ├── ProjectInspectorParser.java │ │ │ └── model │ │ │ │ ├── ProjectInspectorComponent.java │ │ │ │ ├── ProjectInspectorDependency.java │ │ │ │ ├── ProjectInspectorMavenCoordinate.java │ │ │ │ └── ProjectInspectorModule.java │ │ ├── rebar │ │ │ ├── RebarDetectable.java │ │ │ ├── RebarExtractor.java │ │ │ ├── model │ │ │ │ └── RebarParseResult.java │ │ │ └── parse │ │ │ │ └── Rebar3TreeParser.java │ │ ├── rubygems │ │ │ ├── GemspecDependencyType.java │ │ │ ├── gemlock │ │ │ │ ├── GemlockDetectable.java │ │ │ │ ├── GemlockExtractor.java │ │ │ │ └── parse │ │ │ │ │ └── GemlockParser.java │ │ │ └── gemspec │ │ │ │ ├── GemspecParseDetectable.java │ │ │ │ ├── GemspecParseDetectableOptions.java │ │ │ │ ├── GemspecParseExtractor.java │ │ │ │ └── parse │ │ │ │ ├── GemspecDependency.java │ │ │ │ ├── GemspecDependencyType.java │ │ │ │ ├── GemspecLineParser.java │ │ │ │ └── GemspecParser.java │ │ ├── sbt │ │ │ ├── SbtDetectable.java │ │ │ ├── SbtDetectableOptions.java │ │ │ └── dot │ │ │ │ ├── SbtCommandArgumentGenerator.java │ │ │ │ ├── SbtDotExtractor.java │ │ │ │ ├── SbtDotGraphNodeParser.java │ │ │ │ ├── SbtDotOutputParser.java │ │ │ │ ├── SbtGraphParserTransformer.java │ │ │ │ ├── SbtPluginFinder.java │ │ │ │ └── SbtRootNodeFinder.java │ │ ├── setuptools │ │ │ ├── SetupToolsExtractUtils.java │ │ │ ├── SetupToolsExtractor.java │ │ │ ├── buildless │ │ │ │ └── SetupToolsBuildlessDetectable.java │ │ │ ├── parse │ │ │ │ ├── SetupToolsCfgParser.java │ │ │ │ ├── SetupToolsParsedResult.java │ │ │ │ ├── SetupToolsParser.java │ │ │ │ ├── SetupToolsPyParser.java │ │ │ │ └── SetupToolsTomlParser.java │ │ │ ├── tbuild │ │ │ │ └── SetupToolsBuildDetectable.java │ │ │ └── transform │ │ │ │ └── SetupToolsGraphTransformer.java │ │ ├── swift │ │ │ ├── cli │ │ │ │ ├── SwiftCliDetectable.java │ │ │ │ ├── SwiftCliParser.java │ │ │ │ ├── SwiftExtractor.java │ │ │ │ ├── SwiftPackageTransformer.java │ │ │ │ └── model │ │ │ │ │ └── SwiftPackage.java │ │ │ └── lock │ │ │ │ ├── PackageResolvedExtractor.java │ │ │ │ ├── SwiftPackageResolvedDetectable.java │ │ │ │ ├── data │ │ │ │ ├── PackageResolvedBase.java │ │ │ │ ├── PackageResolvedFormat.java │ │ │ │ ├── PackageState.java │ │ │ │ ├── ResolvedPackage.java │ │ │ │ ├── v1 │ │ │ │ │ ├── PackageResolvedV1.java │ │ │ │ │ └── ResolvedObject.java │ │ │ │ └── v2 │ │ │ │ │ └── PackageResolvedV2.java │ │ │ │ ├── model │ │ │ │ └── PackageResolvedResult.java │ │ │ │ ├── parse │ │ │ │ ├── PackageResolvedDataChecker.java │ │ │ │ ├── PackageResolvedFormatChecker.java │ │ │ │ ├── PackageResolvedFormatParser.java │ │ │ │ └── PackageResolvedParser.java │ │ │ │ └── transform │ │ │ │ └── PackageResolvedTransformer.java │ │ ├── uv │ │ │ ├── UVDetectorOptions.java │ │ │ ├── buildexe │ │ │ │ ├── UVBuildDetectable.java │ │ │ │ └── UVBuildExtractor.java │ │ │ ├── lockfile │ │ │ │ ├── UVLockFileDetectable.java │ │ │ │ └── UVLockfileExtractor.java │ │ │ ├── parse │ │ │ │ └── UVTomlParser.java │ │ │ └── transform │ │ │ │ ├── UVLockParser.java │ │ │ │ └── UVTreeDependencyGraphTransformer.java │ │ ├── xcode │ │ │ ├── MissingFromXcodeWorkspacePackageResolved.java │ │ │ ├── XcodeProjectDetectable.java │ │ │ ├── XcodeWorkspaceDetectable.java │ │ │ ├── XcodeWorkspaceExtractor.java │ │ │ ├── model │ │ │ │ ├── FileReferenceType.java │ │ │ │ ├── XcodeFileReference.java │ │ │ │ ├── XcodeWorkspace.java │ │ │ │ └── XcodeWorkspaceResult.java │ │ │ └── parse │ │ │ │ ├── XcodeWorkspaceFormatChecker.java │ │ │ │ └── XcodeWorkspaceParser.java │ │ └── yarn │ │ │ ├── ExternalIdDependencyGraphBuilder.java │ │ │ ├── Version.java │ │ │ ├── VersionUtility.java │ │ │ ├── YarnDependencyType.java │ │ │ ├── YarnLockDetectable.java │ │ │ ├── YarnLockExtractor.java │ │ │ ├── YarnLockOptions.java │ │ │ ├── YarnPackager.java │ │ │ ├── YarnResult.java │ │ │ ├── YarnTransformer.java │ │ │ ├── packagejson │ │ │ ├── NullSafePackageJson.java │ │ │ ├── PackageJsonFiles.java │ │ │ ├── PackageJsonReader.java │ │ │ ├── WorkspacePackageJson.java │ │ │ ├── WorkspacePackageJsons.java │ │ │ ├── Workspaces.java │ │ │ ├── YarnPackageJsonWorkspacesAsList.java │ │ │ └── YarnPackageJsonWorkspacesAsObject.java │ │ │ ├── parse │ │ │ ├── YarnLock.java │ │ │ ├── YarnLockDependency.java │ │ │ ├── YarnLockLineAnalyzer.java │ │ │ ├── YarnLockParser.java │ │ │ ├── YarnLockResult.java │ │ │ └── entry │ │ │ │ ├── YarnLockEntry.java │ │ │ │ ├── YarnLockEntryBuilder.java │ │ │ │ ├── YarnLockEntryId.java │ │ │ │ ├── YarnLockEntryParseResult.java │ │ │ │ ├── YarnLockEntryParser.java │ │ │ │ └── section │ │ │ │ ├── TokenizerFactory.java │ │ │ │ ├── YarnLockDependencyListSectionParser.java │ │ │ │ ├── YarnLockDependencyMetaListSectionParser.java │ │ │ │ ├── YarnLockDependencySpecParser.java │ │ │ │ ├── YarnLockEntrySectionParser.java │ │ │ │ ├── YarnLockEntrySectionParserSet.java │ │ │ │ ├── YarnLockHeaderSectionParser.java │ │ │ │ └── YarnLockKeyValuePairSectionParser.java │ │ │ └── workspace │ │ │ ├── YarnWorkspace.java │ │ │ └── YarnWorkspaces.java │ │ ├── extraction │ │ ├── Extraction.java │ │ ├── ExtractionEnvironment.java │ │ └── ExtractionMetadata.java │ │ ├── factory │ │ └── DetectableFactory.java │ │ ├── python │ │ └── util │ │ │ ├── PythonDependency.java │ │ │ └── PythonDependencyTransformer.java │ │ └── util │ │ ├── CycleDetectedException.java │ │ ├── DependencyCreator.java │ │ ├── ExternalIdCreator.java │ │ ├── FileFormatChecker.java │ │ ├── JsonSanitizer.java │ │ ├── NameOptionalVersion.java │ │ ├── RootPruningGraphUtil.java │ │ ├── ToolVersionLogger.java │ │ └── XmlUtil.java │ └── test │ ├── java │ └── com │ │ └── blackduck │ │ └── integration │ │ └── detectable │ │ ├── annotations │ │ ├── FunctionalTest.java │ │ └── UnitTest.java │ │ ├── detectable │ │ └── util │ │ │ ├── EnumListFilterTest.java │ │ │ └── RootPruningGraphUtilTests.java │ │ ├── detectables │ │ ├── bazel │ │ │ ├── functional │ │ │ │ └── bazel │ │ │ │ │ ├── BazelVariableSubstitutorTest.java │ │ │ │ │ ├── BazelWorkspaceFileParserTest.java │ │ │ │ │ └── pipeline │ │ │ │ │ ├── PipelinesTest.java │ │ │ │ │ ├── WorkspaceRuleChooserTest.java │ │ │ │ │ └── step │ │ │ │ │ ├── FinalStepTransformJsonProtoHaskellCabalLibrariesToHackageTest.java │ │ │ │ │ ├── HaskellCabalLibraryJsonProtoParserTest.java │ │ │ │ │ ├── IntermediateStepExecuteBazelOnEachLineTest.java │ │ │ │ │ ├── IntermediateStepParseFilterLinesTest.java │ │ │ │ │ ├── IntermediateStepParseReplaceInEachLineTest.java │ │ │ │ │ ├── IntermediateStepParseSplitEachEachTest.java │ │ │ │ │ └── IntermediateStepParseValuesFromXmlTest.java │ │ │ └── unit │ │ │ │ ├── BazelDetectableTest.java │ │ │ │ ├── FinalStepTransformColonSeparatedGavsToMavenTest.java │ │ │ │ └── GithubUrlParserTest.java │ │ ├── bitbake │ │ │ ├── functional │ │ │ │ ├── BitbakeDetectableTest.java │ │ │ │ └── BuildFileFinderTest.java │ │ │ └── unit │ │ │ │ ├── BitbakeDependencyGraphTransformerTest.java │ │ │ │ ├── BitbakeEnvironmentParserTest.java │ │ │ │ ├── BitbakeGraphTransformerTest.java │ │ │ │ ├── BitbakeRecipesParserTest.java │ │ │ │ ├── GraphNodeLabelParserTest.java │ │ │ │ └── LicenseManifestParserTest.java │ │ ├── cargo │ │ │ ├── functional │ │ │ │ └── CargoLockDetectableTest.java │ │ │ ├── parse │ │ │ │ ├── CargoDependencyLineParserTest.java │ │ │ │ └── CargoTomlParserTest.java │ │ │ └── transform │ │ │ │ ├── CargoDependencyGraphTransformerTest.java │ │ │ │ ├── CargoLockPackageDataTransformerTest.java │ │ │ │ └── CargoLockPackageTransformerTest.java │ │ ├── carthage │ │ │ ├── CarthageDeclarationTransformerTest.java │ │ │ ├── CarthageLockDetectableTest.java │ │ │ └── unit │ │ │ │ └── CartfileResolvedParserTest.java │ │ ├── clang │ │ │ ├── functional │ │ │ │ ├── CommandParserFunctionalTest.java │ │ │ │ └── DependencyListFileParserTest.java │ │ │ └── unit │ │ │ │ ├── ApkPackageManagerTest.java │ │ │ │ ├── ClangDetectableTest.java │ │ │ │ ├── ClangPackageDetailsTransformerTest.java │ │ │ │ ├── ClangPackageManagerRunnerTest.java │ │ │ │ ├── CompileCommandParserTest.java │ │ │ │ ├── DependencyFileDetailGeneratorTest.java │ │ │ │ ├── DpkgPackageManagerTest.java │ │ │ │ ├── ForgeChooserTest.java │ │ │ │ ├── LinuxDistroTest.java │ │ │ │ └── RpmPackageManagerTest.java │ │ ├── cocoapods │ │ │ └── functional │ │ │ │ ├── CocoapodsPackagerTest.java │ │ │ │ ├── PodlockDetectableTest.java │ │ │ │ └── PodlockTransitiveDetectableTest.java │ │ ├── conan │ │ │ ├── functional │ │ │ │ ├── ConanCliParserFunctionalTest.java │ │ │ │ ├── ConanGraphInfoParserTest.java │ │ │ │ └── ConanLockfileParserFunctionalTest.java │ │ │ └── unit │ │ │ │ ├── ConanExternalIdVersionGeneratorTest.java │ │ │ │ └── cli │ │ │ │ └── parser │ │ │ │ └── conan2 │ │ │ │ └── model │ │ │ │ └── ConanGraphInfoGraphNodeTest.java │ │ ├── conda │ │ │ ├── functional │ │ │ │ ├── CondaCliDetectableTest.java │ │ │ │ └── CondaListParserTest.java │ │ │ └── unit │ │ │ │ └── CondaDependencyCreatorTest.java │ │ ├── cpan │ │ │ └── functional │ │ │ │ └── CpanCliDetectableTest.java │ │ ├── cran │ │ │ ├── functional │ │ │ │ └── PackratLockDetectableTest.java │ │ │ └── unit │ │ │ │ └── PackratDescriptionFileParserTest.java │ │ ├── dart │ │ │ ├── functional │ │ │ │ ├── DartPubDepsDetectableTest.java │ │ │ │ ├── DartPubSpecLockDetectableTest.java │ │ │ │ ├── PubDepsParserTest.java │ │ │ │ ├── PubSpecLockParserTest.java │ │ │ │ └── PubSpecYamlNameVersionParserTest.java │ │ │ └── unit │ │ │ │ ├── PubDepsDetectableTest.java │ │ │ │ └── PubDepsExtractorTest.java │ │ ├── docker │ │ │ └── unit │ │ │ │ ├── DockerDetectableTest.java │ │ │ │ ├── DockerExtractorTest.java │ │ │ │ └── ImageIdentifierGeneratorTest.java │ │ ├── git │ │ │ ├── functional │ │ │ │ ├── GitCliDetectableCommitHashTest.java │ │ │ │ ├── GitCliDetectableTest.java │ │ │ │ ├── GitParseDetectableTest.java │ │ │ │ └── GitParseSafeDetectableTest.java │ │ │ ├── parsing │ │ │ │ └── model │ │ │ │ │ └── GitConfigNodeTransformerTest.java │ │ │ └── unit │ │ │ │ ├── GitConfigNameVersionTransformerTest.java │ │ │ │ ├── GitFileParserTest.java │ │ │ │ └── GitUrlParserTest.java │ │ ├── go │ │ │ ├── functional │ │ │ │ ├── GoDepCliDetectableTest.java │ │ │ │ ├── GoGradleInspectorDetectableTest.java │ │ │ │ ├── GoModDetectableTest.java │ │ │ │ ├── GoModDetectableUnusedTest.java │ │ │ │ ├── GoModDetectableVendoredTest.java │ │ │ │ └── GoVendorDetectableTest.java │ │ │ ├── gomod │ │ │ │ ├── parse │ │ │ │ │ ├── GoGraphParserTest.java │ │ │ │ │ ├── GoListParserTest.java │ │ │ │ │ ├── GoModWhyParserTest.java │ │ │ │ │ └── GoVersionParserTest.java │ │ │ │ └── process │ │ │ │ │ ├── GoModDependencyManagerTest.java │ │ │ │ │ └── GoRelationshipManagerTest.java │ │ │ ├── unit │ │ │ │ ├── GoLockParserTest.java │ │ │ │ └── GoModCliExtractorTest.java │ │ │ └── vendr │ │ │ │ ├── GoVndrDetectableTest.java │ │ │ │ └── parse │ │ │ │ └── VndrParserTest.java │ │ ├── gradle │ │ │ ├── functional │ │ │ │ ├── GradleInspectorDetectableTest.java │ │ │ │ ├── GradleInspectorRootOnlyTest.java │ │ │ │ ├── GradleInspectorScriptCreatorTest.java │ │ │ │ ├── GradleReplacementDetectableTest.java │ │ │ │ └── GradleReportParserFunctionalTest.java │ │ │ ├── inspection │ │ │ │ └── parse │ │ │ │ │ └── GradleRootMetadataParserTest.java │ │ │ └── unit │ │ │ │ ├── GradleArgumentSplitTest.java │ │ │ │ ├── GradleReportLineTest.java │ │ │ │ └── GradleReportParserTest.java │ │ ├── ivy │ │ │ └── IvyParseDetectableTest.java │ │ ├── lerna │ │ │ └── unit │ │ │ │ ├── LernaDetectableTest.java │ │ │ │ ├── LernaExternalDetectableTest.java │ │ │ │ └── LernaPackageDiscovererTest.java │ │ ├── maven │ │ │ ├── functional │ │ │ │ ├── MavenPomDetectableTest.java │ │ │ │ └── MavenProjectInspectorTest.java │ │ │ └── unit │ │ │ │ ├── MavenCodeLocationPackagerTest.java │ │ │ │ ├── MavenComplexOutputTest.java │ │ │ │ ├── MavenCorruptOutputTest.java │ │ │ │ └── cli │ │ │ │ └── MavenCliExtractorOptionsTest.java │ │ ├── npm │ │ │ ├── cli │ │ │ │ └── unit │ │ │ │ │ ├── NpmCliDetectableTest.java │ │ │ │ │ └── NpmDependencyTypeFilterTest.java │ │ │ ├── lockfile │ │ │ │ ├── functional │ │ │ │ │ ├── NpmDevExclusionTest.java │ │ │ │ │ ├── NpmLockDetectableTest.java │ │ │ │ │ ├── NpmLockV1DetectableTest.java │ │ │ │ │ ├── NpmOutputParserTest.java │ │ │ │ │ ├── NpmPeerExclusionTest.java │ │ │ │ │ ├── NpmShrinkwrapDetectableTest.java │ │ │ │ │ └── NpmShrinkwrapV1DetectableTest.java │ │ │ │ └── unit │ │ │ │ │ ├── NpmDependencyConverterTest.java │ │ │ │ │ ├── NpmLockfileGraphTransformerTest.java │ │ │ │ │ └── NpmWithoutRequiresExcludesTest.java │ │ │ └── packagejson │ │ │ │ ├── functional │ │ │ │ └── PackageJsonExtractorFunctionalTest.java │ │ │ │ └── unit │ │ │ │ ├── CombinedPackageJsonExtractorTest.java │ │ │ │ ├── NpmPackageJsonParseDetectableTest.java │ │ │ │ └── PackageJsonExtractorTest.java │ │ ├── nuget │ │ │ ├── functional │ │ │ │ ├── NugetInspectorParserPerfTest.java │ │ │ │ ├── NugetInspectorParserTest.java │ │ │ │ ├── NugetProjectInspectorParseTest.java │ │ │ │ └── NugetProjectInspectorTest.java │ │ │ ├── future │ │ │ │ ├── functional │ │ │ │ │ └── SolutionParserFunctionalTest.java │ │ │ │ └── unit │ │ │ │ │ └── SolutionParserTest.java │ │ │ └── unit │ │ │ │ ├── NugetParserTest.java │ │ │ │ ├── NugetProjectDetectableTest.java │ │ │ │ └── NugetSolutionDetectableTest.java │ │ ├── packagist │ │ │ ├── functional │ │ │ │ └── PackagistDetectableTest.java │ │ │ └── unit │ │ │ │ └── ComposerLockDetectableTest.java │ │ ├── pear │ │ │ ├── functional │ │ │ │ └── PearCliDetectableTest.java │ │ │ └── unit │ │ │ │ ├── PearDependencyGraphTransformerTest.java │ │ │ │ ├── PearListParserTest.java │ │ │ │ ├── PearPackageDependenciesParserTest.java │ │ │ │ ├── PearPackageXmlParserTest.java │ │ │ │ └── PearRequiredOnlyTest.java │ │ ├── pip │ │ │ ├── inspector │ │ │ │ ├── functional │ │ │ │ │ ├── PipEnvDetectableTest.java │ │ │ │ │ ├── PipInspectorDetectableTest.java │ │ │ │ │ └── PipfileLockDetectableTest.java │ │ │ │ └── unit │ │ │ │ │ ├── PipInspectorTreeParserTest.java │ │ │ │ │ ├── PipenvFreezeParserTests.java │ │ │ │ │ ├── PipenvTransformerTest.java │ │ │ │ │ ├── PipfileLockDependencyTransformerTest.java │ │ │ │ │ └── PipfileLockParserTest.java │ │ │ └── parser │ │ │ │ ├── functional │ │ │ │ └── RequirementsFileDetectableTest.java │ │ │ │ └── unit │ │ │ │ ├── RequirementsFileExtractorTest.java │ │ │ │ └── RequirementsFileTransformerTest.java │ │ ├── pnpm │ │ │ ├── functional │ │ │ │ ├── PnpmLinkedPackageResolverTest.java │ │ │ │ ├── PnpmLockDetectableTestv5.java │ │ │ │ ├── PnpmLockDetectableTestv6.java │ │ │ │ ├── PnpmLockExtractorTest.java │ │ │ │ └── PnpmLockYamlParserTest.java │ │ │ └── unit │ │ │ │ ├── PnpmYamlTransformerTest.java │ │ │ │ ├── PnpmYamlTransformerTestv6.java │ │ │ │ └── PnpmYamlTransformerTestv9.java │ │ ├── poetry │ │ │ ├── functional │ │ │ │ ├── PoetryDetectableExcludeDevTest.java │ │ │ │ └── PoetryDetectableTest.java │ │ │ └── unit │ │ │ │ ├── PoetryFalsePositiveTest.java │ │ │ │ └── PoetryLockParserTest.java │ │ ├── rebar │ │ │ ├── functional │ │ │ │ └── RebarDetectableTest.java │ │ │ └── unit │ │ │ │ └── RebarParserTest.java │ │ ├── rubygems │ │ │ ├── gemlock │ │ │ │ └── functional │ │ │ │ │ ├── GemlockDetectableTest.java │ │ │ │ │ ├── GemlockNodeParserTest.java │ │ │ │ │ └── RubygemsNodePackagerTest.java │ │ │ └── gemspec │ │ │ │ └── unit │ │ │ │ ├── GemspecLineParserTest.java │ │ │ │ ├── GemspecParseDetectableTest.java │ │ │ │ └── GemspecParserTest.java │ │ ├── sbt │ │ │ └── unit │ │ │ │ ├── SbtDotGraphNodeParserTest.java │ │ │ │ ├── SbtDotOutputParserTest.java │ │ │ │ ├── SbtPluginFinderTest.java │ │ │ │ └── SbtRootNodeFinderTest.java │ │ ├── setuptools │ │ │ └── unit │ │ │ │ ├── SetupToolsCfgParserTest.java │ │ │ │ ├── SetupToolsExtractUtilsTest.java │ │ │ │ ├── SetupToolsGraphTransformerTest.java │ │ │ │ ├── SetupToolsPyParserTest.java │ │ │ │ └── SetupToolsTomlParserTest.java │ │ ├── swift │ │ │ ├── functional │ │ │ │ └── SwiftDetectableTest.java │ │ │ └── lock │ │ │ │ ├── SwiftPackageResolvedV1DetectableTest.java │ │ │ │ ├── SwiftPackageResolvedV2DetectableTest.java │ │ │ │ ├── parse │ │ │ │ ├── PackageResolvedDataCheckerTest.java │ │ │ │ ├── PackageResolvedFormatCheckerTest.java │ │ │ │ └── PackageResolvedFormatParserTest.java │ │ │ │ └── transform │ │ │ │ └── PackageResolvedTransformerTest.java │ │ ├── xcode │ │ │ ├── XcodeProjectDetectableTest.java │ │ │ ├── XcodeWorkspaceDetectableTest.java │ │ │ └── parse │ │ │ │ ├── XcodeWorkspaceFormatCheckerTest.java │ │ │ │ └── XcodeWorkspaceParserTest.java │ │ └── yarn │ │ │ ├── functional │ │ │ ├── YarnLockDetectableTest.java │ │ │ └── YarnLockParserFunctionalTest.java │ │ │ └── unit │ │ │ ├── PackageJsonReaderTest.java │ │ │ ├── YarnLockParserTest.java │ │ │ ├── YarnTransformerTest.java │ │ │ └── parse │ │ │ └── entry │ │ │ ├── YarnLockLineAnalyzerTest.java │ │ │ └── element │ │ │ ├── YarnLockDependencySpecParserTest.java │ │ │ ├── YarnLockHeaderSectionParserTest.java │ │ │ └── YarnLockKeyValuePairSectionParserTest.java │ │ ├── functional │ │ ├── DetectableFunctionalTest.java │ │ ├── FunctionalDetectableExecutableRunner.java │ │ └── FunctionalExecutable.java │ │ └── util │ │ ├── DependencyGraphSummarizer.java │ │ ├── DependencyGraphSummaryComparer.java │ │ ├── ExecutableOutputUtil.java │ │ ├── ExtractionUtil.java │ │ ├── FileFormatCheckerTest.java │ │ ├── FunctionalTestFiles.java │ │ ├── GraphCompare.java │ │ ├── GraphDeserializer.java │ │ ├── GraphSerializer.java │ │ ├── GraphSummary.java │ │ ├── JsonSanitizerTest.java │ │ ├── MockDetectableEnvironment.java │ │ ├── MockFileFinder.java │ │ └── graph │ │ ├── ArchitectureGraphAssert.java │ │ ├── GraphAssert.java │ │ ├── MavenGraphAssert.java │ │ └── NameVersionGraphAssert.java │ └── resources │ └── detectables │ ├── functional │ ├── bazel │ │ ├── WORKSPACE │ │ ├── WORKSPACE_multipleRules │ │ └── jsonProtoForHaskellCabalLibraries.txt │ ├── bitbake │ │ ├── builddir_arch │ │ │ └── tmp │ │ │ │ └── deploy │ │ │ │ └── licenses │ │ │ │ ├── targetimage-testarch-999 │ │ │ │ └── license.manifest │ │ │ │ └── targetimage-wrongarch-999 │ │ │ │ └── license.manifest │ │ ├── builddir_custom │ │ │ └── deploy │ │ │ │ └── licenses │ │ │ │ └── targetimage-arch │ │ │ │ └── license.manifest │ │ ├── builddir_default │ │ │ └── tmp │ │ │ │ └── deploy │ │ │ │ └── licenses │ │ │ │ └── targetimage-arch │ │ │ │ └── license.manifest │ │ ├── builddir_env │ │ │ └── envprovidedpath │ │ │ │ └── licenses │ │ │ │ ├── targetimage-last-modified-architecture │ │ │ │ └── license.manifest │ │ │ │ └── targetimage-wrong-architecture │ │ │ │ └── license.manifest │ │ └── builddir_machine │ │ │ └── tmp │ │ │ └── deploy │ │ │ └── licenses │ │ │ └── quemux86_64 │ │ │ ├── core-image-minimal-qemux86-64.rootfs-20240202164631 │ │ │ └── license.manifest │ │ │ └── core-image-minimal-qemux86-64.rootfs-20240202164632 │ │ │ └── license.manifest │ ├── clang │ │ ├── compile_commands.json │ │ ├── compile_commands_args.json │ │ └── compile_commands_nestedquoting_small.json │ ├── cocoapods │ │ ├── complexExpected_graph.json │ │ ├── complexPodfile.lock │ │ ├── externalSourcesFile.lock │ │ ├── noPodsExpected_graph.json │ │ ├── nopodsPodfile.lock │ │ ├── simpleExpected_graph.json │ │ └── simplePodfile.lock │ ├── conan │ │ ├── cli │ │ │ ├── conan2_graph_excludeBuild_result.json │ │ │ ├── conan2_graph_info.txt │ │ │ ├── conan2_graph_longIds_result.json │ │ │ ├── conan2_graph_result.json │ │ │ ├── conan_info.txt │ │ │ └── noProjectRef_graph.json │ │ └── lockfile │ │ │ ├── conan.lock │ │ │ ├── conan2 │ │ │ ├── conan.lock │ │ │ ├── excludeBuild_graph.json │ │ │ └── includeBuild_graph.json │ │ │ ├── conan_buildrequirements.lock │ │ │ ├── conan_projectref.lock │ │ │ ├── conan_relpath.lock │ │ │ ├── noProjectRefLongForm_graph.json │ │ │ └── noProjectRef_graph.json │ ├── conda │ │ └── condaListWithPypiAndCondaComponents.txt │ ├── dart │ │ ├── pubDeps.txt │ │ ├── pubDeps_2_18.txt │ │ ├── pubDeps_2_19.txt │ │ └── pubDeps_3_1.txt │ ├── docker │ │ └── unit │ │ │ ├── outputDirectoryWithNonPopulatedResultsFile │ │ │ ├── application.properties │ │ │ ├── results.json │ │ │ └── ubuntu_latest_DPKG_bdio.jsonld │ │ │ └── outputDirectoryWithPopulatedResultsFile │ │ │ ├── application.properties │ │ │ ├── results.json │ │ │ └── ubuntu_latest_DPKG_bdio.jsonld │ ├── go │ │ ├── Gopkg_noprojects.lock │ │ ├── gomod-test1 │ │ │ ├── go-list-all.xout │ │ │ ├── go-list.xout │ │ │ ├── go-mod-get-main.xout │ │ │ ├── go-mod-list-directs.xout │ │ │ └── gomodwhy.xout │ │ └── gomod │ │ │ ├── go-list-all.xout │ │ │ ├── go-list.xout │ │ │ ├── go-mod-get-main.xout │ │ │ ├── go-mod-list-directs.xout │ │ │ └── go-mod-why.xout │ ├── gradle │ │ ├── complex_depth0_dependencyGraph.txt │ │ ├── dependencyGraph-expected.json │ │ ├── gradle_implementations_depth0_dependencyGraph.txt │ │ ├── projectname_depth0_dependencyGraph.txt │ │ ├── root-only-tests │ │ │ ├── rootProjectMetadata.txt │ │ │ └── root_project__simple__depth0_dependencyGraph.txt │ │ └── rootProjectMetadata.txt │ ├── maven │ │ └── project_inspector_maven.json │ ├── npm │ │ ├── dev-exclusion-test │ │ │ ├── package-lock.json │ │ │ └── package.json │ │ ├── dev-exclusion-workspace-test │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ └── packages │ │ │ │ └── w1 │ │ │ │ └── package.json │ │ ├── package.json │ │ ├── packages-linkage-test │ │ │ ├── package-lock-extraneous.json │ │ │ ├── package-lock-multiple-deps.json │ │ │ ├── package-lock-relative.json │ │ │ ├── package-lock-wildcards-and-relative.json │ │ │ └── package-lock-wildcards.json │ │ ├── peer-exclusion-test │ │ │ ├── package-lock.json │ │ │ └── package.json │ │ └── workspace-test │ │ │ ├── package-relative.json │ │ │ ├── package-wildcard-and-relative.json │ │ │ ├── package-wildcard.json │ │ │ └── packages │ │ │ ├── a │ │ │ ├── c │ │ │ │ └── package.json │ │ │ └── package.json │ │ │ └── b │ │ │ ├── d │ │ │ └── package.json │ │ │ └── package.json │ ├── nuget │ │ ├── LDService.Dashboard_Output_0_graph.json │ │ ├── LDService.Dashboard_inspection.json │ │ ├── LDService_Output_0_graph.json │ │ ├── LDService_Output_10_graph.json │ │ ├── LDService_Output_11_graph.json │ │ ├── LDService_Output_12_graph.json │ │ ├── LDService_Output_1_graph.json │ │ ├── LDService_Output_2_graph.json │ │ ├── LDService_Output_3_graph.json │ │ ├── LDService_Output_4_graph.json │ │ ├── LDService_Output_5_graph.json │ │ ├── LDService_Output_6_graph.json │ │ ├── LDService_Output_7_graph.json │ │ ├── LDService_Output_8_graph.json │ │ ├── LDService_Output_9_graph.json │ │ ├── LDService_inspection.json │ │ ├── dwCheckApi_inspection.json │ │ ├── dwCheckApi_inspection_martin.json │ │ ├── future │ │ │ └── NugetDotnet5Inspector.sln │ │ └── project_inspector │ │ │ ├── ConsoleApp.json │ │ │ └── ProjectInspectorNoResults.json │ ├── pip │ │ ├── requirements-2.txt │ │ ├── requirements-4.txt │ │ ├── requirements.txt │ │ └── test-subdirectory │ │ │ └── requirements-3.txt │ ├── pnpm │ │ ├── linkedProjectPackage │ │ │ └── package.json │ │ ├── v5 │ │ │ └── pnpm-lock.yaml │ │ ├── v6 │ │ │ └── pnpm-lock.yaml │ │ └── v9 │ │ │ ├── pnpm-lock.yaml │ │ │ └── pnpm-workspace-lock.yaml │ ├── swift │ │ ├── v1 │ │ │ └── Package.resolved │ │ └── v2 │ │ │ └── Package.resolved │ ├── xcode │ │ └── Package.resolved │ └── yarn │ │ ├── lockfilev1 │ │ └── yarn.lock │ │ ├── lockfilev3 │ │ └── yarn.lock │ │ └── lockfilev4 │ │ └── yarn.lock │ └── unit │ └── pip │ └── poetry │ └── false_positive_pyproject.toml ├── detector ├── build.gradle └── src │ ├── main │ └── java │ │ └── com │ │ └── blackduck │ │ └── integration │ │ └── detector │ │ ├── DetectorApplication.java │ │ ├── accuracy │ │ ├── DetectorEvaluationOptions.java │ │ ├── detectable │ │ │ ├── DetectableEvaluationResult.java │ │ │ ├── DetectableEvaluationResultType.java │ │ │ └── DetectableEvaluator.java │ │ ├── directory │ │ │ ├── DirectoryEvaluation.java │ │ │ └── DirectoryEvaluator.java │ │ ├── entrypoint │ │ │ ├── DetectorRuleEvaluation.java │ │ │ ├── DetectorRuleEvaluator.java │ │ │ ├── EntryPointEvaluation.java │ │ │ ├── EntryPointFoundResult.java │ │ │ └── EntryPointNotFoundResult.java │ │ └── search │ │ │ ├── SearchEnvironment.java │ │ │ ├── SearchEvaluator.java │ │ │ └── SearchOptions.java │ │ ├── base │ │ ├── DetectableCreatable.java │ │ ├── DetectorEvaluationUtil.java │ │ ├── DetectorResultStatusCodeLookup.java │ │ ├── DetectorStatusCode.java │ │ ├── DetectorStatusType.java │ │ └── DetectorType.java │ │ ├── finder │ │ ├── DirectoryFindResult.java │ │ ├── DirectoryFinder.java │ │ ├── DirectoryFinderDirectoryListException.java │ │ └── DirectoryFinderOptions.java │ │ ├── result │ │ ├── DetectorResult.java │ │ ├── ExcludedDetectorResult.java │ │ ├── FailedDetectorResult.java │ │ ├── ForcedNestedPassedDetectorResult.java │ │ ├── MaxDepthExceededDetectorResult.java │ │ ├── NotNestableBeneathDetectableDetectorResult.java │ │ ├── NotNestableBeneathDetectorResult.java │ │ ├── NotNestableDetectorResult.java │ │ ├── PassedDetectorResult.java │ │ └── YieldedDetectorResult.java │ │ └── rule │ │ ├── DetectableDefinition.java │ │ ├── DetectorRule.java │ │ ├── DetectorRuleSet.java │ │ ├── EntryPoint.java │ │ ├── Fallback.java │ │ ├── SearchRule.java │ │ └── builder │ │ ├── DetectableLookup.java │ │ ├── DetectorRuleBuilder.java │ │ ├── DetectorRuleBuilderDelegate.java │ │ ├── DetectorRuleSetBuilder.java │ │ ├── EntryPointBuilder.java │ │ └── SearchRuleBuilder.java │ └── test │ └── java │ └── com │ └── blackduck │ └── integration │ └── detector │ └── finder │ └── DirectoryFinderTest.java ├── documentation ├── build.gradle ├── classification.xml ├── custom.properties ├── keywords.ditamap ├── scripts │ ├── checkSize.sh │ ├── diff_doc.sh │ ├── findOrphans.sh │ └── ftl2md.sh ├── src │ └── main │ │ ├── markdown │ │ ├── components │ │ │ ├── detectors.dita │ │ │ ├── inspectors.md │ │ │ ├── overview.md │ │ │ └── tools.md │ │ ├── configuring │ │ │ ├── commandline.md │ │ │ ├── configfile.md │ │ │ ├── credentials.md │ │ │ ├── envvars.md │ │ │ ├── javaregex.md │ │ │ ├── othermethods.md │ │ │ ├── overview.md │ │ │ ├── pathproperties.md │ │ │ ├── profiles.md │ │ │ └── propertywildcards.md │ │ ├── currentreleasenotes.md │ │ ├── downloadingandinstalling │ │ │ ├── airgap.md │ │ │ ├── intro.md │ │ │ ├── selfupdatingdetect.md │ │ │ ├── upgradingdetect.md │ │ │ └── verification.md │ │ ├── gettingstarted │ │ │ ├── configuring.md │ │ │ ├── gettinghelp.md │ │ │ ├── howitworks.md │ │ │ ├── overview.md │ │ │ ├── phases.md │ │ │ ├── quickstart.md │ │ │ ├── requirements.md │ │ │ ├── terms │ │ │ │ ├── bdio.md │ │ │ │ ├── detectors.md │ │ │ │ ├── impactanalysis.md │ │ │ │ ├── inspectors.md │ │ │ │ ├── intro.md │ │ │ │ ├── jar.md │ │ │ │ ├── properties.md │ │ │ │ ├── run.md │ │ │ │ ├── sca.md │ │ │ │ ├── scans.md │ │ │ │ ├── script.md │ │ │ │ └── tools.md │ │ │ ├── usersandroles.md │ │ │ └── workflow.md │ │ ├── integrations │ │ │ ├── acr │ │ │ │ └── azurecontainerregistry.md │ │ │ ├── azureplugin │ │ │ │ ├── autoescapingparameters.md │ │ │ │ ├── azure.md │ │ │ │ ├── azurepluginreleasenotes.md │ │ │ │ ├── azurepluginrequirements.md │ │ │ │ ├── configuringandrunning.md │ │ │ │ ├── configuringbuildagent.md │ │ │ │ ├── images │ │ │ │ │ ├── bd-extension.png │ │ │ │ │ ├── configuringagent.png │ │ │ │ │ ├── configuringplugin.png │ │ │ │ │ ├── installing1.png │ │ │ │ │ ├── installing2.png │ │ │ │ │ └── introscreen.png │ │ │ │ ├── installingtheplugin.md │ │ │ │ └── runningthetask.md │ │ │ ├── bitbucket │ │ │ │ ├── bitbucketintegration.md │ │ │ │ └── images │ │ │ │ │ ├── myaccesstokens.png │ │ │ │ │ └── xapitoken.png │ │ │ ├── gitlab │ │ │ │ ├── gitlabintegration.md │ │ │ │ └── images │ │ │ │ │ ├── myaccesstokens.png │ │ │ │ │ ├── pipelineconfig1.png │ │ │ │ │ └── pipelineconfig2.png │ │ │ ├── integrations.md │ │ │ └── jenkinsplugin │ │ │ │ ├── airgapfordetect.md │ │ │ │ ├── autoescapingparameters.md │ │ │ │ ├── configuringtheplugin.md │ │ │ │ ├── dockercontainers.md │ │ │ │ ├── downloadingandinstalling.md │ │ │ │ ├── images │ │ │ │ ├── AirGap.png │ │ │ │ ├── Configuring1.png │ │ │ │ ├── Configuring2.png │ │ │ │ ├── Configuring3.png │ │ │ │ ├── Configuring4.jpg │ │ │ │ ├── JenkinsFreestyleJob.png │ │ │ │ ├── Pipeline1.png │ │ │ │ └── Pipeline2.png │ │ │ │ ├── jenkins.md │ │ │ │ ├── jenkinsfreestylejob.md │ │ │ │ ├── jenkinspipelinejob.md │ │ │ │ ├── jenkinsrequirements.md │ │ │ │ ├── pluginreleasenotes.md │ │ │ │ ├── runninginjenkins.md │ │ │ │ └── usersandroles.md │ │ ├── introduction.md │ │ ├── naming │ │ │ ├── aggregation.md │ │ │ └── projectversionscannaming.md │ │ ├── packagemgrs │ │ │ ├── bazel.md │ │ │ ├── bitbake.md │ │ │ ├── cargo.md │ │ │ ├── carthage.md │ │ │ ├── clang.md │ │ │ ├── conan.md │ │ │ ├── conda.md │ │ │ ├── cpan.md │ │ │ ├── dart.md │ │ │ ├── docker │ │ │ │ ├── advanced-properties.md │ │ │ │ ├── advanced.md │ │ │ │ ├── architecture.md │ │ │ │ ├── deployment.md │ │ │ │ ├── filepermissions.md │ │ │ │ ├── formats.md │ │ │ │ ├── intro.md │ │ │ │ ├── isolatingapplication.md │ │ │ │ ├── properties.md │ │ │ │ ├── releasenotes.md │ │ │ │ ├── runningonwindows.md │ │ │ │ ├── scantarget.md │ │ │ │ ├── troubleshooting.md │ │ │ │ ├── windowsimages.md │ │ │ │ └── workflow.md │ │ │ ├── git.md │ │ │ ├── golang.md │ │ │ ├── gradle.md │ │ │ ├── hex.md │ │ │ ├── ivy.md │ │ │ ├── lerna.md │ │ │ ├── maven.md │ │ │ ├── npm.md │ │ │ ├── nuget.md │ │ │ ├── opam.md │ │ │ ├── overview.md │ │ │ ├── pnpm.md │ │ │ ├── python.md │ │ │ ├── sbt.md │ │ │ ├── swift.md │ │ │ └── yarn.md │ │ ├── previousreleasenotes.md │ │ ├── properties │ │ │ ├── configuration │ │ │ │ ├── overview.md │ │ │ │ └── properties.md │ │ │ └── detectors │ │ │ │ └── overview.md │ │ ├── results │ │ │ ├── overview.md │ │ │ └── reports.md │ │ ├── runningdetect │ │ │ ├── autonomousscan.dita │ │ │ ├── basics │ │ │ │ ├── choosingrunmethod.md │ │ │ │ ├── choosingtargettype.md │ │ │ │ ├── choosingworkingdir.md │ │ │ │ ├── decidinghowtouse.md │ │ │ │ ├── manual.md │ │ │ │ ├── positioning.md │ │ │ │ ├── runningjar.md │ │ │ │ ├── runningscript.md │ │ │ │ └── runningwithblackduck.md │ │ │ ├── component-location-analysis.md │ │ │ ├── concurrent.md │ │ │ ├── containerscanning.md │ │ │ ├── detectorcascade.md │ │ │ ├── iacscan.md │ │ │ ├── images │ │ │ │ └── containerscan.png │ │ │ ├── includingexcluding │ │ │ │ ├── detectors.md │ │ │ │ ├── directories.md │ │ │ │ ├── intro.md │ │ │ │ ├── pkgmgrs.md │ │ │ │ └── tools.md │ │ │ ├── intro.md │ │ │ ├── proxies.md │ │ │ ├── rapidscan.md │ │ │ ├── runincontainer.md │ │ │ ├── runningairgap.md │ │ │ └── statelessscan.md │ │ ├── scripts │ │ │ ├── overview.md │ │ │ └── script-escaping-special-characters.md │ │ ├── troubleshooting │ │ │ ├── commonproblems.md │ │ │ ├── diagnosticmode.md │ │ │ ├── gettinginfo.md │ │ │ ├── solutions.md │ │ │ ├── usage-metrics.md │ │ │ └── windowsos.md │ │ └── unsupportedreleasenotes.md │ │ └── resources │ │ └── templates │ │ ├── all-properties.ftl │ │ ├── basic-properties.ftl │ │ ├── deprecated-properties.ftl │ │ ├── ditamap.ftl │ │ ├── downloadlocations.ftl │ │ ├── exit-codes.ftl │ │ ├── property-group.ftl │ │ └── status-file.ftl └── topics.ditamap ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── platform-1 ├── Dockerfile.template ├── LICENSE ├── README.md ├── build.sh ├── config.env ├── hardening_manifest.yaml.template └── submit.sh ├── settings.gradle ├── shared-version.properties └── src ├── main ├── java │ └── com │ │ └── blackduck │ │ └── integration │ │ └── detect │ │ ├── Application.java │ │ ├── ApplicationUpdater.java │ │ ├── ApplicationUpdaterUtility.java │ │ ├── SpringConfigErrorListener.java │ │ ├── configuration │ │ ├── DetectConfigurationFactory.java │ │ ├── DetectCustomFieldParser.java │ │ ├── DetectInfo.java │ │ ├── DetectInfoUtility.java │ │ ├── DetectProperties.java │ │ ├── DetectPropertyConfiguration.java │ │ ├── DetectPropertyFromVersion.java │ │ ├── DetectPropertyUtil.java │ │ ├── DetectUserFriendlyException.java │ │ ├── DetectableOptionFactory.java │ │ ├── DetectorToolOptions.java │ │ ├── ExcludeIncludeEnumFilter.java │ │ ├── connection │ │ │ ├── BlackDuckConfigFactory.java │ │ │ ├── BlackDuckConnectionDetails.java │ │ │ ├── ConnectionDetails.java │ │ │ └── ConnectionFactory.java │ │ ├── enumeration │ │ │ ├── BlackduckScanMode.java │ │ │ ├── DefaultDetectorSearchExcludedDirectories.java │ │ │ ├── DefaultSignatureScannerExcludedDirectories.java │ │ │ ├── DefaultVersionNameScheme.java │ │ │ ├── DetectCategory.java │ │ │ ├── DetectGroup.java │ │ │ ├── DetectMajorVersion.java │ │ │ ├── DetectTargetType.java │ │ │ ├── DetectTool.java │ │ │ ├── ExitCodeType.java │ │ │ └── RapidCompareMode.java │ │ ├── help │ │ │ ├── ArgumentParser.java │ │ │ ├── DetectArgumentState.java │ │ │ ├── DetectArgumentStateParser.java │ │ │ ├── json │ │ │ │ ├── HelpJsonManager.java │ │ │ │ ├── HelpJsonWriter.java │ │ │ │ └── model │ │ │ │ │ ├── HelpJsonData.java │ │ │ │ │ ├── HelpJsonDetectable.java │ │ │ │ │ ├── HelpJsonDetector.java │ │ │ │ │ ├── HelpJsonDetectorEntryPoint.java │ │ │ │ │ ├── HelpJsonDetectorRule.java │ │ │ │ │ ├── HelpJsonDetectorStatusCode.java │ │ │ │ │ ├── HelpJsonExitCode.java │ │ │ │ │ ├── HelpJsonOption.java │ │ │ │ │ ├── HelpJsonOptionDeprecatedValue.java │ │ │ │ │ └── HelpJsonSearchRule.java │ │ │ ├── print │ │ │ │ ├── HelpPrinter.java │ │ │ │ └── HelpTextWriter.java │ │ │ └── yaml │ │ │ │ └── HelpYamlWriter.java │ │ └── validation │ │ │ ├── DeprecatedValue.java │ │ │ ├── DeprecationResult.java │ │ │ ├── DetectConfigurationBootManager.java │ │ │ ├── RemovalDeprecation.java │ │ │ └── ValueDeprecation.java │ │ ├── interactive │ │ ├── BlackDuckConnectionDecisionBranch.java │ │ ├── BlackDuckServerDecisionBranch.java │ │ ├── DecisionTree.java │ │ ├── InteractiveManager.java │ │ ├── InteractiveModeDecisionTree.java │ │ ├── InteractiveOption.java │ │ ├── InteractivePropertySourceBuilder.java │ │ ├── InteractiveWriter.java │ │ ├── SignatureScannerDecisionBranch.java │ │ ├── UncloseablePrintStream.java │ │ └── reader │ │ │ ├── ConsoleInteractiveReader.java │ │ │ ├── InteractiveReader.java │ │ │ └── ScannerInteractiveReader.java │ │ ├── lifecycle │ │ ├── BlackDuckDuplicateProjectException.java │ │ ├── OperationException.java │ │ ├── autonomous │ │ │ ├── AutonomousManager.java │ │ │ ├── ScanSettingsSerializer.java │ │ │ ├── ScanTypeDecider.java │ │ │ └── model │ │ │ │ ├── PackageManagerType.java │ │ │ │ ├── ScanSettings.java │ │ │ │ └── ScanType.java │ │ ├── boot │ │ │ ├── DetectBoot.java │ │ │ ├── DetectBootFactory.java │ │ │ ├── DetectBootResult.java │ │ │ ├── decision │ │ │ │ ├── BlackDuckDecision.java │ │ │ │ ├── ProductDecider.java │ │ │ │ └── RunDecision.java │ │ │ └── product │ │ │ │ ├── BlackDuckConnectivityChecker.java │ │ │ │ ├── BlackDuckConnectivityResult.java │ │ │ │ ├── ProductBoot.java │ │ │ │ ├── ProductBootFactory.java │ │ │ │ ├── ProductBootOptions.java │ │ │ │ └── version │ │ │ │ ├── BlackDuckMinimumVersionCheck.java │ │ │ │ ├── BlackDuckMinimumVersionChecks.java │ │ │ │ ├── BlackDuckVersionChecker.java │ │ │ │ ├── BlackDuckVersionCheckerResult.java │ │ │ │ ├── BlackDuckVersionParser.java │ │ │ │ └── BlackDuckVersionSensitiveOptions.java │ │ ├── exit │ │ │ ├── ExitManager.java │ │ │ ├── ExitOptions.java │ │ │ └── ExitResult.java │ │ ├── run │ │ │ ├── DetectFontLoaderFactory.java │ │ │ ├── DetectRun.java │ │ │ ├── data │ │ │ │ ├── BlackDuckRunData.java │ │ │ │ ├── CommonScanResult.java │ │ │ │ ├── DockerTargetData.java │ │ │ │ ├── ProductRunData.java │ │ │ │ └── ScanCreationResponse.java │ │ │ ├── operation │ │ │ │ ├── OperationRunner.java │ │ │ │ └── blackduck │ │ │ │ │ ├── BdioUploadResult.java │ │ │ │ │ └── ScassScanInitiationResult.java │ │ │ ├── singleton │ │ │ │ ├── BootSingletons.java │ │ │ │ ├── EventSingletons.java │ │ │ │ ├── SingletonFactory.java │ │ │ │ ├── SingletonLocator.java │ │ │ │ └── UtilitySingletons.java │ │ │ └── step │ │ │ │ ├── BdbaScanStepRunner.java │ │ │ │ ├── BlackDuckProjectVersionStepRunner.java │ │ │ │ ├── CommonScanStepRunner.java │ │ │ │ ├── IacScanStepRunner.java │ │ │ │ ├── IntelligentModeStepRunner.java │ │ │ │ ├── RapidBdbaStepRunner.java │ │ │ │ ├── RapidModeStepRunner.java │ │ │ │ ├── ScassScanStepRunner.java │ │ │ │ ├── SignatureScanStepRunner.java │ │ │ │ ├── UniversalStepRunner.java │ │ │ │ ├── binary │ │ │ │ ├── AbstractBinaryScanStepRunner.java │ │ │ │ ├── PreScassBinaryScanStepRunner.java │ │ │ │ └── ScassOrBdbaBinaryScanStepRunner.java │ │ │ │ ├── container │ │ │ │ ├── AbstractContainerScanStepRunner.java │ │ │ │ ├── PreScassContainerScanStepRunner.java │ │ │ │ └── ScassOrBdbaContainerScanStepRunner.java │ │ │ │ └── utility │ │ │ │ ├── OperationAuditLog.java │ │ │ │ ├── OperationWrapper.java │ │ │ │ ├── StepHelper.java │ │ │ │ └── UploaderHelper.java │ │ └── shutdown │ │ │ ├── CleanupDecision.java │ │ │ ├── CleanupUtility.java │ │ │ ├── ExceptionUtility.java │ │ │ ├── ExitCodeManager.java │ │ │ ├── ExitCodePublisher.java │ │ │ ├── ExitCodeRequest.java │ │ │ ├── ShutdownDecider.java │ │ │ ├── ShutdownDecision.java │ │ │ └── ShutdownManager.java │ │ ├── tool │ │ ├── DetectableTool.java │ │ ├── DetectableToolResult.java │ │ ├── UniversalToolsResult.java │ │ ├── UniversalToolsResultBuilder.java │ │ ├── binaryscanner │ │ │ ├── BinaryScanFindMultipleTargetsOperation.java │ │ │ ├── BinaryScanOptions.java │ │ │ └── BinaryUploadOperation.java │ │ ├── cache │ │ │ ├── InstalledToolData.java │ │ │ ├── InstalledToolLocator.java │ │ │ └── InstalledToolManager.java │ │ ├── detector │ │ │ ├── CodeLocationConverter.java │ │ │ ├── DetectExtractionEnvironment.java │ │ │ ├── DetectorEventPublisher.java │ │ │ ├── DetectorIssuePublisher.java │ │ │ ├── DetectorRuleFactory.java │ │ │ ├── DetectorTool.java │ │ │ ├── DetectorToolResult.java │ │ │ ├── RequiredDetectorChecker.java │ │ │ ├── executable │ │ │ │ ├── DetectExecutableOptions.java │ │ │ │ ├── DetectExecutableResolver.java │ │ │ │ ├── DetectExecutableRunner.java │ │ │ │ ├── DirectoryExecutableFinder.java │ │ │ │ ├── ExecutableResolverFunction.java │ │ │ │ ├── ExecutedExecutable.java │ │ │ │ └── SystemPathExecutableFinder.java │ │ │ ├── extraction │ │ │ │ ├── ExtractionEnvironmentProvider.java │ │ │ │ └── ExtractionId.java │ │ │ ├── factory │ │ │ │ ├── DetectDetectableFactory.java │ │ │ │ └── DetectorFactory.java │ │ │ ├── file │ │ │ │ └── DetectDetectorFilter.java │ │ │ ├── inspector │ │ │ │ ├── ArtifactoryDockerInspectorResolver.java │ │ │ │ ├── ArtifactoryGradleInspectorResolver.java │ │ │ │ ├── ArtifactoryZipInstaller.java │ │ │ │ ├── DockerInspectorInstaller.java │ │ │ │ ├── LocalPipInspectorResolver.java │ │ │ │ ├── nuget │ │ │ │ │ ├── AirgapNugetInspectorResolver.java │ │ │ │ │ ├── ArtifactoryNugetInspectorInstaller.java │ │ │ │ │ ├── NugetInspectorExecutableLocator.java │ │ │ │ │ └── OnlineNugetInspectorResolver.java │ │ │ │ └── projectinspector │ │ │ │ │ ├── AirgapProjectInspectorResolver.java │ │ │ │ │ ├── OnlineProjectInspectorResolver.java │ │ │ │ │ ├── ProjectInspectorExecutableLocator.java │ │ │ │ │ └── installer │ │ │ │ │ ├── ArtifactoryProjectInspectorInstaller.java │ │ │ │ │ ├── LocalProjectInspectorInstaller.java │ │ │ │ │ └── ProjectInspectorInstaller.java │ │ │ └── report │ │ │ │ ├── DetectorDirectoryReport.java │ │ │ │ ├── DetectorStatusUtil.java │ │ │ │ ├── detectable │ │ │ │ ├── AttemptedDetectableReport.java │ │ │ │ └── ExtractedDetectableReport.java │ │ │ │ ├── rule │ │ │ │ ├── EvaluatedDetectorRuleReport.java │ │ │ │ ├── ExtractedDetectorRuleReport.java │ │ │ │ └── NotFoundDetectorRuleReport.java │ │ │ │ └── util │ │ │ │ ├── DetectorReportUtil.java │ │ │ │ └── DetectorReporter.java │ │ ├── iac │ │ │ ├── CalculateIacScanTargetsOperation.java │ │ │ ├── IacScanCodeLocationData.java │ │ │ ├── IacScanOperation.java │ │ │ ├── IacScanOptions.java │ │ │ ├── IacScanReport.java │ │ │ ├── IacScanStatus.java │ │ │ ├── IacScannerInstaller.java │ │ │ ├── PublishIacScanReportOperation.java │ │ │ └── UploadIacScanResultsOperation.java │ │ ├── impactanalysis │ │ │ ├── GenerateImpactAnalysisOperation.java │ │ │ ├── ImpactAnalysisMapCodeLocationsOperation.java │ │ │ ├── ImpactAnalysisNamingOperation.java │ │ │ ├── ImpactAnalysisToolResult.java │ │ │ ├── ImpactAnalysisUploadOperation.java │ │ │ └── service │ │ │ │ ├── ImpactAnalysis.java │ │ │ │ ├── ImpactAnalysisBatch.java │ │ │ │ ├── ImpactAnalysisBatchOutput.java │ │ │ │ ├── ImpactAnalysisBatchRunner.java │ │ │ │ ├── ImpactAnalysisCallable.java │ │ │ │ ├── ImpactAnalysisCodeLocationCreationRequest.java │ │ │ │ ├── ImpactAnalysisOutput.java │ │ │ │ ├── ImpactAnalysisUploadService.java │ │ │ │ └── ImpactAnalysisUploadView.java │ │ └── signaturescanner │ │ │ ├── BlackDuckSignatureScannerOptions.java │ │ │ ├── ScanBatchRunnerUserResult.java │ │ │ ├── SignatureScanPath.java │ │ │ ├── SignatureScannerCodeLocationResult.java │ │ │ ├── SignatureScannerLogger.java │ │ │ ├── SignatureScannerReport.java │ │ │ ├── enums │ │ │ ├── ExtendedIndividualFileMatchingMode.java │ │ │ ├── ExtendedReducedPersistanceMode.java │ │ │ ├── ExtendedSnippetMode.java │ │ │ └── SignatureScanStatusType.java │ │ │ └── operation │ │ │ ├── CalculateScanPathsOperation.java │ │ │ ├── CalculateWaitableSignatureScanCodeLocations.java │ │ │ ├── CreateScanBatchOperation.java │ │ │ ├── CreateScanBatchRunnerWithBlackDuck.java │ │ │ ├── CreateScanBatchRunnerWithLocalInstall.java │ │ │ ├── CreateSignatureScanReports.java │ │ │ ├── PublishSignatureScanReports.java │ │ │ ├── SignatureScanOperation.java │ │ │ ├── SignatureScanOuputResult.java │ │ │ └── SignatureScanResult.java │ │ ├── util │ │ ├── DetectEnumUtil.java │ │ ├── DetectZipUtil.java │ │ ├── bdio │ │ │ └── protobuf │ │ │ │ └── DetectProtobufBdioHeaderUtil.java │ │ ├── executable │ │ │ └── NpmExecutableResolverOptions.java │ │ ├── filter │ │ │ ├── DetectFilter.java │ │ │ ├── DetectOverrideableFilter.java │ │ │ └── DetectToolFilter.java │ │ └── finder │ │ │ ├── DetectDirectoryFileFilter.java │ │ │ ├── DetectExcludedDirectoryFilter.java │ │ │ └── DirectoryMatcher.java │ │ └── workflow │ │ ├── ArtifactResolver.java │ │ ├── ArtifactoryConstants.java │ │ ├── DetectRunId.java │ │ ├── airgap │ │ ├── AirGapCreator.java │ │ ├── AirGapInspectorPaths.java │ │ ├── AirGapPathFinder.java │ │ ├── AirGapType.java │ │ ├── AirGapTypeDecider.java │ │ ├── DetectFontAirGapCreator.java │ │ ├── DockerAirGapCreator.java │ │ ├── NugetInspectorAirGapCreator.java │ │ └── ProjectInspectorAirGapCreator.java │ │ ├── bdba │ │ ├── BdbaRapidScanWaitJob.java │ │ └── BdbaStatusScanView.java │ │ ├── bdio │ │ ├── AggregateCodeLocation.java │ │ ├── BdioOptions.java │ │ ├── BdioResult.java │ │ ├── CreateAggregateBdio2FileOperation.java │ │ ├── CreateAggregateCodeLocationOperation.java │ │ ├── CreateBdio2FilesOperation.java │ │ └── aggregation │ │ │ └── FullAggregateGraphCreator.java │ │ ├── blackduck │ │ ├── BlackDuckPostOptions.java │ │ ├── BomScanWaitOperation.java │ │ ├── DetectBomScanWaitJob.java │ │ ├── DetectFontLoader.java │ │ ├── ExclusionPatternCreator.java │ │ ├── analytics │ │ │ ├── AnalyticsConfigurationService.java │ │ │ └── AnalyticsSetting.java │ │ ├── bdio │ │ │ ├── BdioUploadOperation.java │ │ │ └── IntelligentPersistentUploadOperation.java │ │ ├── codelocation │ │ │ ├── CodeLocationAccumulator.java │ │ │ ├── CodeLocationResults.java │ │ │ ├── CodeLocationWaitCalculator.java │ │ │ ├── CodeLocationWaitData.java │ │ │ └── WaitableCodeLocationData.java │ │ ├── developer │ │ │ ├── RapidModeConfigFindOperation.java │ │ │ ├── RapidModeGenerateJsonOperation.java │ │ │ ├── RapidModeLogReportOperation.java │ │ │ ├── RapidModeUploadOperation.java │ │ │ ├── RapidModeWaitOperation.java │ │ │ ├── RapidScanDetectResult.java │ │ │ ├── RapidScanOptions.java │ │ │ ├── aggregate │ │ │ │ ├── RapidScanAggregateResult.java │ │ │ │ ├── RapidScanComponentDetail.java │ │ │ │ ├── RapidScanComponentGroupDetail.java │ │ │ │ ├── RapidScanDetailGroup.java │ │ │ │ ├── RapidScanResultAggregator.java │ │ │ │ └── RapidScanResultSummary.java │ │ │ └── blackduck │ │ │ │ ├── DetectRapidScanRequestBuilder.java │ │ │ │ ├── DetectRapidScanService.java │ │ │ │ ├── DetectRapidScanWaitJobFull.java │ │ │ │ ├── RapidScanConfigBdio2StreamUploader.java │ │ │ │ └── RapidScanUploadService.java │ │ ├── font │ │ │ ├── AirGapFontLocator.java │ │ │ ├── DetectFontInstaller.java │ │ │ ├── DetectFontLocator.java │ │ │ └── OnlineDetectFontLocator.java │ │ ├── integratedmatching │ │ │ ├── CorrelatedScanCountUploadService.java │ │ │ ├── ScanCountsPayloadCreator.java │ │ │ └── model │ │ │ │ ├── ScanCounts.java │ │ │ │ └── ScanCountsPayload.java │ │ ├── policy │ │ │ ├── PolicyChecker.java │ │ │ └── PolicyViolationInfo.java │ │ ├── project │ │ │ ├── AddTagsToProjectOperation.java │ │ │ ├── AddUserGroupsToProjectOperation.java │ │ │ ├── FindCloneByLatestOperation.java │ │ │ ├── FindCloneByNameOperation.java │ │ │ ├── FindLicenseUrlOperation.java │ │ │ ├── FindProjectGroupOperation.java │ │ │ ├── MapToParentOperation.java │ │ │ ├── SetApplicationIdOperation.java │ │ │ ├── SyncProjectOperation.java │ │ │ ├── UnmapCodeLocationsOperation.java │ │ │ ├── UpdateCustomFieldsOperation.java │ │ │ ├── customfields │ │ │ │ ├── CustomFieldDocument.java │ │ │ │ ├── CustomFieldElement.java │ │ │ │ ├── CustomFieldOperation.java │ │ │ │ ├── CustomFieldOptionView.java │ │ │ │ └── CustomFieldView.java │ │ │ └── options │ │ │ │ ├── CloneFindResult.java │ │ │ │ ├── FindCloneOptions.java │ │ │ │ ├── ParentProjectMapOptions.java │ │ │ │ ├── ProjectGroupFindResult.java │ │ │ │ ├── ProjectGroupOptions.java │ │ │ │ ├── ProjectSyncOptions.java │ │ │ │ ├── ProjectVersionLicenseFindResult.java │ │ │ │ └── ProjectVersionLicenseOptions.java │ │ └── report │ │ │ ├── BomComponent.java │ │ │ ├── BomRiskCounts.java │ │ │ ├── PolicyRule.java │ │ │ ├── ReportData.java │ │ │ ├── pdf │ │ │ ├── FontLoader.java │ │ │ ├── PDFBoxManager.java │ │ │ ├── RiskReportPdfWriter.java │ │ │ └── StringManager.java │ │ │ └── service │ │ │ ├── ReportService.java │ │ │ └── RiskReportException.java │ │ ├── codelocation │ │ ├── BdioCodeLocation.java │ │ ├── BdioCodeLocationResult.java │ │ ├── CodeLocationEventPublisher.java │ │ ├── CodeLocationNameGenerator.java │ │ ├── CodeLocationNameManager.java │ │ ├── CodeLocationNameType.java │ │ ├── DetectCodeLocation.java │ │ ├── DetectCodeLocationNamesResult.java │ │ └── FileNameUtils.java │ │ ├── componentlocationanalysis │ │ ├── BdioToComponentListTransformer.java │ │ ├── ComponentLocatorException.java │ │ ├── GenerateComponentLocationAnalysisOperation.java │ │ ├── ScanMetadata.java │ │ └── ScanResultToComponentListTransformer.java │ │ ├── diagnostic │ │ ├── DiagnosticDecision.java │ │ ├── DiagnosticExecutableCapture.java │ │ ├── DiagnosticFileCapture.java │ │ ├── DiagnosticLogSystem.java │ │ ├── DiagnosticLogUtil.java │ │ ├── DiagnosticLogger.java │ │ ├── DiagnosticReportHandler.java │ │ ├── DiagnosticSysOutCapture.java │ │ ├── DiagnosticSystem.java │ │ └── DiagnosticZipCreator.java │ │ ├── event │ │ ├── Event.java │ │ ├── EventListener.java │ │ ├── EventSystem.java │ │ └── EventType.java │ │ ├── file │ │ ├── DetectFileUtils.java │ │ ├── DirectoryManager.java │ │ ├── DirectoryOptions.java │ │ └── SourceDirectoryDecision.java │ │ ├── git │ │ └── DetectorGitProjectInfoDecider.java │ │ ├── nameversion │ │ ├── DetectorEvaluationNameVersionDecider.java │ │ ├── DetectorNameVersionDecider.java │ │ ├── DetectorProjectInfo.java │ │ ├── DetectorProjectInfoMetadata.java │ │ └── decision │ │ │ ├── ArbitraryNameVersionDecision.java │ │ │ ├── NameVersionDecision.java │ │ │ ├── PreferredDetectorDecision.java │ │ │ ├── PreferredDetectorNotFoundDecision.java │ │ │ ├── TooManyPreferredDetectorTypesFoundDecision.java │ │ │ ├── UniqueDetectorDecision.java │ │ │ └── UniqueDetectorNotFoundDecision.java │ │ ├── phonehome │ │ ├── OnlinePhoneHomeManager.java │ │ ├── PhoneHomeCredentials.java │ │ ├── PhoneHomeCredentialsFactory.java │ │ ├── PhoneHomeManager.java │ │ └── PhoneHomeOptions.java │ │ ├── profiling │ │ ├── DetectorProfiler.java │ │ ├── DetectorTimings.java │ │ ├── Timekeeper.java │ │ └── Timing.java │ │ ├── project │ │ ├── DetectProject.java │ │ ├── DetectToolProjectInfo.java │ │ ├── ProjectEventPublisher.java │ │ ├── ProjectNameVersionDecider.java │ │ └── ProjectNameVersionOptions.java │ │ ├── report │ │ ├── CodeLocationDependencyCounter.java │ │ ├── CodeLocationReporter.java │ │ ├── ConfigurationReporter.java │ │ ├── DetailedSearchSummaryReporter.java │ │ ├── ExceptionUtil.java │ │ ├── OverviewSummaryReporter.java │ │ ├── ProfilingReporter.java │ │ ├── ReportListener.java │ │ ├── SearchSummaryReporter.java │ │ ├── output │ │ │ ├── FormattedCodeLocationOutput.java │ │ │ ├── FormattedDetectorOutput.java │ │ │ ├── FormattedExitCodeOutput.java │ │ │ ├── FormattedIssueOutput.java │ │ │ ├── FormattedOperationOutput.java │ │ │ ├── FormattedOutput.java │ │ │ ├── FormattedOutputManager.java │ │ │ ├── FormattedResultOutput.java │ │ │ └── FormattedStatusOutput.java │ │ ├── util │ │ │ ├── ObjectPrinter.java │ │ │ ├── ReportConstants.java │ │ │ └── ReporterUtils.java │ │ └── writer │ │ │ ├── DebugLogReportWriter.java │ │ │ ├── ErrorLogReportWriter.java │ │ │ ├── FileReportWriter.java │ │ │ ├── InfoLogReportWriter.java │ │ │ ├── LogReportWriter.java │ │ │ ├── ReportWriter.java │ │ │ └── TraceLogReportWriter.java │ │ ├── result │ │ ├── AirGapDetectResult.java │ │ ├── BlackDuckBomDetectResult.java │ │ ├── ComponentLocatorResult.java │ │ ├── DetectResult.java │ │ └── ReportDetectResult.java │ │ └── status │ │ ├── DetectIssue.java │ │ ├── DetectIssueType.java │ │ ├── DetectStatusLogger.java │ │ ├── DetectStatusManager.java │ │ ├── DetectorStatus.java │ │ ├── FormattedCodeLocation.java │ │ ├── Operation.java │ │ ├── OperationSystem.java │ │ ├── OperationType.java │ │ ├── SignatureScanStatus.java │ │ ├── Status.java │ │ ├── StatusEventPublisher.java │ │ ├── StatusType.java │ │ └── UnrecognizedPaths.java └── resources │ ├── application.properties │ ├── banner.txt │ ├── buildInfo.json │ ├── doc │ └── docPointingToConfluence │ │ ├── markdown │ │ └── index.md │ │ └── mkdocs.yml │ ├── help-yaml-header.txt │ ├── init-script-gradle.ftl │ ├── logback.xml │ ├── pip-inspector.py │ └── riskreport │ └── images │ ├── BlackDuckLogo.png │ └── cross_through_circle.png └── test ├── java └── com │ └── blackduck │ ├── integration │ └── detect │ │ ├── ApplicationUpdaterTest.java │ │ ├── DetectorTypeTest.java │ │ ├── FontLoaderTestIT.java │ │ ├── airgap │ │ └── AirGapParsedValueTests.java │ │ ├── battery │ │ ├── accuracy │ │ │ ├── CascadeBatteryTests.java │ │ │ ├── CascadeDiagnosticReportBatteryTests.java │ │ │ └── CascadeNestingBatteryTests.java │ │ ├── detector │ │ │ ├── BazelBattery.java │ │ │ ├── BitbakeBattery.java │ │ │ ├── CocoapodsBattery.java │ │ │ ├── ComposerBattery.java │ │ │ ├── ConanCliBattery.java │ │ │ ├── ConanLockfileBattery.java │ │ │ ├── CondaBattery.java │ │ │ ├── CpanmBattery.java │ │ │ ├── GoBattery.java │ │ │ ├── GradleBattery.java │ │ │ ├── MavenBattery.java │ │ │ ├── NpmBattery.java │ │ │ ├── PackratBattery.java │ │ │ ├── PearBattery.java │ │ │ ├── PipBattery.java │ │ │ ├── RubygemsBattery.java │ │ │ ├── SbtBattery.java │ │ │ └── YarnBattery.java │ │ ├── docker │ │ │ ├── ArchitectureTest.java │ │ │ ├── AutonomousScanTests.java │ │ │ ├── DartTest.java │ │ │ ├── Dotnet5Test.java │ │ │ ├── GoModTest.java │ │ │ ├── GradleNativeInspectorTests.java │ │ │ ├── ImpactTest.java │ │ │ ├── MavenShadedDependenciesTest.java │ │ │ ├── NugetInspectorTests.java │ │ │ ├── OpamDetectorTests.java │ │ │ ├── PipTest.java │ │ │ ├── PipenvTest.java │ │ │ ├── ProjectInspectorTests.java │ │ │ ├── SbtEncodingTest.java │ │ │ ├── SetuptoolsTest.java │ │ │ ├── YoctoTest.java │ │ │ ├── integration │ │ │ │ ├── BlackDuckAssertions.java │ │ │ │ ├── BlackDuckTestConnection.java │ │ │ │ ├── DetectOnAlertTest.java │ │ │ │ ├── DetectOnDetectTest.java │ │ │ │ ├── RapidModeTests.java │ │ │ │ ├── RiskReportTests.java │ │ │ │ ├── SetAssertionUtil.java │ │ │ │ └── SubProjectAggregateModeTest.java │ │ │ ├── provider │ │ │ │ ├── BuildDockerImageProvider.java │ │ │ │ ├── DockerImageProvider.java │ │ │ │ └── PullDockerImageProvider.java │ │ │ └── util │ │ │ │ ├── DetectCommandBuilder.java │ │ │ │ ├── DetectDockerRunner.java │ │ │ │ ├── DetectDockerTestRunner.java │ │ │ │ ├── DockerAssertions.java │ │ │ │ ├── DockerDetectResult.java │ │ │ │ ├── DockerTestDirectories.java │ │ │ │ ├── LogContainerTestCallback.java │ │ │ │ └── SharedDockerTestRunner.java │ │ ├── run │ │ │ └── ExclusionBattery.java │ │ └── util │ │ │ ├── BatteryContext.java │ │ │ ├── BatteryDetectRunner.java │ │ │ ├── BatteryFiles.java │ │ │ ├── BatterySysOutCapture.java │ │ │ ├── BatteryTestRunner.java │ │ │ ├── Bdio2Compare.java │ │ │ ├── Bdio2CompareTests.java │ │ │ ├── BdioIssue.java │ │ │ ├── DetectJar.java │ │ │ ├── DetectOutput.java │ │ │ ├── DetectorBatteryTestRunner.java │ │ │ ├── TestPaths.java │ │ │ ├── assertions │ │ │ ├── BatteryBdioAssert.java │ │ │ ├── DiagnosticAssert.java │ │ │ ├── FormattedDetectorAssert.java │ │ │ ├── FormattedOutputAssert.java │ │ │ └── OutputAssert.java │ │ │ ├── bdio2 │ │ │ ├── Bdio2Keys.java │ │ │ └── Bdio2Node.java │ │ │ └── executable │ │ │ ├── BatteryExecutable.java │ │ │ ├── BatteryExecutableCreator.java │ │ │ ├── BatteryExecutableInfo.java │ │ │ ├── ExitCodeExecutableCreator.java │ │ │ ├── ResourceCopyingExecutableCreator.java │ │ │ ├── ResourceTypingExecutableCreator.java │ │ │ ├── StringTypingExecutableCreator.java │ │ │ └── TypingExecutableCreator.java │ │ ├── boot │ │ ├── ProductBootTest.java │ │ └── ProductDeciderTest.java │ │ ├── configuration │ │ ├── ArgumentStateParserTests.java │ │ ├── DeprecatedPropertyReferenceTest.java │ │ ├── DetectConfigurationFactoryTestUtils.java │ │ ├── DetectConfigurationFactoryTests.java │ │ ├── DetectConfigurationTest.java │ │ ├── DetectCustomFieldParserTest.java │ │ └── ExitCodeTypeTest.java │ │ ├── file │ │ └── FileExclusionTest.java │ │ ├── interactive │ │ └── InteractiveModeDecisionTreeEndToEndTest.java │ │ ├── junitextensions │ │ ├── BlackDuck.java │ │ ├── BlackDuckParametersExtension.java │ │ ├── BlackDuckTest.java │ │ └── FieldSupport.java │ │ ├── lifecycle │ │ ├── autonomous │ │ │ ├── AutonomousManagerTest.java │ │ │ └── ScanTypeDeciderTest.java │ │ ├── boot │ │ │ └── product │ │ │ │ └── version │ │ │ │ ├── BlackDuckVersionCheckerTest.java │ │ │ │ └── BlackDuckVersionParserTest.java │ │ ├── exit │ │ │ └── ExitManagerTest.java │ │ ├── run │ │ │ ├── operation │ │ │ │ ├── OperationRunnerContainerScanTest.java │ │ │ │ └── OperationRunnerTest.java │ │ │ └── step │ │ │ │ ├── BinaryScanStepRunnerTest.java │ │ │ │ ├── CommonScanStepRunnerTest.java │ │ │ │ └── container │ │ │ │ └── PreScassScanStepRunnerTest.java │ │ └── shutdown │ │ │ └── ShutdownDeciderTest.java │ │ ├── testutils │ │ ├── ContainerScanTestUtils.java │ │ ├── DependencyGraphAssertions.java │ │ ├── DependencyGraphResourceTestUtil.java │ │ ├── DependencyGraphSummarizer.java │ │ ├── DependencyGraphSummaryComparer.java │ │ ├── GraphSummary.java │ │ └── TestUtil.java │ │ ├── tool │ │ ├── binaryscanner │ │ │ ├── BinaryUploadOperationTest.java │ │ │ └── DetectDirectoryFileFilterTest.java │ │ ├── cache │ │ │ ├── InstalledToolLocatorTest.java │ │ │ └── InstalledToolManagerTest.java │ │ ├── detector │ │ │ ├── DetectorRuleFactoryTest.java │ │ │ ├── inspector │ │ │ │ └── projectinspector │ │ │ │ │ └── installer │ │ │ │ │ └── LocalProjectInspectorInstallerTest.java │ │ │ └── report │ │ │ │ └── DetectorStatusUtilTest.java │ │ ├── iac │ │ │ └── IacScannerInstallationTest.java │ │ ├── impactanalysis │ │ │ └── ImpactAnalysisTestIT.java │ │ └── signaturescanner │ │ │ ├── BlackDuckSignatureScannerToolTest.java │ │ │ ├── CalculateWaitableSignatureScanCodeLocationsTest.java │ │ │ ├── PublishSignatureScanReportsTest.java │ │ │ └── SignatureScannerReportTestUtil.java │ │ ├── util │ │ └── DirectoryManagerTest.java │ │ └── workflow │ │ ├── bdio │ │ └── aggregation │ │ │ └── BdioAggregationTest.java │ │ ├── blackduck │ │ ├── ExclusionPatternCreatorTest.java │ │ ├── developer │ │ │ ├── RapidModeGenerateJsonOperationTest.java │ │ │ ├── RapidModeLogReportOperationTest.java │ │ │ ├── RapidScanConfigBdio2StreamUploaderTest.java │ │ │ └── RapidScanResultAggregatorTest.java │ │ ├── font │ │ │ └── DetectFontInstallerTestIT.java │ │ ├── integratedmatching │ │ │ └── ScanCountsPayloadCreatorTest.java │ │ └── report │ │ │ ├── RiskReportServiceTestIT.java │ │ │ └── StringManagerTest.java │ │ ├── codelocation │ │ ├── CodeLocationNameGeneratorTest.java │ │ └── FileNameUtilsTest.java │ │ ├── componentlocationanalysis │ │ └── GenerateComponentLocationAnalysisOperationIT.java │ │ ├── diagnostic │ │ └── DiagnosticDecisionTest.java │ │ ├── git │ │ └── DetectorGitProjectInfoDeciderTest.java │ │ ├── project │ │ └── ProjectNameDeciderTests.java │ │ ├── report │ │ ├── DetectorStatusCodeTest.java │ │ ├── FormattedOutputManagerTest.java │ │ └── ReportDataTest.java │ │ └── status │ │ ├── DetectStatusLoggerTest.java │ │ ├── DetectStatusOutputTest.java │ │ └── OperationSystemTest.java │ └── unit │ └── detect │ └── workflow │ └── componentlocationanalysis │ └── GenerateComponentLocationAnalysisOperationTest.java └── resources ├── battery-util ├── bdio-compare │ ├── base.bdio │ ├── missing_component.bdio │ └── missing_relationship.bdio ├── copying-exe.ftl ├── copying-sh.ftl ├── exit-code-exe.ftl ├── exit-code-sh.ftl ├── typing-exe.ftl └── typing-sh.ftl ├── battery ├── bazel │ ├── haskell-cabal-library-all │ │ ├── bazel-haskell-cabal-library-query.xout │ │ ├── bdio │ │ │ └── battery.bdio │ │ └── empty.xout │ ├── haskell-cabal-library │ │ ├── bazel-haskell-cabal-library-query.xout │ │ └── bdio │ │ │ └── battery.bdio │ ├── http-archive-github │ │ ├── bazel-http-archive-query1.xout │ │ ├── bazel-http-archive-query2_and_3.xout │ │ ├── bazel-http-archive-query4.xout │ │ ├── bazel-http-archive-query5.xout │ │ ├── bdio │ │ │ └── battery.bdio │ │ └── empty.xout │ ├── maven-install-complex │ │ ├── bazel-maven-install-query.xout │ │ └── bdio │ │ │ └── battery.bdio │ ├── maven-install │ │ ├── bazel-maven-install-query.xout │ │ └── bdio │ │ │ └── battery.bdio │ └── maven-jar │ │ ├── bazel-maven-jar-query1.xout │ │ ├── bazel-maven-jar-query2.xout │ │ ├── bazel-maven-jar-query3.xout │ │ └── bdio │ │ └── battery.bdio ├── bitbake │ ├── excldev │ │ ├── bdio │ │ │ └── battery.bdio │ │ ├── bitbake-g.xout │ │ ├── bitbake-layers-show-recipes.xout │ │ ├── build │ │ │ ├── task-depends.dot │ │ │ └── tmp │ │ │ │ └── deploy │ │ │ │ └── licenses │ │ │ │ └── core-image-sato-qemux86-64 │ │ │ │ └── license.manifest │ │ ├── environment.xout │ │ ├── oe-init-build-env │ │ └── pwd.xout │ └── full │ │ ├── bdio │ │ └── battery.bdio │ │ ├── bitbake-g.xout │ │ ├── bitbake-layers-show-recipes.xout │ │ ├── environment.xout │ │ ├── oe-init-build-env │ │ ├── pwd.xout │ │ └── task-depends.dot ├── cocoapods-podlock │ ├── Podfile.lock │ └── bdio │ │ └── battery.bdio ├── composer-lock │ ├── bdio │ │ └── battery.bdio │ ├── composer.json │ └── composer.lock ├── conan-cli │ ├── conan1-version.xout │ ├── conan2-version.xout │ ├── conan2minimal │ │ ├── bdio │ │ │ └── battery.bdio │ │ └── conan-graph-info-minimal.xout │ ├── conan2revisionmatch │ │ ├── bdio │ │ │ └── battery.bdio │ │ └── conan-graph-info-minimal.xout │ ├── minimal │ │ ├── bdio │ │ │ └── battery.bdio │ │ └── conan-info-minimal.xout │ ├── pkgrevonly │ │ ├── bdio │ │ │ └── battery.bdio │ │ └── conan-info-pkgrevonly.xout │ ├── withprojectnameversion │ │ ├── bdio │ │ │ └── battery.bdio │ │ └── conan-info-withprojectnameversion.xout │ ├── withrevisions │ │ ├── bdio │ │ │ └── battery.bdio │ │ └── conan-info-withrevisions.xout │ └── withuserchannel │ │ ├── bdio │ │ └── battery.bdio │ │ └── conan-info-withuserchannel.xout ├── conan-lock │ ├── conan.lock │ ├── longform │ │ ├── bdio │ │ │ └── battery.bdio │ │ └── conan.lock │ └── shortform │ │ ├── bdio │ │ └── battery.bdio │ │ └── conan.lock ├── conan2-lock │ ├── conan.lock │ └── simple │ │ ├── bdio │ │ └── battery.bdio │ │ └── conan.lock ├── conda-list │ ├── bdio │ │ └── battery.bdio │ ├── conda-info.xout │ ├── conda-list.xout │ ├── python-inspector.xout │ └── python-setup.xout ├── cpanm-lock │ ├── bdio │ │ └── battery.bdio │ ├── composer.json │ └── composer.lock ├── dep-lock │ ├── Gopkg.lock │ └── bdio │ │ └── battery.bdio ├── go-mod │ ├── test1 │ │ ├── bdio │ │ │ └── battery.bdio │ │ ├── go-list-u-json.xout │ │ ├── go-list.xout │ │ ├── go-mod-get-main.xout │ │ ├── go-mod-graph.xout │ │ ├── go-mod-list-directs.xout │ │ ├── go-mod-why.xout │ │ ├── go-version.xout │ │ └── go.mod │ ├── test2 │ │ ├── bdio │ │ │ └── battery.bdio │ │ ├── go-list-u-json.xout │ │ ├── go-list.xout │ │ ├── go-mod-get-main.xout │ │ ├── go-mod-graph.xout │ │ ├── go-mod-list-directs.xout │ │ ├── go-mod-why.xout │ │ ├── go-version.xout │ │ └── go.mod │ └── test3 │ │ ├── bdio │ │ └── battery.bdio │ │ ├── go-list-u-json.xout │ │ ├── go-list.xout │ │ ├── go-mod-get-main.xout │ │ ├── go-mod-graph.xout │ │ ├── go-mod-list-directs.xout │ │ ├── go-mod-why.xout │ │ ├── go-version.xout │ │ └── go.mod ├── go_vndr-lock │ ├── bdio │ │ └── battery.bdio │ └── vendor.conf ├── gradle-detect-on-detect │ ├── GRADLE-0 │ │ ├── common_dependencyGraph.txt.ftl │ │ ├── common_test_dependencyGraph.txt.ftl │ │ ├── configuration_dependencyGraph.txt.ftl │ │ ├── detectable_dependencyGraph.txt.ftl │ │ ├── detector_dependencyGraph.txt.ftl │ │ ├── rootProjectMetadata.txt.ftl │ │ └── synopsys_detect_dependencyGraph.txt.ftl │ └── bdio │ │ └── battery.bdio ├── gradle-inspector │ ├── GRADLE-0 │ │ ├── linux_gradle_dependencyGraph.txt │ │ └── rootProjectMetadata.txt │ └── bdio │ │ └── battery.bdio ├── maven-cli │ ├── inconsistent-definitions │ │ ├── bdio │ │ │ └── battery.bdio │ │ └── maven-dependencytree.xout │ └── simple │ │ ├── bdio │ │ └── battery.bdio │ │ └── maven-dependencytree.xout ├── npm-packagelock │ ├── bdio │ │ └── battery.bdio │ ├── package-lock.json │ └── package.json ├── packrat-lock │ ├── bdio │ │ └── battery.bdio │ └── packrat.lock ├── pear-cli │ ├── bdio │ │ └── battery.bdio │ ├── package.xml │ ├── pear-list.xout │ └── pear-package.xout ├── pip-cli │ ├── bdio │ │ └── battery.bdio │ ├── pip-inspector.xout │ └── pip-name.xout ├── pipenv-cli-projectonly │ ├── bdio │ │ └── battery.bdio │ ├── pip-freeze.xout │ └── pipenv-graph.xout ├── pipenv-cli │ ├── bdio │ │ └── battery.bdio │ ├── pip-freeze.xout │ └── pipenv-graph.xout ├── rubygems-circular-lock │ ├── Gemfile.lock │ └── bdio │ │ └── battery.bdio ├── rubygems-lock │ ├── Gemfile.lock │ └── bdio │ │ └── battery.bdio ├── rubygems-versionless-lock │ ├── Gemfile.lock │ └── bdio │ │ └── battery.bdio ├── sbt-dot-multipleprojectnode │ ├── bdio │ │ └── battery.bdio │ ├── dots.zip │ ├── sbt-dependencyDot.ftl │ └── sbt-plugins.xout ├── sbt-dot │ ├── bdio │ │ └── battery.bdio │ ├── dots.zip │ ├── sbt-dependencyDot.ftl │ └── sbt-plugins.xout ├── sbt-resolutioncache │ ├── bdio │ │ └── battery.bdio │ └── target.zip └── yarn │ ├── yarn-lock │ ├── bdio │ │ └── battery.bdio │ ├── linux-yarn │ │ ├── package.json │ │ └── yarn.lock │ ├── mock │ │ ├── cmd-0.txt │ │ ├── cmd-1.txt │ │ └── exe-0.dat │ ├── package.json │ └── yarn.lock │ ├── yarn-workspaces-berry │ ├── bdio │ │ └── battery.bdio │ ├── package.json │ ├── packages │ │ └── plugin-npm │ │ │ └── package.json │ └── yarn.lock │ ├── yarn-workspaces-excludedev │ ├── bdio │ │ └── battery.bdio │ ├── package.json │ ├── workspace-a │ │ └── package.json │ ├── workspace-b │ │ └── package.json │ ├── workspace-c │ │ └── package.json │ └── yarn.lock │ ├── yarn-workspaces-simple-allworkspaces │ ├── bdio │ │ └── battery.bdio │ ├── mypkgs │ │ ├── workspace-a │ │ │ └── package.json │ │ └── workspace-b │ │ │ └── package.json │ ├── package.json │ └── yarn.lock │ ├── yarn-workspaces-simple-selectwksp │ ├── bdio │ │ └── battery.bdio │ ├── mypkgs │ │ ├── workspace-a │ │ │ └── package.json │ │ └── workspace-b │ │ │ └── package.json │ ├── package.json │ └── yarn.lock │ ├── yarn-workspaces-simple │ ├── bdio │ │ └── battery.bdio │ ├── mypkgs │ │ ├── workspace-a │ │ │ └── package.json │ │ └── workspace-b │ │ │ └── package.json │ ├── package.json │ └── yarn.lock │ ├── yarn1-workspaces-workspacedep │ ├── bdio │ │ └── battery.bdio │ ├── package.json │ ├── workspace-a │ │ └── package.json │ ├── workspace-b │ │ └── package.json │ └── yarn.lock │ ├── yarn1-workspaces │ ├── bdio │ │ └── battery.bdio │ ├── package.json │ ├── workspace-a │ │ └── package.json │ ├── workspace-b │ │ └── package.json │ └── yarn.lock │ ├── yarn2-hierarchical-monorepo │ ├── bdio │ │ └── battery.bdio │ ├── nondep-workspace │ │ └── package.json │ ├── package.json │ ├── workspace-a │ │ ├── child-workspace │ │ │ └── package.json │ │ └── package.json │ └── yarn.lock │ ├── yarn2-lock │ ├── bdio │ │ └── battery.bdio │ ├── package.json │ └── yarn.lock │ ├── yarn2-unnamed-workspaces │ ├── bdio │ │ └── battery.bdio │ ├── package.json │ ├── workspace-a │ │ └── package.json │ ├── workspace-b │ │ └── package.json │ ├── workspace-c │ │ └── package.json │ ├── workspace-d │ │ └── package.json │ ├── workspaces │ │ ├── workspace-a │ │ │ └── package.json │ │ ├── workspace-b │ │ │ └── package.json │ │ ├── workspace-c │ │ │ └── package.json │ │ └── workspace-d │ │ │ └── package.json │ └── yarn.lock │ ├── yarn2-workspace-hierarchy-exclude │ ├── bdio │ │ └── battery.bdio │ ├── package.json │ ├── workspace-a │ │ ├── child-workspace │ │ │ └── package.json │ │ └── package.json │ └── yarn.lock │ └── yarn2-workspace-hierarchy │ ├── bdio │ └── battery.bdio │ ├── package.json │ ├── workspace-a │ ├── child-workspace │ │ └── package.json │ └── package.json │ └── yarn.lock ├── docker ├── Alert-6.5.0.dockerfile ├── AutonomousScanTest.dockerfile ├── CPM_multiple_propsfile.dockerfile ├── CPM_standard.dockerfile ├── Dart.dockerfile ├── Detect-7.1.0.dockerfile ├── Detect-9.8.0.dockerfile ├── Dotnet5.dockerfile ├── EmptyLinux.dockerfile ├── GoModExecutables.dockerfile ├── GradleRichVersions.dockerfile ├── Impact.dockerfile ├── ImpactAnalysis_ASMErrorMaven.dockerfile ├── MavenJunitBuildless.dockerfile ├── MavenShadedDependencies.dockerfile ├── Nuget_ExcludeDevDependency.dockerfile ├── OpamLockFileTest.dockerfile ├── OpamShowTest.dockerfile ├── OpamTreeTest.dockerfile ├── Pip.dockerfile ├── Pipenv.dockerfile ├── SbtEncoding.dockerfile ├── Sbt_Detector.dockerfile ├── Setuptools.dockerfile ├── SimpleGradle.dockerfile ├── SimpleGradle_7_6.dockerfile ├── SimpleGradle_8_2.dockerfile ├── SimpleGradle_8_9.dockerfile ├── SimpleMaven.dockerfile ├── Yarn_Berry.dockerfile └── Yocto.dockerfile ├── lifecycle └── autonomous │ ├── post-run-scan-settings │ └── a0678131-f7df-358f-814d-9b99e36906e4.json │ ├── pre-run-scan-settings │ └── a0678131-f7df-358f-814d-9b99e36906e4.json │ └── sample-project │ ├── only-binary │ └── 7z2406-x64.exe │ ├── only-text │ └── build.gradle │ └── text-and-binary │ ├── build.gradle │ └── deploy │ └── 7z2406-x64.exe ├── pip ├── README.txt ├── example-requirements.txt └── other-requirements.txt ├── tool ├── cache │ ├── detect-installed-tools.json │ └── dummyTool.txt ├── container.scan │ ├── testImage.tar │ └── testImageDownloaded.tar └── detector │ └── inspector │ └── projectinspector │ └── installer │ └── project-inspector-fake.zip └── workflow ├── bdio └── aggregation │ └── input │ ├── basic_multiproject_0_0_0_SNAPSHOT_com_blackduck_integration_basic_multiproject_0_0_0_SNAPSHOT_gradle_bom.jsonld │ ├── basic_multiproject_0_0_0_SNAPSHOT_subprojectone_basic_multiproject_subprojectone_unspecified_gradle_bom.jsonld │ └── basic_multiproject_0_0_0_SNAPSHOT_subprojecttwo_basic_multiproject_subprojecttwo_unspecified_gradle_bom.jsonld ├── blackduck └── rapid_scan_result_file.json └── status ├── expectedDebugStatusLoggerOutput.txt └── expectedStatusLoggerOutput.txt /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | # Issue template 2 | ## Expected behavior 3 | * 4 | ## Actual behavior 5 | * 6 | ## Steps to Reproduce 7 | * 8 | * 9 | * 10 | ## Version 11 | **Project Version:** 12 | 13 | * 14 | **Language Version:** 15 | 16 | * 17 | **OS:** 18 | 19 | * -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | # Description 2 | 3 | Please include a short description of the changes and problems fixed. 4 | 5 | # Github Issues 6 | 7 | (Optional) Please link to any applicable github issues. 8 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | ### 2 | ### generated by script 3 | ### 4 | 5 | language: java 6 | sudo: false 7 | install: true 8 | 9 | git: 10 | depth: false 11 | 12 | jdk: 13 | - openjdk8 14 | 15 | notifications: 16 | email: 17 | recipients: 18 | - starlabs@blackduck.com 19 | 20 | script: 21 | - "./gradlew clean build testBattery --info" 22 | 23 | after_success: 24 | - bash <(curl -s https://copilot.blackducksoftware.com/ci/travis/scripts/upload) 25 | 26 | cache: 27 | directories: 28 | - "$HOME/.m2/repository" 29 | - "$HOME/.gradle" 30 | - ".gradle" 31 | -------------------------------------------------------------------------------- /Task: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/Task -------------------------------------------------------------------------------- /buildSrc/.gitignore: -------------------------------------------------------------------------------- 1 | # operating system 2 | .DS_Store 3 | 4 | # ide 5 | .settings/ 6 | .classpath 7 | .project 8 | bin/ 9 | -------------------------------------------------------------------------------- /buildSrc/README.md: -------------------------------------------------------------------------------- 1 | # Overview 2 | 3 | 4 | # Build 5 | 6 | 7 | # Where can I get the latest release? 8 | 9 | 10 | # Documentation 11 | 12 | All documentation is located on our public [Black Duck Documentation Portal](https://documentation.blackduck.com/) 13 | -------------------------------------------------------------------------------- /buildSrc/src/main/java/com/blackduck/integration/detect/docs/pages/AdvancedPropertyTablePage.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.docs.pages; 2 | 3 | import java.util.List; 4 | 5 | import com.blackduck.integration.detect.docs.model.SplitGroup; 6 | 7 | public class AdvancedPropertyTablePage { 8 | private final List groups; 9 | 10 | public AdvancedPropertyTablePage(List groups) { 11 | this.groups = groups; 12 | } 13 | 14 | public List getGroups() { 15 | return groups; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /buildSrc/src/main/java/com/blackduck/integration/detect/docs/pages/DetectorCascadePage.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.docs.pages; 2 | 3 | import java.util.List; 4 | 5 | public class DetectorCascadePage { 6 | private final List detectorTypes; 7 | 8 | public DetectorCascadePage(List detectorTypes) {this.detectorTypes = detectorTypes;} 9 | 10 | public List getDetectorTypes() { 11 | return detectorTypes; 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /buildSrc/src/main/java/com/blackduck/integration/detect/docs/pages/ExitCodePage.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.docs.pages; 2 | 3 | import java.util.List; 4 | 5 | import com.blackduck.integration.detect.docs.copied.HelpJsonExitCode; 6 | 7 | public class ExitCodePage { 8 | private final List exitCodes; 9 | 10 | public ExitCodePage(List exitCodes) { 11 | this.exitCodes = exitCodes; 12 | } 13 | 14 | public List getExitCodes() { 15 | return exitCodes; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /buildSrc/src/main/java/com/blackduck/integration/detect/docs/pages/IndexPage.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.docs.pages; 2 | 3 | public class IndexPage { 4 | private final String version; 5 | 6 | public IndexPage(String version) { 7 | this.version = version; 8 | } 9 | 10 | public String getVersion() { 11 | return version; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /common-test/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | implementation 'org.junit.jupiter:junit-jupiter-api:5.3.1' 3 | 4 | } 5 | -------------------------------------------------------------------------------- /common/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | api "com.blackduck.integration:blackduck-common:${blackDuckCommonVersion}" 3 | 4 | implementation "com.blackduck.integration:integration-common" 5 | testImplementation 'org.junit.jupiter:junit-jupiter-api:5.3.1' 6 | } 7 | -------------------------------------------------------------------------------- /common/src/main/java/com/blackduck/integration/common/util/BdsPair.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.common.util; 2 | 3 | import java.util.Map; 4 | import java.util.stream.Collectors; 5 | import java.util.stream.Stream; 6 | 7 | import org.apache.commons.lang3.tuple.Pair; 8 | 9 | public class BdsPair extends Bds> { 10 | public BdsPair(Stream> stream) { 11 | super(stream); 12 | } 13 | 14 | public Map toMap() { 15 | return stream.collect(Collectors.toMap(Pair::getKey, Pair::getValue)); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /configuration/src/main/java/com/blackduck/integration/configuration/config/resolution/NoPropertyResolution.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.configuration.config.resolution; 2 | 3 | import java.util.Optional; 4 | 5 | public class NoPropertyResolution extends PropertyResolution { 6 | @Override 7 | public Optional getResolutionInfo() { 8 | return Optional.empty(); 9 | } 10 | } -------------------------------------------------------------------------------- /configuration/src/main/java/com/blackduck/integration/configuration/config/resolution/PropertyResolution.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.configuration.config.resolution; 2 | 3 | import java.util.Optional; 4 | 5 | public abstract class PropertyResolution { 6 | public abstract Optional getResolutionInfo(); 7 | } 8 | -------------------------------------------------------------------------------- /configuration/src/main/java/com/blackduck/integration/configuration/parse/ValueParser.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.configuration.parse; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | public abstract class ValueParser { 6 | @NotNull 7 | public abstract T parse(@NotNull String value) throws ValueParseException; 8 | } 9 | -------------------------------------------------------------------------------- /configuration/src/main/java/com/blackduck/integration/configuration/property/PropertyVersion.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.configuration.property; 2 | 3 | public interface PropertyVersion { 4 | String getVersion(); 5 | } 6 | -------------------------------------------------------------------------------- /configuration/src/main/java/com/blackduck/integration/configuration/property/types/enumallnone/enumeration/AllEnum.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.configuration.property.types.enumallnone.enumeration; 2 | 3 | public enum AllEnum { 4 | ALL 5 | } 6 | -------------------------------------------------------------------------------- /configuration/src/main/java/com/blackduck/integration/configuration/property/types/enumallnone/enumeration/AllNoneEnum.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.configuration.property.types.enumallnone.enumeration; 2 | 3 | public enum AllNoneEnum { 4 | ALL, 5 | NONE 6 | } 7 | -------------------------------------------------------------------------------- /configuration/src/main/java/com/blackduck/integration/configuration/property/types/enumallnone/enumeration/NoneEnum.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.configuration.property.types.enumallnone.enumeration; 2 | 3 | public enum NoneEnum { 4 | NONE 5 | } 6 | -------------------------------------------------------------------------------- /configuration/src/main/java/com/blackduck/integration/configuration/property/types/path/PathResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.configuration.property.types.path; 2 | 3 | import java.nio.file.Path; 4 | 5 | public interface PathResolver { 6 | Path resolvePath(String filePath); 7 | } 8 | 9 | -------------------------------------------------------------------------------- /configuration/src/main/java/com/blackduck/integration/configuration/property/types/path/SimplePathResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.configuration.property.types.path; 2 | 3 | import java.nio.file.Path; 4 | import java.nio.file.Paths; 5 | 6 | public class SimplePathResolver implements PathResolver { 7 | @Override 8 | public Path resolvePath(String filePath) { 9 | return Paths.get(filePath).toAbsolutePath(); 10 | } 11 | } -------------------------------------------------------------------------------- /configuration/src/main/java/com/blackduck/integration/configuration/property/types/string/StringValueParser.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.configuration.property.types.string; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | import com.blackduck.integration.configuration.parse.ValueParser; 6 | 7 | class StringValueParser extends ValueParser { 8 | 9 | @NotNull 10 | @Override 11 | public String parse(@NotNull String value) { 12 | return value; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /configuration/src/main/java/com/blackduck/integration/configuration/source/UnknownSpringConfigurationException.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.configuration.source; 2 | 3 | public class UnknownSpringConfigurationException extends Exception { 4 | public UnknownSpringConfigurationException(String msg) { 5 | super(msg); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /configuration/src/main/java/com/blackduck/integration/configuration/util/Category.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.configuration.util; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | public abstract class Category { 6 | private final String name; 7 | 8 | protected Category(@NotNull String name) { 9 | this.name = name; 10 | } 11 | 12 | @NotNull 13 | public String getName() { 14 | return name; 15 | } 16 | } -------------------------------------------------------------------------------- /configuration/src/main/java/com/blackduck/integration/configuration/util/Group.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.configuration.util; 2 | 3 | import java.util.Optional; 4 | 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | public interface Group { 8 | @NotNull 9 | String getName(); 10 | 11 | Optional getSuperGroup(); 12 | } -------------------------------------------------------------------------------- /configuration/src/main/java/com/blackduck/integration/configuration/util/KeyUtils.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.configuration.util; 2 | 3 | public class KeyUtils { 4 | public static String normalizeKey(String key) { 5 | return key.toLowerCase().replace("_", "."); 6 | } 7 | } -------------------------------------------------------------------------------- /configuration/src/main/java/com/blackduck/integration/configuration/util/PropertyUtils.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.configuration.util; 2 | 3 | import java.util.List; 4 | import java.util.stream.Collectors; 5 | 6 | public class PropertyUtils { 7 | public static String describeObjectList(List objects) { 8 | return objects.stream() 9 | .map(Object::toString) 10 | .collect(Collectors.joining(",")); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/DetectableEnvironment.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable; 2 | 3 | import java.io.File; 4 | 5 | public class DetectableEnvironment { 6 | private final File directory; 7 | 8 | public DetectableEnvironment(File directory) { 9 | this.directory = directory; 10 | } 11 | 12 | public File getDirectory() { 13 | return directory; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/DetectableAccuracyType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable; 2 | 3 | //TODO: Future would be to add "RUNTIME" and have the Extraction report it as well, so if you KNOW you are HIGH keep high, if you MIGHT be HIGH put RUNTIME and let extraction report, otherwise put LOW. 4 | public enum DetectableAccuracyType { 5 | HIGH, 6 | LOW 7 | } 8 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/ExecutableTargetResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable; 2 | 3 | import com.blackduck.integration.detectable.ExecutableTarget; 4 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 5 | 6 | public interface ExecutableTargetResolver { 7 | ExecutableTarget resolve() throws DetectableException; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/FailedResultCreator.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable; 2 | 3 | import com.blackduck.integration.detectable.detectable.result.DetectableResult; 4 | 5 | public interface FailedResultCreator { 6 | DetectableResult createFailedResult(); 7 | } 8 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/RequirementNotMetAction.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable; 2 | 3 | public interface RequirementNotMetAction { 4 | void requirementNotMet(); 5 | } 6 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/Resolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable; 2 | 3 | import java.io.File; 4 | 5 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 6 | 7 | public interface Resolver { 8 | File resolve() throws DetectableException; 9 | } 10 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/BashResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.ExecutableTarget; 4 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 5 | 6 | public interface BashResolver { 7 | ExecutableTarget resolveBash() throws DetectableException; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/BazelResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.ExecutableTarget; 4 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 5 | 6 | public interface BazelResolver { 7 | ExecutableTarget resolveBazel() throws DetectableException; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/CargoResolver.java: -------------------------------------------------------------------------------- 1 | 2 | package com.blackduck.integration.detectable.detectable.executable.resolver; 3 | 4 | import com.blackduck.integration.detectable.DetectableEnvironment; 5 | import com.blackduck.integration.detectable.ExecutableTarget; 6 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 7 | 8 | public interface CargoResolver { 9 | ExecutableTarget resolveCargo(DetectableEnvironment environment) throws DetectableException; 10 | } 11 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/ConanResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.DetectableEnvironment; 4 | import com.blackduck.integration.detectable.ExecutableTarget; 5 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 6 | 7 | public interface ConanResolver { 8 | ExecutableTarget resolveConan(DetectableEnvironment environment) throws DetectableException; 9 | } 10 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/CondaResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.ExecutableTarget; 4 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 5 | 6 | public interface CondaResolver { 7 | ExecutableTarget resolveConda() throws DetectableException; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/CpanResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.ExecutableTarget; 4 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 5 | 6 | public interface CpanResolver { 7 | ExecutableTarget resolveCpan() throws DetectableException; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/CpanmResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.ExecutableTarget; 4 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 5 | 6 | public interface CpanmResolver { 7 | ExecutableTarget resolveCpanm() throws DetectableException; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/DartResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import org.jetbrains.annotations.Nullable; 4 | 5 | import com.blackduck.integration.detectable.ExecutableTarget; 6 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 7 | 8 | public interface DartResolver { 9 | @Nullable 10 | ExecutableTarget resolveDart() throws DetectableException; 11 | } 12 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/DockerResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.ExecutableTarget; 4 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 5 | 6 | public interface DockerResolver { 7 | ExecutableTarget resolveDocker() throws DetectableException; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/FlutterResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import org.jetbrains.annotations.Nullable; 4 | 5 | import com.blackduck.integration.detectable.ExecutableTarget; 6 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 7 | 8 | public interface FlutterResolver { 9 | @Nullable 10 | ExecutableTarget resolveFlutter() throws DetectableException; 11 | } 12 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/GitResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.ExecutableTarget; 4 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 5 | 6 | public interface GitResolver { 7 | ExecutableTarget resolveGit() throws DetectableException; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/GoResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import org.jetbrains.annotations.Nullable; 4 | 5 | import com.blackduck.integration.detectable.ExecutableTarget; 6 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 7 | 8 | public interface GoResolver { 9 | @Nullable 10 | ExecutableTarget resolveGo() throws DetectableException; 11 | } 12 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/GradleResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.DetectableEnvironment; 4 | import com.blackduck.integration.detectable.ExecutableTarget; 5 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 6 | 7 | public interface GradleResolver { 8 | ExecutableTarget resolveGradle(DetectableEnvironment environment) throws DetectableException; 9 | } 10 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/JavaResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.ExecutableTarget; 4 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 5 | 6 | public interface JavaResolver { 7 | ExecutableTarget resolveJava() throws DetectableException; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/LernaResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import org.jetbrains.annotations.Nullable; 4 | 5 | import com.blackduck.integration.detectable.ExecutableTarget; 6 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 7 | 8 | public interface LernaResolver { 9 | @Nullable 10 | ExecutableTarget resolveLerna() throws DetectableException; 11 | } 12 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/MavenResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.DetectableEnvironment; 4 | import com.blackduck.integration.detectable.ExecutableTarget; 5 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 6 | 7 | public interface MavenResolver { 8 | ExecutableTarget resolveMaven(DetectableEnvironment environment) throws DetectableException; 9 | } 10 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/NpmResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.DetectableEnvironment; 4 | import com.blackduck.integration.detectable.ExecutableTarget; 5 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 6 | 7 | public interface NpmResolver { 8 | ExecutableTarget resolveNpm(DetectableEnvironment environment) throws DetectableException; 9 | } 10 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/OpamResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.ExecutableTarget; 4 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 5 | 6 | public interface OpamResolver { 7 | ExecutableTarget resolveOpam() throws DetectableException; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/PearResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.ExecutableTarget; 4 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 5 | 6 | public interface PearResolver { 7 | ExecutableTarget resolvePear() throws DetectableException; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/PipResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.ExecutableTarget; 4 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 5 | 6 | public interface PipResolver { 7 | ExecutableTarget resolvePip() throws DetectableException; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/PipenvResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.ExecutableTarget; 4 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 5 | 6 | public interface PipenvResolver { 7 | ExecutableTarget resolvePipenv() throws DetectableException; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/PythonResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.ExecutableTarget; 4 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 5 | 6 | public interface PythonResolver { 7 | ExecutableTarget resolvePython() throws DetectableException; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/Rebar3Resolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.ExecutableTarget; 4 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 5 | 6 | public interface Rebar3Resolver { 7 | ExecutableTarget resolveRebar3() throws DetectableException; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/SbtResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.ExecutableTarget; 4 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 5 | 6 | public interface SbtResolver { 7 | ExecutableTarget resolveSbt() throws DetectableException; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/SwiftResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.ExecutableTarget; 4 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 5 | 6 | public interface SwiftResolver { 7 | ExecutableTarget resolveSwift() throws DetectableException; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/executable/resolver/UVResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.executable.resolver; 2 | 3 | import com.blackduck.integration.detectable.ExecutableTarget; 4 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 5 | 6 | public interface UVResolver { 7 | ExecutableTarget resolveUV() throws DetectableException; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/explanation/Explanation.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.explanation; 2 | 3 | public abstract class Explanation { 4 | public abstract String describeSelf(); 5 | } 6 | 7 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/explanation/FoundSbtPlugin.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.explanation; 2 | 3 | public class FoundSbtPlugin extends Explanation { 4 | private final String pluginName; 5 | 6 | public FoundSbtPlugin(String pluginName) { 7 | this.pluginName = pluginName; 8 | } 9 | 10 | @Override 11 | public String describeSelf() { 12 | return "Found sbt plugin: " + pluginName; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/explanation/PropertyProvided.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.explanation; 2 | 3 | public class PropertyProvided extends Explanation { 4 | private final String property; 5 | 6 | public PropertyProvided(String property) { 7 | this.property = property; 8 | } 9 | 10 | @Override 11 | public String describeSelf() { 12 | return "Property provided: " + property; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/inspector/GradleInspectorResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.inspector; 2 | 3 | import java.io.File; 4 | 5 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 6 | 7 | public interface GradleInspectorResolver { 8 | File resolveGradleInspector() throws DetectableException; 9 | } 10 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/inspector/PipInspectorResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.inspector; 2 | 3 | import java.io.File; 4 | 5 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 6 | 7 | public interface PipInspectorResolver { 8 | File resolvePipInspector() throws DetectableException; 9 | } 10 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/inspector/ProjectInspectorResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.inspector; 2 | 3 | import com.blackduck.integration.detectable.ExecutableTarget; 4 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 5 | 6 | public interface ProjectInspectorResolver { 7 | ExecutableTarget resolveProjectInspector() throws DetectableException; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/inspector/nuget/NugetInspectorResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.inspector.nuget; 2 | 3 | import com.blackduck.integration.detectable.ExecutableTarget; 4 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 5 | 6 | public interface NugetInspectorResolver { 7 | ExecutableTarget resolveNugetInspector() throws DetectableException; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/result/DetectableResult.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.result; 2 | 3 | import java.io.File; 4 | import java.util.List; 5 | 6 | import com.blackduck.integration.detectable.detectable.explanation.Explanation; 7 | 8 | public interface DetectableResult { 9 | boolean getPassed(); 10 | 11 | String toDescription(); 12 | 13 | List getExplanation(); 14 | 15 | List getRelevantFiles(); 16 | } 17 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/result/ExceptionDetectableResult.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.result; 2 | 3 | public class ExceptionDetectableResult extends FailedDetectableResult { 4 | private final Exception exception; 5 | 6 | public ExceptionDetectableResult(Exception exception) { 7 | this.exception = exception; 8 | } 9 | 10 | @Override 11 | public String toDescription() { 12 | return "Exception occurred: " + exception.getMessage(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/result/ExcludedDetectableResult.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.result; 2 | 3 | public class ExcludedDetectableResult extends FailedDetectableResult { 4 | @Override 5 | public String toDescription() { 6 | return "Detector type was excluded."; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/result/FileNotFoundDetectableResult.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.result; 2 | 3 | public class FileNotFoundDetectableResult extends FailedDetectableResult { 4 | private final String pattern; 5 | 6 | public FileNotFoundDetectableResult(String pattern) { 7 | this.pattern = pattern; 8 | } 9 | 10 | @Override 11 | public String toDescription() { 12 | return "No file was found with pattern: " + pattern; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/result/SetupToolsNoDependenciesDetectableResult.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.result; 2 | 3 | public class SetupToolsNoDependenciesDetectableResult extends FailedDetectableResult { 4 | 5 | @Override 6 | public String toDescription() { 7 | return "Did not find package dependencies in the pyproject.toml, setup.cfg, or setup.py files. Setuptools Detector will not be run."; 8 | } 9 | } -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectable/result/SetupToolsRequiresNotFoundDetectableResult.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectable.result; 2 | 3 | public class SetupToolsRequiresNotFoundDetectableResult extends FailedDetectableResult { 4 | 5 | @Override 6 | public String toDescription() { 7 | return "Setuptools requires a pyproject.toml with a requires setuptools line in the build-system section. Unable to continue the Setuptools Detector."; 8 | } 9 | } -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/bazel/BazelProjectNameGenerator.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.bazel; 2 | 3 | public class BazelProjectNameGenerator { 4 | 5 | public String generateFromBazelTarget(String bazelTarget) { 6 | return bazelTarget 7 | .replaceAll("^//", "") 8 | .replaceAll("^:", "") 9 | .replace("/", "_") 10 | .replace(":", "_"); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/bazel/WorkspaceRule.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.bazel; 2 | 3 | public enum WorkspaceRule { 4 | MAVEN_JAR("maven_jar"), 5 | MAVEN_INSTALL("maven_install"), 6 | HASKELL_CABAL_LIBRARY("haskell_cabal_library"), 7 | HTTP_ARCHIVE("http_archive"); 8 | 9 | private final String name; 10 | 11 | WorkspaceRule(String name) { 12 | this.name = name; 13 | } 14 | 15 | public String getName() { 16 | return name; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/bazel/pipeline/step/FinalStep.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.bazel.pipeline.step; 2 | 3 | import java.util.List; 4 | 5 | import com.blackduck.integration.bdio.model.dependency.Dependency; 6 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 7 | 8 | public interface FinalStep { 9 | List finish(List input) throws DetectableException; 10 | } 11 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/bazel/pipeline/step/IntermediateStep.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.bazel.pipeline.step; 2 | 3 | import java.util.List; 4 | 5 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 6 | import com.blackduck.integration.detectable.detectable.executable.ExecutableFailedException; 7 | 8 | public interface IntermediateStep { 9 | 10 | List process(List input) throws DetectableException, ExecutableFailedException; 11 | } 12 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/bazel/pipeline/step/model/AttributeItem.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.bazel.pipeline.step.model; 2 | 3 | import com.blackduck.integration.util.Stringable; 4 | 5 | public class AttributeItem extends Stringable { 6 | private String name; 7 | private String stringValue; 8 | 9 | public String getName() { 10 | return name; 11 | } 12 | 13 | public String getStringValue() { 14 | return stringValue; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/bazel/pipeline/step/model/Proto.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.bazel.pipeline.step.model; 2 | 3 | import java.util.List; 4 | 5 | import com.blackduck.integration.util.Stringable; 6 | 7 | // Model for output produced by: bazel cquery ... --output jsonproto 8 | public class Proto extends Stringable { 9 | private List results; 10 | 11 | public List getResults() { 12 | return results; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/bazel/pipeline/step/model/ResultItem.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.bazel.pipeline.step.model; 2 | 3 | import com.blackduck.integration.util.Stringable; 4 | 5 | public class ResultItem extends Stringable { 6 | private Target target; 7 | 8 | public Target getTarget() { 9 | return target; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/bazel/pipeline/step/model/Results.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.bazel.pipeline.step.model; 2 | 3 | import java.util.List; 4 | 5 | import com.blackduck.integration.util.Stringable; 6 | 7 | public class Results extends Stringable { 8 | private List resultItems; 9 | 10 | public List getResultItems() { 11 | return resultItems; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/bazel/pipeline/step/model/Rule.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.bazel.pipeline.step.model; 2 | 3 | import java.util.List; 4 | 5 | import com.blackduck.integration.util.Stringable; 6 | 7 | public class Rule extends Stringable { 8 | private List attribute; 9 | 10 | public List getAttribute() { 11 | return attribute; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/bazel/pipeline/step/model/Target.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.bazel.pipeline.step.model; 2 | 3 | import com.blackduck.integration.util.Stringable; 4 | 5 | public class Target extends Stringable { 6 | private String type; 7 | private Rule rule; 8 | 9 | public String getType() { 10 | return type; 11 | } 12 | 13 | public Rule getRule() { 14 | return rule; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/bitbake/BitbakeDependencyType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.bitbake; 2 | 3 | public enum BitbakeDependencyType { 4 | BUILD 5 | } 6 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/bitbake/parse/PwdOutputParser.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.bitbake.parse; 2 | 3 | import java.io.File; 4 | import java.util.List; 5 | 6 | public class PwdOutputParser { 7 | public File deriveBuildDirectory(List pwdOutputLines) { 8 | return new File(pwdOutputLines.get(pwdOutputLines.size() - 1).trim()); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/clang/ClangDetectableOptions.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.clang; 2 | 3 | public class ClangDetectableOptions { 4 | private final boolean cleanup; 5 | 6 | public ClangDetectableOptions(boolean cleanup) { 7 | this.cleanup = cleanup; 8 | } 9 | 10 | public boolean isCleanup() { 11 | return cleanup; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/clang/compilecommand/OverrideOptionWithNoValueException.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.clang.compilecommand; 2 | 3 | import com.blackduck.integration.exception.IntegrationException; 4 | 5 | public class OverrideOptionWithNoValueException extends IntegrationException { 6 | public OverrideOptionWithNoValueException(String message) { 7 | super(message); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/clang/packagemanager/resolver/NotOwnedByAnyPkgException.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.clang.packagemanager.resolver; 2 | 3 | import com.blackduck.integration.exception.IntegrationException; 4 | 5 | public class NotOwnedByAnyPkgException extends IntegrationException { 6 | 7 | public NotOwnedByAnyPkgException(String message) { 8 | super(message); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/conan/Constants.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.conan; 2 | 3 | import com.blackduck.integration.bdio.model.Forge; 4 | 5 | public class Constants { 6 | public static final Forge conanForge = new Forge("/", "conan"); 7 | } 8 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/conan/cli/ConanResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.conan.cli; 2 | 3 | import com.blackduck.integration.detectable.DetectableEnvironment; 4 | import com.blackduck.integration.detectable.ExecutableTarget; 5 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 6 | 7 | public interface ConanResolver { 8 | ExecutableTarget resolveConan(DetectableEnvironment environment) throws DetectableException; 9 | } 10 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/conan/cli/config/ConanDependencyType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.conan.cli.config; 2 | 3 | public enum ConanDependencyType { 4 | BUILD 5 | } 6 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/conan/cli/parser/conan1/element/ElementTypeParser.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.conan.cli.parser.conan1.element; 2 | 3 | import java.util.List; 4 | 5 | import com.blackduck.integration.detectable.detectables.conan.graph.ConanNodeBuilder; 6 | 7 | public interface ElementTypeParser { 8 | boolean applies(String elementLine); 9 | 10 | int parseElement(ConanNodeBuilder nodeBuilder, List conanInfoOutputLines, int bodyElementLineIndex); 11 | } 12 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/conan/cli/parser/conan2/model/ConanGraphInfo.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.conan.cli.parser.conan2.model; 2 | 3 | import com.blackduck.integration.util.Stringable; 4 | 5 | public class ConanGraphInfo extends Stringable { 6 | private final ConanGraphInfoGraph graph; 7 | 8 | public ConanGraphInfo(ConanGraphInfoGraph graph) { 9 | this.graph = graph; 10 | } 11 | 12 | public ConanGraphInfoGraph getGraph() { 13 | return graph; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/conda/model/CondaInfo.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.conda.model; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public class CondaInfo { 6 | @SerializedName("platform") 7 | public String platform; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/conda/model/CondaListElement.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.conda.model; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public class CondaListElement { 6 | @SerializedName("name") 7 | public String name; 8 | 9 | @SerializedName("version") 10 | public String version; 11 | 12 | @SerializedName("build_string") 13 | public String buildString; 14 | 15 | @SerializedName("channel") 16 | public String channel; 17 | } 18 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/dart/pubdep/DartPubDependencyType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.dart.pubdep; 2 | 3 | public enum DartPubDependencyType { 4 | DEV 5 | } 6 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/docker/DockerInspectorResolver.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.docker; 2 | 3 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 4 | 5 | public interface DockerInspectorResolver { 6 | DockerInspectorInfo resolveDockerInspector() throws DetectableException; 7 | } 8 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/docker/ImageIdentifierType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.docker; 2 | 3 | public enum ImageIdentifierType { 4 | TAR, 5 | IMAGE_NAME, 6 | IMAGE_ID 7 | } 8 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/go/godep/model/GoLock.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.go.godep.model; 2 | 3 | import java.util.List; 4 | 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | public class GoLock { 8 | // see https://github.com/golang/dep/blob/master/lock.go for the source of the lock file 9 | @SerializedName("projects") 10 | public List projects; 11 | 12 | @SerializedName("solve-meta") 13 | public SolveMeta solveMeta; 14 | } 15 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/go/gomod/GoModDependencyType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.go.gomod; 2 | 3 | public enum GoModDependencyType { 4 | NONE, 5 | UNUSED, 6 | VENDORED 7 | } 8 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/gradle/inspection/GradleConfigurationType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.gradle.inspection; 2 | 3 | public enum GradleConfigurationType { 4 | UNRESOLVED 5 | } 6 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/gradle/inspection/model/GradleGavId.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.gradle.inspection.model; 2 | 3 | import com.blackduck.integration.bdio.graph.builder.LazyId; 4 | 5 | public interface GradleGavId { 6 | LazyId toDependencyId(); 7 | } 8 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/lerna/LernaPackageType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.lerna; 2 | 3 | public enum LernaPackageType { 4 | PRIVATE 5 | } 6 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/npm/MissingNpmDependencyHandler.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.npm; 2 | 3 | import org.slf4j.Logger; 4 | 5 | import com.blackduck.integration.detectable.detectables.npm.lockfile.model.NpmRequires; 6 | 7 | @FunctionalInterface 8 | public interface MissingNpmDependencyHandler { 9 | void handleMissingDependency(Logger logger, NpmRequires missingDependency); 10 | } 11 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/npm/NpmDependencyType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.npm; 2 | 3 | public enum NpmDependencyType { 4 | DEV, 5 | PEER 6 | } 7 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/nuget/NugetDependencyType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.nuget; 2 | 3 | public enum NugetDependencyType { 4 | DEV 5 | } 6 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/nuget/NugetTargetResult.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.nuget; 2 | 3 | import java.util.List; 4 | 5 | import com.blackduck.integration.detectable.detectable.codelocation.CodeLocation; 6 | import com.blackduck.integration.util.NameVersion; 7 | 8 | public class NugetTargetResult { 9 | List codeLocations; 10 | NameVersion nameVersion; 11 | } 12 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/nuget/model/NugetContainerType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.nuget.model; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum NugetContainerType { 6 | @SerializedName("Solution") 7 | SOLUTION, 8 | @SerializedName("Project") 9 | PROJECT 10 | } 11 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/opam/buildexe/parse/OpamTreeProjectModule.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.opam.buildexe.parse; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | import java.util.List; 6 | 7 | public class OpamTreeProjectModule { 8 | @SerializedName("name") 9 | public String name; 10 | 11 | @SerializedName("version") 12 | public String version; 13 | 14 | @SerializedName("dependencies") 15 | public List dependencies; 16 | } 17 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/packagist/PackagistDependencyType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.packagist; 2 | 3 | public enum PackagistDependencyType { 4 | DEV 5 | } 6 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/pear/PearDependencyType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.pear; 2 | 3 | public enum PearDependencyType { 4 | OPTIONAL 5 | } 6 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/pip/parser/RequirementsFile.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.pip.parser; 2 | 3 | import java.util.Map; 4 | 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | public class RequirementsFile { 8 | @SerializedName("default") 9 | public Map dependencies; 10 | } 11 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/pip/parser/RequirementsFileDependencyEntry.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.pip.parser; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public class RequirementsFileDependencyEntry { 6 | @SerializedName("version") 7 | public String version; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/pipenv/parse/PipenvDependencyType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.pipenv.parse; 2 | 3 | public enum PipenvDependencyType { 4 | DEV 5 | } 6 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/pipenv/parse/PipfileLockDependencyVersionParser.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.pipenv.parse; 2 | 3 | import org.jetbrains.annotations.Nullable; 4 | 5 | public class PipfileLockDependencyVersionParser { 6 | public String parseRawVersion(@Nullable String rawVersion) { 7 | if (rawVersion == null) { 8 | return null; 9 | } 10 | return rawVersion.replace("==", ""); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/pipenv/parse/data/PipfileLock.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.pipenv.parse.data; 2 | 3 | import java.util.Map; 4 | 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | public class PipfileLock { 8 | @SerializedName("default") 9 | public Map dependencies; 10 | 11 | @SerializedName("develop") 12 | public Map devDependencies; 13 | } 14 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/pipenv/parse/data/PipfileLockDependencyEntry.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.pipenv.parse.data; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public class PipfileLockDependencyEntry { 6 | @SerializedName("version") 7 | public String version; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/pipenv/tbuild/model/PipFreeze.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.pipenv.tbuild.model; 2 | 3 | import java.util.List; 4 | 5 | public class PipFreeze { 6 | private final List entries; 7 | 8 | public PipFreeze(List entries) { 9 | this.entries = entries; 10 | } 11 | 12 | public List getEntries() { 13 | return entries; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/pipenv/tbuild/model/PipenvGraph.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.pipenv.tbuild.model; 2 | 3 | import java.util.List; 4 | 5 | public class PipenvGraph { 6 | private final List entries; 7 | 8 | public PipenvGraph(List entries) { 9 | this.entries = entries; 10 | } 11 | 12 | public List getEntries() { 13 | return entries; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/pnpm/lockfile/model/PnpmDependencyInfo.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.pnpm.lockfile.model; 2 | 3 | import org.jetbrains.annotations.Nullable; 4 | 5 | public class PnpmDependencyInfo { 6 | @Nullable 7 | public String specifier; 8 | 9 | @Nullable 10 | public String version; 11 | } 12 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/pnpm/lockfile/model/PnpmDependencyType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.pnpm.lockfile.model; 2 | 3 | public enum PnpmDependencyType { 4 | DEV, 5 | OPTIONAL 6 | } 7 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/pnpm/lockfile/model/PnpmLockYamlBase.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.pnpm.lockfile.model; 2 | 3 | import org.jetbrains.annotations.Nullable; 4 | 5 | public class PnpmLockYamlBase { 6 | @Nullable 7 | public String lockfileVersion; 8 | } 9 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/pnpm/lockfile/model/PnpmProjectPackagev5.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.pnpm.lockfile.model; 2 | 3 | import java.util.Map; 4 | 5 | import org.jetbrains.annotations.Nullable; 6 | 7 | public class PnpmProjectPackagev5 { 8 | @Nullable 9 | public Map dependencies; 10 | 11 | @Nullable 12 | public Map devDependencies; 13 | 14 | @Nullable 15 | public Map optionalDependencies; 16 | } 17 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/projectinspector/model/ProjectInspectorMavenCoordinate.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.projectinspector.model; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public class ProjectInspectorMavenCoordinate { 6 | @SerializedName("GroupId") 7 | public String group; 8 | 9 | @SerializedName("ArtifactId") 10 | public String artifact; 11 | 12 | @SerializedName("Version") 13 | public String version; 14 | } 15 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/rubygems/GemspecDependencyType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.rubygems; 2 | 3 | public enum GemspecDependencyType { 4 | RUNTIME, 5 | DEV 6 | } 7 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/setuptools/parse/SetupToolsParser.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.setuptools.parse; 2 | 3 | import java.io.IOException; 4 | 5 | public interface SetupToolsParser { 6 | 7 | public SetupToolsParsedResult parse() throws IOException; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/xcode/model/FileReferenceType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.xcode.model; 2 | 3 | public enum FileReferenceType { 4 | DIRECTORY, 5 | XCODE_PROJECT, // TODO: Can other xcode workspaces be referenced here? 6 | } 7 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/yarn/YarnDependencyType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.yarn; 2 | 3 | public enum YarnDependencyType { 4 | NON_PRODUCTION // TODO: This is specific to CLI, Yarn lock parsing has explicit fields for dependency types like DEV. JM-01/2022 5 | } 6 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/yarn/packagejson/Workspaces.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.yarn.packagejson; 2 | 3 | import java.util.LinkedList; 4 | import java.util.List; 5 | 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | public class Workspaces { 9 | 10 | @SerializedName("packages") 11 | public List workspaceSubdirPatterns = new LinkedList<>(); 12 | } 13 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/yarn/packagejson/YarnPackageJsonWorkspacesAsObject.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.yarn.packagejson; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import com.blackduck.integration.detectable.detectables.npm.packagejson.model.YarnPackageJson; 5 | 6 | public class YarnPackageJsonWorkspacesAsObject extends YarnPackageJson { 7 | 8 | @SerializedName("workspaces") 9 | public Workspaces workspaces; 10 | } 11 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/detectables/yarn/parse/entry/section/YarnLockEntrySectionParser.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.detectables.yarn.parse.entry.section; 2 | 3 | import java.util.List; 4 | 5 | import com.blackduck.integration.detectable.detectables.yarn.parse.entry.YarnLockEntryBuilder; 6 | 7 | public interface YarnLockEntrySectionParser { 8 | boolean applies(String sectionFirstLine); 9 | 10 | int parseSection(YarnLockEntryBuilder entryBuilder, List yarnLockLines, int lineIndexOfStartOfSection); 11 | } 12 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/extraction/ExtractionEnvironment.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.extraction; 2 | 3 | import java.io.File; 4 | 5 | public class ExtractionEnvironment { 6 | private final File outputDirectory; 7 | 8 | public ExtractionEnvironment(File outputDirectory) {this.outputDirectory = outputDirectory;} 9 | 10 | public File getOutputDirectory() { 11 | return outputDirectory; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /detectable/src/main/java/com/blackduck/integration/detectable/util/JsonSanitizer.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.util; 2 | 3 | import com.google.gson.JsonObject; 4 | import com.google.gson.JsonParser; 5 | import com.google.gson.JsonSyntaxException; 6 | 7 | public class JsonSanitizer { 8 | public static JsonObject sanitize(String json) throws JsonSyntaxException { 9 | return JsonParser.parseString(json).getAsJsonObject(); 10 | } 11 | } -------------------------------------------------------------------------------- /detectable/src/test/java/com/blackduck/integration/detectable/util/ExecutableOutputUtil.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.util; 2 | 3 | import com.blackduck.integration.executable.ExecutableOutput; 4 | 5 | public class ExecutableOutputUtil { 6 | public static ExecutableOutput success(String line) { 7 | return new ExecutableOutput(0, line, ""); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /detectable/src/test/java/com/blackduck/integration/detectable/util/MockDetectableEnvironment.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detectable.util; 2 | 3 | import java.io.File; 4 | 5 | import com.blackduck.integration.detectable.DetectableEnvironment; 6 | 7 | public class MockDetectableEnvironment extends DetectableEnvironment { 8 | 9 | public MockDetectableEnvironment(File directory) { 10 | super(directory); 11 | } 12 | 13 | public static MockDetectableEnvironment empty() { 14 | return new MockDetectableEnvironment(new File(".")); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/bitbake/builddir_arch/tmp/deploy/licenses/targetimage-testarch-999/license.manifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/detectable/src/test/resources/detectables/functional/bitbake/builddir_arch/tmp/deploy/licenses/targetimage-testarch-999/license.manifest -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/bitbake/builddir_arch/tmp/deploy/licenses/targetimage-wrongarch-999/license.manifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/detectable/src/test/resources/detectables/functional/bitbake/builddir_arch/tmp/deploy/licenses/targetimage-wrongarch-999/license.manifest -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/bitbake/builddir_custom/deploy/licenses/targetimage-arch/license.manifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/detectable/src/test/resources/detectables/functional/bitbake/builddir_custom/deploy/licenses/targetimage-arch/license.manifest -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/bitbake/builddir_default/tmp/deploy/licenses/targetimage-arch/license.manifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/detectable/src/test/resources/detectables/functional/bitbake/builddir_default/tmp/deploy/licenses/targetimage-arch/license.manifest -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/bitbake/builddir_env/envprovidedpath/licenses/targetimage-last-modified-architecture/license.manifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/detectable/src/test/resources/detectables/functional/bitbake/builddir_env/envprovidedpath/licenses/targetimage-last-modified-architecture/license.manifest -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/bitbake/builddir_env/envprovidedpath/licenses/targetimage-wrong-architecture/license.manifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/detectable/src/test/resources/detectables/functional/bitbake/builddir_env/envprovidedpath/licenses/targetimage-wrong-architecture/license.manifest -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/bitbake/builddir_machine/tmp/deploy/licenses/quemux86_64/core-image-minimal-qemux86-64.rootfs-20240202164631/license.manifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/detectable/src/test/resources/detectables/functional/bitbake/builddir_machine/tmp/deploy/licenses/quemux86_64/core-image-minimal-qemux86-64.rootfs-20240202164631/license.manifest -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/bitbake/builddir_machine/tmp/deploy/licenses/quemux86_64/core-image-minimal-qemux86-64.rootfs-20240202164632/license.manifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/detectable/src/test/resources/detectables/functional/bitbake/builddir_machine/tmp/deploy/licenses/quemux86_64/core-image-minimal-qemux86-64.rootfs-20240202164632/license.manifest -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/cocoapods/noPodsExpected_graph.json: -------------------------------------------------------------------------------- 1 | { 2 | "rootExternalDataIds": [], 3 | "externalDataIdRelationships": {}, 4 | "dependencySummaries": {} 5 | } -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/cocoapods/nopodsPodfile.lock: -------------------------------------------------------------------------------- 1 | PODFILE CHECKSUM: 8450e999bd91434b1f8b6a5e2ddc611328c6dd79 2 | 3 | COCOAPODS: 1.8.4 4 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/dart/pubDeps_3_1.txt: -------------------------------------------------------------------------------- 1 | Dart SDK 3.1.0 2 | http_parser 4.0.3-dev 3 | ├── collection 1.18.0 4 | ├── source_span 1.10.0 5 | │ ├── collection... 6 | │ ├── path 1.8.3 7 | │ └── term_glyph 1.2.1 8 | ├── string_scanner 1.2.0 9 | │ └── source_span... 10 | └── typed_data 1.3.2 11 | └── collection... -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/docker/unit/outputDirectoryWithNonPopulatedResultsFile/application.properties: -------------------------------------------------------------------------------- 1 | # 2 | #Wed Dec 04 15:50:32 EST 2019 3 | output.include.squashedimage=true 4 | upload.bdio=false 5 | logging.level.com.synopsys=INFO 6 | phone.home=false 7 | output.path=/Users/crowley/blackduck/runs/2019-12-04-20-50-30-765/extractions/DOCKER-0 8 | output.include.containerfilesystem=true 9 | caller.name=Detect 10 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/docker/unit/outputDirectoryWithNonPopulatedResultsFile/results.json: -------------------------------------------------------------------------------- 1 | { 2 | "succeeded": true, 3 | "message": "Docker Inspector succeeded.", 4 | "dockerTarfilename": "ubuntu_latest.tar", 5 | "bdioFilename": "ubuntu_latest_DPKG_bdio.jsonld", 6 | "containerFilesystemFilename": "_containerfilesystem.tar.gz", 7 | "squashedImageFilename": "_squashedimage.tar.gz" 8 | } -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/docker/unit/outputDirectoryWithPopulatedResultsFile/application.properties: -------------------------------------------------------------------------------- 1 | # 2 | #Wed Dec 04 15:50:32 EST 2019 3 | output.include.squashedimage=true 4 | upload.bdio=false 5 | logging.level.com.blackduck=INFO 6 | phone.home=false 7 | output.path=/Users/crowley/blackduck/runs/2019-12-04-20-50-30-765/extractions/DOCKER-0 8 | output.include.containerfilesystem=true 9 | caller.name=Detect 10 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/docker/unit/outputDirectoryWithPopulatedResultsFile/results.json: -------------------------------------------------------------------------------- 1 | { 2 | "succeeded": true, 3 | "message": "Docker Inspector succeeded.", 4 | "imageRepo": "ubuntu", 5 | "imageTag": "latest", 6 | "dockerTarfilename": "ubuntu_latest.tar", 7 | "bdioFilename": "ubuntu_latest_DPKG_bdio.jsonld", 8 | "containerFilesystemFilename": "_containerfilesystem.tar.gz", 9 | "squashedImageFilename": "_squashedimage.tar.gz" 10 | } -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/go/Gopkg_noprojects.lock: -------------------------------------------------------------------------------- 1 | # This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. 2 | 3 | 4 | [solve-meta] 5 | analyzer-name = "dep" 6 | analyzer-version = 1 7 | input-imports = [] 8 | solver-name = "gps-cdcl" 9 | solver-version = 1 10 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/go/gomod-test1/go-list.xout: -------------------------------------------------------------------------------- 1 | { 2 | "Path": "github.com/gin-gonic/gin", 3 | "Main": true, 4 | "Dir": "/Users/jakem/workspace/sleuthifer/synopsys-detect/go-mod", 5 | "GoMod": "/Users/jakem/workspace/sleuthifer/synopsys-detect/go-mod/go.mod", 6 | "GoVersion": "1.13" 7 | } 8 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/go/gomod-test1/go-mod-get-main.xout: -------------------------------------------------------------------------------- 1 | github.com/sagikazarmark/modern-go-application 2 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/go/gomod/go-list.xout: -------------------------------------------------------------------------------- 1 | { 2 | "Path": "commons-service", 3 | "Main": true, 4 | "Dir": "/Users/shanty/blackduck/example-source/go/ToReferLatest/GoViperTest", 5 | "GoMod": "/Users/shanty/blackduck/example-source/go/ToReferLatest/GoViperTest/go.mod", 6 | "GoVersion": "1.20" 7 | } -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/go/gomod/go-mod-get-main.xout: -------------------------------------------------------------------------------- 1 | commons-service -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/go/gomod/go-mod-list-directs.xout: -------------------------------------------------------------------------------- 1 | github.com/fsnotify/fsnotify@v1.6.0 2 | github.com/spf13/viper@v1.8.1 -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/go/gomod/go-mod-why.xout: -------------------------------------------------------------------------------- 1 | # commons-service 2 | (main module does not need module commons-service) 3 | 4 | # github.com/spf13/viper 5 | (main module does not need module github.com/spf13/viper) 6 | 7 | # github.com/bketelsen/crypt 8 | (main module does not need module github.com/bketelsen/crypt) 9 | 10 | # github.com/fsnotify/fsnotify 11 | (main module does not need module github.com/fsnotify/fsnotify) 12 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/gradle/root-only-tests/rootProjectMetadata.txt: -------------------------------------------------------------------------------- 1 | DETECT META DATA START 2 | rootProjectDirectory:/path/to/multimodule/project/simple 3 | rootProjectPath:: 4 | rootProjectGroup:com.blackduck.integration 5 | rootProjectName:simple 6 | rootProjectVersion:1.1.1 7 | DETECT META DATA END -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/gradle/rootProjectMetadata.txt: -------------------------------------------------------------------------------- 1 | DETECT META DATA START 2 | rootProjectDirectory:some_path/detect 3 | rootProjectGroup: 4 | rootProjectName:detect 5 | rootProjectVersion:10.0.0 6 | DETECT META DATA END 7 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/npm/dev-exclusion-test/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "npm-dev", 3 | "version": "1.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "node_modules/child-dev": { 8 | "version": "3.0.0", 9 | "dev": true 10 | }, 11 | "node_modules/parent-dev": { 12 | "version": "2.0.0", 13 | "dev": true, 14 | "dependencies": { 15 | "child-dev": "3.0.0" 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/npm/dev-exclusion-test/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "npm-dev", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "devDependencies": { 12 | "parent-dev": "^2.0.0" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/npm/dev-exclusion-workspace-test/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "npmworkspace", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "workspaces": [ 12 | "packages/*", 13 | "packages/*/*" 14 | ], 15 | "dependencies": { 16 | "express": "^4.18.2", 17 | "send": "0.18.0" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/npm/dev-exclusion-workspace-test/packages/w1/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "w1", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "karma": "^6.4.2" 13 | }, 14 | "devDependencies": { 15 | "chai": "1.10.0" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/npm/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@cogizmo/cogizmo", 3 | "version": "0.5.5", 4 | "dependencies": { 5 | "name1": "version1", 6 | "name2": "version2" 7 | }, 8 | "devDependencies": { 9 | "nameDev1": "versionDev1", 10 | "nameDev2": "versionDev2" 11 | }, 12 | "peerDependencies": { 13 | "namePeer1": "versionPeer1", 14 | "namePeer2": "versionPeer2" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/npm/packages-linkage-test/package-lock-extraneous.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "npmworkspace", 3 | "version": "1.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "node_modules/testpackage/node_modules/extraneouspackage": { 8 | "name": "extraneouspackage", 9 | "version": "1.0.0", 10 | "license": "ISC", 11 | "extraneous": true 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/npm/peer-exclusion-test/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "npm-dev", 3 | "version": "1.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "node_modules/child-peer": { 8 | "version": "3.0.0", 9 | "peer": true 10 | }, 11 | "node_modules/parent-peer": { 12 | "version": "2.0.0", 13 | "peer": true, 14 | "dependencies": { 15 | "child-peer": "3.0.0" 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/npm/peer-exclusion-test/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "npm-dev", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "peerDependencies": { 12 | "parent-peer": "^2.0.0" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/npm/workspace-test/package-relative.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "npmworkspace", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "workspaces": [ 12 | "./packages/a", 13 | "./packages/a/c", 14 | "./packages/b", 15 | "./packages/b/d" 16 | ], 17 | "dependencies": { 18 | "express": "^4.18.2", 19 | "send": "0.18.0" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/npm/workspace-test/package-wildcard-and-relative.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "npmworkspace", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "workspaces": [ 12 | "./packages/*", 13 | "./packages/*/*" 14 | ], 15 | "dependencies": { 16 | "express": "^4.18.2", 17 | "send": "0.18.0" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/npm/workspace-test/package-wildcard.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "npmworkspace", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "workspaces": [ 12 | "packages/*", 13 | "packages/*/*" 14 | ], 15 | "dependencies": { 16 | "express": "^4.18.2", 17 | "send": "0.18.0" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/npm/workspace-test/packages/a/c/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "funtimec", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "lodash": "^4.17.21" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/npm/workspace-test/packages/a/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "funtimea", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "abbrev": "^2.0.0", 13 | "send": "0.17.2" 14 | }, 15 | "devDependencies": { 16 | "test": "^3.3.0" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/npm/workspace-test/packages/b/d/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "funtimed", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "lodash": "^4.17.21" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/npm/workspace-test/packages/b/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "funtimeb", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "karma": "^6.4.2" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/nuget/LDService_Output_12_graph.json: -------------------------------------------------------------------------------- 1 | { 2 | "externalDataIdRelationships": {}, 3 | "dependencySummaries": {}, 4 | "rootExternalDataIds": [] 5 | } -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/nuget/LDService_Output_2_graph.json: -------------------------------------------------------------------------------- 1 | { 2 | "externalDataIdRelationships": {}, 3 | "dependencySummaries": {}, 4 | "rootExternalDataIds": [] 5 | } -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/nuget/LDService_Output_7_graph.json: -------------------------------------------------------------------------------- 1 | { 2 | "externalDataIdRelationships": {}, 3 | "dependencySummaries": {}, 4 | "rootExternalDataIds": [] 5 | } -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/nuget/LDService_Output_8_graph.json: -------------------------------------------------------------------------------- 1 | { 2 | "externalDataIdRelationships": {}, 3 | "dependencySummaries": {}, 4 | "rootExternalDataIds": [] 5 | } -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/nuget/LDService_Output_9_graph.json: -------------------------------------------------------------------------------- 1 | { 2 | "externalDataIdRelationships": {}, 3 | "dependencySummaries": {}, 4 | "rootExternalDataIds": [] 5 | } -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/nuget/project_inspector/ProjectInspectorNoResults.json: -------------------------------------------------------------------------------- 1 | { 2 | "Dir": "C:\\Users\\userx\\source\\repos\\no-dependencies-repo" 3 | } -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/pip/requirements-2.txt: -------------------------------------------------------------------------------- 1 | name6==1.2.3 -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/pip/requirements-4.txt: -------------------------------------------------------------------------------- 1 | name7 ~= 1.2.3 -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/pip/test-subdirectory/requirements-3.txt: -------------------------------------------------------------------------------- 1 | nestedname==1.2.3 -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/functional/pnpm/linkedProjectPackage/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "linkedProjectPackage", 3 | "version": "1.0.0" 4 | } -------------------------------------------------------------------------------- /detectable/src/test/resources/detectables/unit/pip/poetry/false_positive_pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["setuptools>=40.8.0", "wheel", "cython"] 3 | build-backend = "setuptools.build_meta" -------------------------------------------------------------------------------- /detector/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | implementation project(':detectable') 3 | implementation project(':common') 4 | 5 | implementation 'com.blackduck.integration:integration-bdio' 6 | } 7 | -------------------------------------------------------------------------------- /detector/src/main/java/com/blackduck/integration/detector/DetectorApplication.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detector; 2 | 3 | //This sample application will build all 'searchable' detectables (aka Detectors) and execute them against the current folder. 4 | public class DetectorApplication { 5 | public static void main(String[] args) { 6 | System.out.println("Hello World!"); // Display the string. 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /detector/src/main/java/com/blackduck/integration/detector/accuracy/detectable/DetectableEvaluationResultType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detector.accuracy.detectable; 2 | 3 | public enum DetectableEvaluationResultType { 4 | NOT_EXTRACTED, 5 | EXTRACTED 6 | } 7 | -------------------------------------------------------------------------------- /detector/src/main/java/com/blackduck/integration/detector/base/DetectableCreatable.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detector.base; 2 | 3 | import com.blackduck.integration.detectable.Detectable; 4 | import com.blackduck.integration.detectable.DetectableEnvironment; 5 | 6 | @FunctionalInterface 7 | public interface DetectableCreatable { 8 | Detectable createDetectable(DetectableEnvironment environment); 9 | } 10 | -------------------------------------------------------------------------------- /detector/src/main/java/com/blackduck/integration/detector/base/DetectorStatusType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detector.base; 2 | 3 | public enum DetectorStatusType { 4 | SUCCESS, 5 | FAILURE, 6 | ATTEMPTED 7 | } -------------------------------------------------------------------------------- /detector/src/main/java/com/blackduck/integration/detector/finder/DirectoryFinderDirectoryListException.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detector.finder; 2 | 3 | import java.io.IOException; 4 | 5 | public class DirectoryFinderDirectoryListException extends Exception { 6 | public DirectoryFinderDirectoryListException(String message, IOException e) { 7 | super(message, e); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /detector/src/main/java/com/blackduck/integration/detector/result/ExcludedDetectorResult.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detector.result; 2 | 3 | public class ExcludedDetectorResult extends FailedDetectorResult { 4 | public ExcludedDetectorResult() { 5 | super("Detector type was excluded."); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /detector/src/main/java/com/blackduck/integration/detector/result/FailedDetectorResult.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detector.result; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | public class FailedDetectorResult extends DetectorResult { 6 | public FailedDetectorResult(@NotNull String description) { 7 | super(false, description); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /detector/src/main/java/com/blackduck/integration/detector/result/ForcedNestedPassedDetectorResult.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detector.result; 2 | 3 | public class ForcedNestedPassedDetectorResult extends PassedDetectorResult { 4 | public ForcedNestedPassedDetectorResult() { 5 | super("Forced to pass because nested forced by user."); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /detector/src/main/java/com/blackduck/integration/detector/result/MaxDepthExceededDetectorResult.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detector.result; 2 | 3 | public class MaxDepthExceededDetectorResult extends FailedDetectorResult { 4 | public MaxDepthExceededDetectorResult(int depth, int maxDepth) { 5 | super(String.format("Max depth of %d exceeded by %d", maxDepth, depth)); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /detector/src/main/java/com/blackduck/integration/detector/result/NotNestableBeneathDetectableDetectorResult.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detector.result; 2 | 3 | public class NotNestableBeneathDetectableDetectorResult extends FailedDetectorResult { 4 | public NotNestableBeneathDetectableDetectorResult(String detectableName) { 5 | super("Not nestable below extracted: " + detectableName); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /detector/src/main/java/com/blackduck/integration/detector/result/NotNestableBeneathDetectorResult.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detector.result; 2 | 3 | import com.blackduck.integration.detector.base.DetectorType; 4 | 5 | public class NotNestableBeneathDetectorResult extends FailedDetectorResult { 6 | public NotNestableBeneathDetectorResult(DetectorType theType) { 7 | super("Not nestable below a detector of type: " + theType.toString()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /detector/src/main/java/com/blackduck/integration/detector/result/NotNestableDetectorResult.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detector.result; 2 | 3 | public class NotNestableDetectorResult extends FailedDetectorResult { 4 | public NotNestableDetectorResult() { 5 | super("Not nestable and a detector already applied in parent directory."); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /detector/src/main/java/com/blackduck/integration/detector/result/PassedDetectorResult.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detector.result; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | public class PassedDetectorResult extends DetectorResult { 6 | public PassedDetectorResult() { 7 | this("Passed"); 8 | } 9 | 10 | public PassedDetectorResult(@NotNull String description) { 11 | super(true, description); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /detector/src/main/java/com/blackduck/integration/detector/result/YieldedDetectorResult.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detector.result; 2 | 3 | import java.util.Set; 4 | 5 | import org.apache.commons.lang3.StringUtils; 6 | 7 | public class YieldedDetectorResult extends FailedDetectorResult { 8 | public YieldedDetectorResult(Set yieldedTo) { 9 | super(String.format("Yielded to detectors: %s", StringUtils.join(yieldedTo, ","))); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /detector/src/main/java/com/blackduck/integration/detector/rule/DetectorRuleSet.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detector.rule; 2 | 3 | import java.util.List; 4 | 5 | public class DetectorRuleSet { 6 | private final List detectorRules; 7 | 8 | public DetectorRuleSet(List detectorRules) {this.detectorRules = detectorRules;} 9 | 10 | public List getDetectorRules() { 11 | return detectorRules; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /detector/src/main/java/com/blackduck/integration/detector/rule/Fallback.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detector.rule; 2 | 3 | public class Fallback { 4 | } 5 | -------------------------------------------------------------------------------- /detector/src/main/java/com/blackduck/integration/detector/rule/builder/DetectorRuleBuilderDelegate.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detector.rule.builder; 2 | 3 | @FunctionalInterface 4 | public interface DetectorRuleBuilderDelegate { 5 | void build(DetectorRuleBuilder builder); 6 | } 7 | -------------------------------------------------------------------------------- /documentation/custom.properties: -------------------------------------------------------------------------------- 1 | document.locale=enus 2 | args.input.path=detect.ditamap 3 | 4 | -------------------------------------------------------------------------------- /documentation/src/main/markdown/downloadingandinstalling/intro.md: -------------------------------------------------------------------------------- 1 | # Downloading and Installing [detect_product_long] 2 | 3 | This section describes the process of downloading, verifying, and installing [detect_product_short]. 4 | 5 | Refer to the menu topics for information about aquiring and installing the application in your environment. 6 | -------------------------------------------------------------------------------- /documentation/src/main/markdown/gettingstarted/terms/bdio.md: -------------------------------------------------------------------------------- 1 | # BDIO 2 | 3 | [detect_product_long] produces dependency information for [bd_product_long], and additional [bd_product_short] products and platforms, in [bd_product_short] Input Output (BDIO) format files. 4 | -------------------------------------------------------------------------------- /documentation/src/main/markdown/gettingstarted/terms/inspectors.md: -------------------------------------------------------------------------------- 1 | # Inspectors 2 | 3 | Inspectors are used by detectors when the package manager requires an integration or embedded plugin to find and extract dependencies. For example, Gradle uses an inspector as a plugin that executes a custom task. 4 | Most detectors do not require an inspector. 5 | -------------------------------------------------------------------------------- /documentation/src/main/markdown/gettingstarted/terms/intro.md: -------------------------------------------------------------------------------- 1 | # Key Concepts and Terms 2 | 3 | This section describes the key concepts and terms that are used when refering to operations involving [detect_product_long]. 4 | Understanding these terms and [detect_product_short] components will help you scan and analyze your code more efficiently and effectively. 5 | -------------------------------------------------------------------------------- /documentation/src/main/markdown/gettingstarted/terms/jar.md: -------------------------------------------------------------------------------- 1 | # JAR 2 | 3 | A JAR file is a package file format aggregating Java files, resources and metadata into one file. 4 | 5 | By using a specific [detect_product_short] JAR, you have direct control over the [detect_product_short] version that you are running, rather than using the script, which automatically runs the latest version. 6 | -------------------------------------------------------------------------------- /documentation/src/main/markdown/gettingstarted/terms/run.md: -------------------------------------------------------------------------------- 1 | # Run 2 | 3 | Typically, a run consists of the [detect_product_long] detector using the project's package manager to derive the hierarchy of dependencies in a software project, 4 | running the [blackduck_signature_scanner_name], and uploading the results to [bd_product_short] for analysis. 5 | -------------------------------------------------------------------------------- /documentation/src/main/markdown/gettingstarted/terms/sca.md: -------------------------------------------------------------------------------- 1 | # Software Composition Analysis (SCA) 2 | 3 | Software Composition Analysis (SCA) is an automated process that identifies the open source software in a codebase. This analysis is performed to evaluate security, license compliance, and code quality by providing users with visibility into their open source code inventory. 4 | 5 | Software Composition Analysis as a Service (SCAaaS) provides the same functionality as SCA, but is run as a cloud hosted service whereby users do not require their own hardware to run the application(s). 6 | -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/azureplugin/images/bd-extension.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/documentation/src/main/markdown/integrations/azureplugin/images/bd-extension.png -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/azureplugin/images/configuringagent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/documentation/src/main/markdown/integrations/azureplugin/images/configuringagent.png -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/azureplugin/images/configuringplugin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/documentation/src/main/markdown/integrations/azureplugin/images/configuringplugin.png -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/azureplugin/images/installing1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/documentation/src/main/markdown/integrations/azureplugin/images/installing1.png -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/azureplugin/images/installing2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/documentation/src/main/markdown/integrations/azureplugin/images/installing2.png -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/azureplugin/images/introscreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/documentation/src/main/markdown/integrations/azureplugin/images/introscreen.png -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/azureplugin/runningthetask.md: -------------------------------------------------------------------------------- 1 | # Running the Task 2 | After you have configured your task, you can run it as follows: 3 | 4 | * In Azure DevOps, click **Queue**, and your task is executed on the next available build agent. 5 | * If your task configuration is incomplete, a red status message of *Some settings need your attention* displays below **Run [detect_product_short] for your build**. 6 | * Missing required settings display in red in the **[detect_product_short]** panel. 7 | 8 | -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/bitbucket/images/myaccesstokens.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/documentation/src/main/markdown/integrations/bitbucket/images/myaccesstokens.png -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/bitbucket/images/xapitoken.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/documentation/src/main/markdown/integrations/bitbucket/images/xapitoken.png -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/gitlab/images/myaccesstokens.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/documentation/src/main/markdown/integrations/gitlab/images/myaccesstokens.png -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/gitlab/images/pipelineconfig1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/documentation/src/main/markdown/integrations/gitlab/images/pipelineconfig1.png -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/gitlab/images/pipelineconfig2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/documentation/src/main/markdown/integrations/gitlab/images/pipelineconfig2.png -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/jenkinsplugin/images/AirGap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/documentation/src/main/markdown/integrations/jenkinsplugin/images/AirGap.png -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/jenkinsplugin/images/Configuring1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/documentation/src/main/markdown/integrations/jenkinsplugin/images/Configuring1.png -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/jenkinsplugin/images/Configuring2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/documentation/src/main/markdown/integrations/jenkinsplugin/images/Configuring2.png -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/jenkinsplugin/images/Configuring3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/documentation/src/main/markdown/integrations/jenkinsplugin/images/Configuring3.png -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/jenkinsplugin/images/Configuring4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/documentation/src/main/markdown/integrations/jenkinsplugin/images/Configuring4.jpg -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/jenkinsplugin/images/JenkinsFreestyleJob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/documentation/src/main/markdown/integrations/jenkinsplugin/images/JenkinsFreestyleJob.png -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/jenkinsplugin/images/Pipeline1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/documentation/src/main/markdown/integrations/jenkinsplugin/images/Pipeline1.png -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/jenkinsplugin/images/Pipeline2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/documentation/src/main/markdown/integrations/jenkinsplugin/images/Pipeline2.png -------------------------------------------------------------------------------- /documentation/src/main/markdown/integrations/jenkinsplugin/jenkinsrequirements.md: -------------------------------------------------------------------------------- 1 | # Requirements for [detect_product_long] for Jenkins 2 | 3 | Requirements for [detect_product_long] for Jenkins which may be in addition to those for [detect_product_short]. 4 | 5 | * Access to the internet is required to download components from GitHub and other locations. 6 | * Minimum 8GB RAM. 7 | * Java: OpenJDK 64-bit version 8, 11, 13, 14, 15, 16, or 17. If using Java 11: 11.0.5 or higher is required. 8 | * Jenkins minimum version of 2.426.3. 9 | -------------------------------------------------------------------------------- /documentation/src/main/markdown/packagemgrs/docker/filepermissions.md: -------------------------------------------------------------------------------- 1 | # File permissions 2 | 3 | When using Docker Inspector, [detect_product_short] must be run in an environment configured so that files created 4 | by Docker Inspector are readable by all. On Linux, this means an appropriate umask value 5 | (for example, 002 or 022 will work). On Windows, this means that the [detect_product_short] 6 | output directory must be readable by all. 7 | 8 | Docker image tarfiles passed to [detect_product_short] via the *detect.docker.tar* property must be readable by all. 9 | 10 | -------------------------------------------------------------------------------- /documentation/src/main/markdown/packagemgrs/docker/windowsimages.md: -------------------------------------------------------------------------------- 1 | # Inspecting Windows Docker images 2 | 3 | Given a Windows Image, Docker Inspector, since it can only discover packages using 4 | a Linux package manager, will not contribute any components to the BOM, but will 5 | return the container filesystem (in the form of a squashed image), 6 | which [detect_product_short] will scan using the [blackduck_signature_scanner_name]. 7 | 8 | -------------------------------------------------------------------------------- /documentation/src/main/markdown/packagemgrs/overview.md: -------------------------------------------------------------------------------- 1 | # Package Manager Information 2 | 3 | This section contains more detailed information about how many of the supported package managers operate. 4 | 5 | Refer to the Package Manager menu on the left for the list of package managers and their respective details. 6 | 7 | To view the package manager versions that [detect_product_short] supports, please refer to the 8 | Release Compatibility Matrix. 9 | 10 | -------------------------------------------------------------------------------- /documentation/src/main/markdown/properties/configuration/overview.md: -------------------------------------------------------------------------------- 1 | # Configuration Property Details 2 | 3 | [detect_product_long] is configured by assigning one or more values to properties. 4 | The topics in this section contain details about the available properties that configure [detect_product_short] execution. 5 | -------------------------------------------------------------------------------- /documentation/src/main/markdown/properties/configuration/properties.md: -------------------------------------------------------------------------------- 1 | # Properties 2 | 3 | [detect_product_long] is highly configurable, with property settings defining scan execution parameters. 4 | 5 | The table of contents contains links to those [detect_product_short] property settings. 6 | 7 | For the general set of properties see [basic properties](../../properties/basic-properties.html). 8 | -------------------------------------------------------------------------------- /documentation/src/main/markdown/runningdetect/basics/choosingworkingdir.md: -------------------------------------------------------------------------------- 1 | # Choosing the working directory 2 | 3 | You can run [detect_product_long] from any directory. If you are not running [detect_product_short] from the project directory, 4 | provide the project directory using the [source path property](../../properties/configuration/paths.md#source-path). When that property is not set, 5 | [detect_product_short] assumes the current working directory is the project directory. 6 | -------------------------------------------------------------------------------- /documentation/src/main/markdown/runningdetect/images/containerscan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/documentation/src/main/markdown/runningdetect/images/containerscan.png -------------------------------------------------------------------------------- /documentation/src/main/markdown/runningdetect/includingexcluding/intro.md: -------------------------------------------------------------------------------- 1 | # Including and Excluding Tools, Detectors, Directories, etc. 2 | 3 | [Properties](../../properties/all-properties.md) provide a variety of additional options for configuring [detect_product_long] behavior. One of the 4 | most fundamental ways to modify [detect_product_short] is by including and excluding [tools](../../components/tools.md) and [detectors](../../components/detectors.dita). 5 | 6 | -------------------------------------------------------------------------------- /documentation/src/main/markdown/runningdetect/intro.md: -------------------------------------------------------------------------------- 1 | # Planning and Running [detect_product_long] 2 | 3 | This section describes the basics of planning your installation, configuring your workflow, and running [detect_product_long]. 4 | 5 | Refer to the topics in the table of contents for information regarding the ways that [detect_product_short] can be used, the types of scans it supports, and how to best run the application in your environment. 6 | -------------------------------------------------------------------------------- /documentation/src/main/resources/templates/exit-codes.ftl: -------------------------------------------------------------------------------- 1 | # Detect Exit Codes 2 | 3 | | Exit Code Key | Value | Description | 4 | | --- | --- | --- | 5 | <#list exitCodes as exitCode> 6 | | ${exitCode.exitCodeKey} | ${exitCode.exitCodeValue} | ${exitCode.exitCodeDescription} | 7 | 8 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.1-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /platform-1/config.env: -------------------------------------------------------------------------------- 1 | export TARGET_REPO=blackducksoftware 2 | export TARGET_IMAGE=blackduck-client 3 | export TARGET_VERSION=$RELEASE_VERSION 4 | 5 | export UBI_VERSION=9.3 6 | export IMAGE_SUFFIX=_ubi 7 | 8 | export TARGET_IMAGE_TAG=${TARGET_VERSION}${IMAGE_SUFFIX}${UBI_VERSION} 9 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'detect' 2 | 3 | include 'detectable' 4 | include 'detector' 5 | include 'configuration' 6 | include 'common' 7 | include 'common-test' 8 | include 'documentation' 9 | 10 | -------------------------------------------------------------------------------- /shared-version.properties: -------------------------------------------------------------------------------- 1 | gradle.ext.blackDuckCommonVersion='67.0.9' 2 | gradle.ext.springBootVersion='2.7.12' 3 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/ApplicationUpdaterUtility.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect; 2 | 3 | public class ApplicationUpdaterUtility { 4 | protected String getSysEnvProperty(String name) { 5 | return System.getenv(name); 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/configuration/enumeration/BlackduckScanMode.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.configuration.enumeration; 2 | 3 | public enum BlackduckScanMode { 4 | RAPID ("Rapid"), 5 | STATELESS ("Stateless"), 6 | INTELLIGENT ("Intelligent"); 7 | 8 | private final String displayName; 9 | BlackduckScanMode(String name) { 10 | this.displayName = name; 11 | } 12 | 13 | public String displayName() { 14 | return this.displayName; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/configuration/enumeration/DefaultVersionNameScheme.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.configuration.enumeration; 2 | 3 | public enum DefaultVersionNameScheme { 4 | TIMESTAMP, 5 | TEXT 6 | } -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/configuration/enumeration/DetectCategory.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.configuration.enumeration; 2 | 3 | import com.blackduck.integration.configuration.util.Category; 4 | 5 | public class DetectCategory extends Category { 6 | public static final DetectCategory Advanced = new DetectCategory("advanced"); 7 | public static final DetectCategory Simple = new DetectCategory("simple"); 8 | 9 | protected DetectCategory(String name) { 10 | super(name); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/configuration/enumeration/DetectTargetType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.configuration.enumeration; 2 | 3 | public enum DetectTargetType { 4 | SOURCE, 5 | IMAGE 6 | } 7 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/configuration/enumeration/DetectTool.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.configuration.enumeration; 2 | 3 | public enum DetectTool { 4 | DETECTOR, 5 | SIGNATURE_SCAN, 6 | BINARY_SCAN, 7 | IMPACT_ANALYSIS, 8 | DOCKER, 9 | BAZEL, 10 | IAC_SCAN, 11 | CONTAINER_SCAN, 12 | /** 13 | * @deprecated in v10.4.0, will be removed in v11.0.0 14 | */ 15 | @Deprecated 16 | THREAT_INTEL, 17 | COMPONENT_LOCATION_ANALYSIS 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/configuration/validation/DeprecationResult.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.configuration.validation; 2 | 3 | import java.util.Map; 4 | 5 | public class DeprecationResult { 6 | private final Map additionalNotes; 7 | 8 | public DeprecationResult(Map additionalNotes) { 9 | this.additionalNotes = additionalNotes; 10 | } 11 | 12 | public Map getAdditionalNotes() { 13 | return additionalNotes; 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/interactive/reader/InteractiveReader.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.interactive.reader; 2 | 3 | public interface InteractiveReader { 4 | String readLine(); 5 | 6 | String readPassword(); 7 | 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/lifecycle/BlackDuckDuplicateProjectException.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.lifecycle; 2 | 3 | public class BlackDuckDuplicateProjectException extends OperationException { 4 | private static final long serialVersionUID = 1L; 5 | 6 | public BlackDuckDuplicateProjectException(Exception exception) { 7 | super(exception); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/lifecycle/OperationException.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.lifecycle; 2 | 3 | public class OperationException extends Exception { 4 | private static final long serialVersionUID = 1L; 5 | 6 | private final Exception exception; 7 | 8 | public OperationException(Exception exception) { 9 | super(exception); 10 | this.exception = exception; 11 | } 12 | 13 | public Exception getException() { 14 | return exception; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/lifecycle/run/singleton/SingletonLocator.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.lifecycle.run.singleton; 2 | 3 | public class SingletonLocator { 4 | //Combination of Boot/Event/Utility Singletons 5 | 6 | } 7 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/tool/cache/InstalledToolData.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.tool.cache; 2 | 3 | import java.util.Map; 4 | 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | public class InstalledToolData { 8 | @SerializedName("version") 9 | public String version; 10 | @SerializedName("tools") 11 | public Map toolData; 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/tool/detector/executable/ExecutableResolverFunction.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.tool.detector.executable; 2 | 3 | import java.io.File; 4 | 5 | import com.blackduck.integration.detectable.detectable.exception.DetectableException; 6 | 7 | @FunctionalInterface 8 | public interface ExecutableResolverFunction { 9 | File resolve() throws DetectableException; 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/tool/iac/IacScanCodeLocationData.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.tool.iac; 2 | 3 | import java.util.Set; 4 | 5 | public class IacScanCodeLocationData { 6 | private final Set codeLocationNames; 7 | 8 | public IacScanCodeLocationData(Set codeLocationNames) { 9 | this.codeLocationNames = codeLocationNames; 10 | } 11 | 12 | public Set getCodeLocationNames() { 13 | return codeLocationNames; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/tool/iac/IacScanStatus.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.tool.iac; 2 | 3 | import com.blackduck.integration.detect.workflow.status.Status; 4 | import com.blackduck.integration.detect.workflow.status.StatusType; 5 | 6 | public class IacScanStatus extends Status { 7 | public IacScanStatus(String scanTarget, StatusType statusType) { 8 | super(String.format("IaC scan on %s", scanTarget), statusType); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/tool/signaturescanner/enums/ExtendedIndividualFileMatchingMode.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.tool.signaturescanner.enums; 2 | 3 | public enum ExtendedIndividualFileMatchingMode { 4 | NONE 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/tool/signaturescanner/enums/ExtendedReducedPersistanceMode.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.tool.signaturescanner.enums; 2 | 3 | public enum ExtendedReducedPersistanceMode { 4 | DEFAULT 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/tool/signaturescanner/enums/ExtendedSnippetMode.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.tool.signaturescanner.enums; 2 | 3 | public enum ExtendedSnippetMode { 4 | NONE 5 | } -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/tool/signaturescanner/enums/SignatureScanStatusType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.tool.signaturescanner.enums; 2 | 3 | public enum SignatureScanStatusType { 4 | SUCCESS, 5 | FAILURE, 6 | SKIPPED 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/util/DetectEnumUtil.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.util; 2 | 3 | import java.util.Optional; 4 | 5 | public class DetectEnumUtil { 6 | public static > Optional getValueOf(Class enumType, String name) { 7 | try { 8 | return Optional.of(Enum.valueOf(enumType, name)); 9 | } catch (IllegalArgumentException ex) { 10 | return Optional.empty(); 11 | } 12 | } 13 | } 14 | 15 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/util/filter/DetectFilter.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.util.filter; 2 | 3 | public interface DetectFilter { 4 | boolean shouldInclude(String itemName); 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/airgap/AirGapType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.workflow.airgap; 2 | 3 | public enum AirGapType { 4 | FULL, 5 | NO_DOCKER 6 | } 7 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/bdio/CreateBdio2FilesOperation.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/main/java/com/blackduck/integration/detect/workflow/bdio/CreateBdio2FilesOperation.java -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/blackduck/integratedmatching/model/ScanCountsPayload.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.workflow.blackduck.integratedmatching.model; 2 | 3 | import com.blackduck.integration.util.Stringable; 4 | 5 | public class ScanCountsPayload extends Stringable { 6 | private final ScanCounts scanCounts; 7 | 8 | public ScanCountsPayload(ScanCounts scanCounts) { 9 | this.scanCounts = scanCounts; 10 | } 11 | 12 | public ScanCounts getScanCounts() { 13 | return scanCounts; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/blackduck/project/customfields/CustomFieldOperation.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.workflow.blackduck.project.customfields; 2 | 3 | import java.util.List; 4 | 5 | public class CustomFieldOperation { 6 | public final CustomFieldView customField; 7 | public final List values; 8 | 9 | public CustomFieldOperation(CustomFieldView customField, List values) { 10 | this.customField = customField; 11 | this.values = values; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/blackduck/project/options/ProjectGroupOptions.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.workflow.blackduck.project.options; 2 | 3 | public class ProjectGroupOptions { 4 | private final String projectGroup; 5 | 6 | public ProjectGroupOptions(String projectGroup) { 7 | this.projectGroup = projectGroup; 8 | } 9 | 10 | public String getProjectGroup() { 11 | return projectGroup; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/blackduck/project/options/ProjectVersionLicenseOptions.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.workflow.blackduck.project.options; 2 | 3 | public class ProjectVersionLicenseOptions { 4 | private final String licenseName; 5 | 6 | public ProjectVersionLicenseOptions(String licenseName) { 7 | this.licenseName = licenseName; 8 | } 9 | 10 | public String getLicenseName() { 11 | return licenseName; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/blackduck/report/pdf/FontLoader.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.workflow.blackduck.report.pdf; 2 | 3 | import org.apache.pdfbox.pdmodel.PDDocument; 4 | import org.apache.pdfbox.pdmodel.font.PDFont; 5 | 6 | @FunctionalInterface 7 | public interface FontLoader { 8 | PDFont loadFont(PDDocument document); 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/event/EventListener.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.workflow.event; 2 | 3 | public interface EventListener { 4 | void eventOccurred(T event); 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/event/EventType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.workflow.event; 2 | 3 | public class EventType { 4 | 5 | public EventType(Class clazz) { 6 | 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/nameversion/decision/UniqueDetectorNotFoundDecision.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.workflow.nameversion.decision; 2 | 3 | import org.slf4j.Logger; 4 | 5 | public class UniqueDetectorNotFoundDecision extends NameVersionDecision { 6 | @Override 7 | public void printDescription(Logger logger) { 8 | logger.debug("No unique detector was found. Project info could not be found in a detector."); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/phonehome/PhoneHomeOptions.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.workflow.phonehome; 2 | 3 | import java.util.Map; 4 | 5 | public class PhoneHomeOptions { 6 | private final Map passthrough; 7 | 8 | public PhoneHomeOptions(Map passthrough) { 9 | this.passthrough = passthrough; 10 | } 11 | 12 | public Map getPassthrough() { 13 | return passthrough; 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/profiling/DetectorProfiler.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.workflow.profiling; 2 | 3 | import com.blackduck.integration.detect.workflow.event.EventSystem; 4 | 5 | public class DetectorProfiler { //TODO (Detectors): Implement profiling in the new system 6 | 7 | private final EventSystem eventSystem; 8 | 9 | public DetectorProfiler(EventSystem eventSystem) { 10 | this.eventSystem = eventSystem; 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/profiling/Timing.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.workflow.profiling; 2 | 3 | public class Timing { 4 | private final long ms; 5 | private final T key; 6 | 7 | public Timing(T key, long ms) { 8 | this.ms = ms; 9 | this.key = key; 10 | } 11 | 12 | public long getMs() { 13 | return ms; 14 | } 15 | 16 | public T getKey() { 17 | return key; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/report/output/FormattedIssueOutput.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.workflow.report.output; 2 | 3 | import java.util.List; 4 | 5 | public class FormattedIssueOutput { 6 | public final String type; 7 | public final String title; 8 | public final List messages; 9 | 10 | public FormattedIssueOutput(String type, String title, List messages) { 11 | this.type = type; 12 | this.title = title; 13 | this.messages = messages; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/report/output/FormattedStatusOutput.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.workflow.report.output; 2 | 3 | public class FormattedStatusOutput { 4 | public final String key; 5 | public final String status; 6 | 7 | public FormattedStatusOutput(String descriptionKey, String status) { 8 | this.key = descriptionKey; 9 | this.status = status; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/report/writer/ReportWriter.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.workflow.report.writer; 2 | 3 | public interface ReportWriter { 4 | void writeLine(); 5 | 6 | void writeLine(String line); 7 | 8 | void writeLine(String line, Exception e); 9 | 10 | void writeSeparator(); 11 | 12 | void writeHeader(); 13 | 14 | void finish(); 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/result/DetectResult.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.workflow.result; 2 | 3 | import java.util.List; 4 | 5 | public interface DetectResult { 6 | String getResultLocation(); 7 | 8 | String getResultMessage(); 9 | 10 | List getResultSubMessages(); 11 | 12 | List getTransitiveUpgradeGuidanceSubMessages(); 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/status/DetectIssueType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.workflow.status; 2 | 3 | public enum DetectIssueType { 4 | EXCEPTION, 5 | DEPRECATION, 6 | DETECTOR, 7 | SIGNATURE_SCANNER, 8 | BINARY_SCAN, 9 | IMPACT_ANALYSIS, 10 | DETECTABLE_TOOL, 11 | IAC_SCANNER, 12 | PROPERTY_KEY 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/status/DetectorStatus.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.workflow.status; 2 | 3 | import com.blackduck.integration.detector.base.DetectorType; 4 | 5 | public class DetectorStatus extends Status { 6 | public DetectorStatus(DetectorType detectorType, StatusType statusType) { 7 | super(detectorType.toString(), statusType); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/status/OperationType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.workflow.status; 2 | 3 | public enum OperationType { 4 | PUBLIC, //A public operation is ALWAYS present in the Operation Status and Logs 5 | INTERNAL // An internal operation is only logged or visible if it fails, otherwise it is not shown to the user. 6 | } 7 | -------------------------------------------------------------------------------- /src/main/java/com/blackduck/integration/detect/workflow/status/StatusType.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.workflow.status; 2 | 3 | public enum StatusType { 4 | SUCCESS, 5 | FAILURE 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | # Only spring specific properties should be added here. 2 | logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss z} ${LOG_LEVEL_PATTERN:%-6p}[%thread] %clr(---){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:%wEx} 3 | logging.group.detect=com.blackduck.integration 4 | -------------------------------------------------------------------------------- /src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | ______ _ _ 2 | | _ \ | | | | 3 | | | | |___| |_ ___ ___| |_ 4 | | | | / _ \ __/ _ \/ __| __| 5 | | |/ / __/ || __/ (__| |_ 6 | |___/ \___|\__\___|\___|\__| 7 | -------------------------------------------------------------------------------- /src/main/resources/buildInfo.json: -------------------------------------------------------------------------------- 1 | { 2 | "detect": "2.1.0" 3 | } -------------------------------------------------------------------------------- /src/main/resources/doc/docPointingToConfluence/markdown/index.md: -------------------------------------------------------------------------------- 1 | # Documentation 2 | 3 | The Black Duck Detect documentation is located [here](https://documentation.blackduck.com/bundle/detect/page/introduction.html). 4 | -------------------------------------------------------------------------------- /src/main/resources/help-yaml-header.txt: -------------------------------------------------------------------------------- 1 | # Uncomment and update required options. To use this file as your Detect configuration, rename it to application.yml 2 | # and place it in the directory from which you are executing Detect. Default values (where applicable) have been filled 3 | # in for your information. 4 | # Note that property values set through environment variables, on the command line or in a .properties file will take 5 | # precedence over the values here. 6 | ######################################################################################################################## -------------------------------------------------------------------------------- /src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | %d{yyyy-MM-dd HH:mm:ss z} %-5level [%thread] --- %msg%n 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/main/resources/riskreport/images/BlackDuckLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/main/resources/riskreport/images/BlackDuckLogo.png -------------------------------------------------------------------------------- /src/main/resources/riskreport/images/cross_through_circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/main/resources/riskreport/images/cross_through_circle.png -------------------------------------------------------------------------------- /src/test/java/com/blackduck/integration/detect/battery/docker/provider/DockerImageProvider.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.battery.docker.provider; 2 | 3 | import com.github.dockerjava.api.DockerClient; 4 | 5 | public interface DockerImageProvider { 6 | void installImage(String imageName, DockerClient dockerClient) throws InterruptedException; 7 | } 8 | -------------------------------------------------------------------------------- /src/test/java/com/blackduck/integration/detect/battery/util/BdioIssue.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.battery.util; 2 | 3 | public class BdioIssue { 4 | private final String issue; 5 | 6 | BdioIssue(String issue) { 7 | this.issue = issue; 8 | } 9 | 10 | public String getIssue() { 11 | return issue; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/blackduck/integration/detect/battery/util/TestPaths.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.battery.util; 2 | 3 | import java.io.File; 4 | 5 | public class TestPaths { 6 | public static File build() { 7 | return new File(projectRootDirectory(), "build"); 8 | } 9 | 10 | public static File libs() { 11 | return new File(build(), "libs"); 12 | } 13 | 14 | public static File projectRootDirectory() { 15 | return new File("."); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/blackduck/integration/detect/battery/util/executable/BatteryExecutableCreator.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.battery.util.executable; 2 | 3 | import java.io.File; 4 | import java.io.IOException; 5 | import java.util.concurrent.atomic.AtomicInteger; 6 | 7 | import freemarker.template.TemplateException; 8 | 9 | public abstract class BatteryExecutableCreator { 10 | public abstract File createExecutable(int id, BatteryExecutableInfo executableInfo, AtomicInteger commandCount) throws IOException, TemplateException; 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/com/blackduck/integration/detect/file/FileExclusionTest.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.file; 2 | 3 | -------------------------------------------------------------------------------- /src/test/java/com/blackduck/integration/detect/junitextensions/BlackDuck.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.junitextensions; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.PARAMETER) 10 | public @interface BlackDuck { 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/com/blackduck/integration/detect/tool/signaturescanner/BlackDuckSignatureScannerToolTest.java: -------------------------------------------------------------------------------- 1 | package com.blackduck.integration.detect.tool.signaturescanner; 2 | 3 | -------------------------------------------------------------------------------- /src/test/resources/battery-util/bdio-compare/base.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery-util/bdio-compare/base.bdio -------------------------------------------------------------------------------- /src/test/resources/battery-util/bdio-compare/missing_component.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery-util/bdio-compare/missing_component.bdio -------------------------------------------------------------------------------- /src/test/resources/battery-util/bdio-compare/missing_relationship.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery-util/bdio-compare/missing_relationship.bdio -------------------------------------------------------------------------------- /src/test/resources/battery-util/copying-exe.ftl: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | set extractionFolderFull=%${extractionFolderIndex} 4 | set extractionFolder=%extractionFolderFull:~${extractionFolderPrefix?length}% 5 | echo %extractionFolder% 6 | <#list files as file> 7 | move ${file.from} %extractionFolder%/${file.to} 8 | echo "Moved ${file.from} to %extractionFolder%/${file.to}" 9 | -------------------------------------------------------------------------------- /src/test/resources/battery-util/copying-sh.ftl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | EXTRACTION_FOLDER_FULL=$${extractionFolderIndex} 4 | EXTRACTION_FOLDER=`echo ${r"${EXTRACTION_FOLDER_FULL}"} | cut -c${extractionFolderPrefix?length + 1}-` 5 | echo ${r"${EXTRACTION_FOLDER}"} 6 | <#list files as file> 7 | mv ${file.from} "${r"${EXTRACTION_FOLDER}"}/${file.to}" 8 | echo "Moved ${file.from} to ${r"${EXTRACTION_FOLDER}"}/${file.to}" 9 | -------------------------------------------------------------------------------- /src/test/resources/battery-util/exit-code-exe.ftl: -------------------------------------------------------------------------------- 1 | exit ${exitCode} -------------------------------------------------------------------------------- /src/test/resources/battery-util/exit-code-sh.ftl: -------------------------------------------------------------------------------- 1 | exit ${exitCode} -------------------------------------------------------------------------------- /src/test/resources/battery-util/typing-exe.ftl: -------------------------------------------------------------------------------- 1 | @echo off 2 | setlocal enabledelayedexpansion 3 | 4 | for /f %%x in (${dataFile}) do ( 5 | set /a var=%%x 6 | ) 7 | set /a out=%var%+1 8 | 9 | > ${dataFile} echo %out% 10 | 11 | <#list files as file> 12 | set cmd[${file?index}]="${file}" 13 | 14 | 15 | type !cmd[%var%]! -------------------------------------------------------------------------------- /src/test/resources/battery-util/typing-sh.ftl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | INDEX=`cat ${dataFile}` 4 | 5 | <#list files as file> 6 | ARRAY[${file?index}]="${file}" 7 | 8 | 9 | cat ${r"${ARRAY[${INDEX}]}"} 10 | 11 | NEXT_INDEX=$((INDEX+1)) 12 | echo ${r"${NEXT_INDEX}"} > ${dataFile} 13 | -------------------------------------------------------------------------------- /src/test/resources/battery/bazel/haskell-cabal-library-all/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/bazel/haskell-cabal-library-all/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/bazel/haskell-cabal-library-all/empty.xout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/bazel/haskell-cabal-library-all/empty.xout -------------------------------------------------------------------------------- /src/test/resources/battery/bazel/haskell-cabal-library/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/bazel/haskell-cabal-library/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/bazel/http-archive-github/bazel-http-archive-query1.xout: -------------------------------------------------------------------------------- 1 | @bazel_tools//third_party/def_parser:def_parser_lib 2 | @bazel_tools//tools/cpp:malloc 3 | @com_github_gflags_gflags//:gflags 4 | @glog//:glog 5 | -------------------------------------------------------------------------------- /src/test/resources/battery/bazel/http-archive-github/bazel-http-archive-query2_and_3.xout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/test/resources/battery/bazel/http-archive-github/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/bazel/http-archive-github/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/bazel/http-archive-github/empty.xout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/bazel/http-archive-github/empty.xout -------------------------------------------------------------------------------- /src/test/resources/battery/bazel/maven-install-complex/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/bazel/maven-install-complex/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/bazel/maven-install/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/bazel/maven-install/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/bazel/maven-jar/bazel-maven-jar-query1.xout: -------------------------------------------------------------------------------- 1 | @org_apache_commons_commons_io//jar:jar (d534253f7f366fdfbb590befef52e47f) 2 | @com_google_guava_guava//jar:jar (d534253f7f366fdfbb590befef52e47f) 3 | -------------------------------------------------------------------------------- /src/test/resources/battery/bazel/maven-jar/bazel-maven-jar-query2.xout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/test/resources/battery/bazel/maven-jar/bazel-maven-jar-query3.xout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/test/resources/battery/bazel/maven-jar/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/bazel/maven-jar/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/bitbake/excldev/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/bitbake/excldev/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/bitbake/excldev/bitbake-g.xout: -------------------------------------------------------------------------------- 1 | Running bitbake -g... 2 | -------------------------------------------------------------------------------- /src/test/resources/battery/bitbake/excldev/environment.xout: -------------------------------------------------------------------------------- 1 | junk 2 | MACHINE_ARCH="qemux86-64" 3 | morejunk 4 | -------------------------------------------------------------------------------- /src/test/resources/battery/bitbake/excldev/oe-init-build-env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/bitbake/excldev/oe-init-build-env -------------------------------------------------------------------------------- /src/test/resources/battery/bitbake/excldev/pwd.xout: -------------------------------------------------------------------------------- 1 | invaliddir 2 | -------------------------------------------------------------------------------- /src/test/resources/battery/bitbake/full/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/bitbake/full/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/bitbake/full/bitbake-g.xout: -------------------------------------------------------------------------------- 1 | Running bitbake -g... 2 | -------------------------------------------------------------------------------- /src/test/resources/battery/bitbake/full/environment.xout: -------------------------------------------------------------------------------- 1 | junk 2 | MACHINE_ARCH="testarch" 3 | morejunk 4 | -------------------------------------------------------------------------------- /src/test/resources/battery/bitbake/full/oe-init-build-env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/bitbake/full/oe-init-build-env -------------------------------------------------------------------------------- /src/test/resources/battery/bitbake/full/pwd.xout: -------------------------------------------------------------------------------- 1 | invaliddir 2 | -------------------------------------------------------------------------------- /src/test/resources/battery/cocoapods-podlock/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/cocoapods-podlock/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/composer-lock/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/composer-lock/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/conan-cli/conan1-version.xout: -------------------------------------------------------------------------------- 1 | Conan version 1.62.0 -------------------------------------------------------------------------------- /src/test/resources/battery/conan-cli/conan2-version.xout: -------------------------------------------------------------------------------- 1 | Conan version 2.0.14 -------------------------------------------------------------------------------- /src/test/resources/battery/conan-cli/conan2minimal/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/conan-cli/conan2minimal/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/conan-cli/conan2revisionmatch/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/conan-cli/conan2revisionmatch/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/conan-cli/minimal/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/conan-cli/minimal/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/conan-cli/pkgrevonly/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/conan-cli/pkgrevonly/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/conan-cli/withprojectnameversion/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/conan-cli/withprojectnameversion/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/conan-cli/withprojectnameversion/conan-info-withprojectnameversion.xout: -------------------------------------------------------------------------------- 1 | conanfile.py (hello/1.0) 2 | ID: 9580be372e1576f9f4f216a826cd7fcbe9661ae0 3 | BuildID: None 4 | Provides: hello 5 | -------------------------------------------------------------------------------- /src/test/resources/battery/conan-cli/withrevisions/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/conan-cli/withrevisions/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/conan-cli/withuserchannel/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/conan-cli/withuserchannel/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/conan-lock/longform/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/conan-lock/longform/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/conan-lock/shortform/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/conan-lock/shortform/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/conan2-lock/simple/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/conan2-lock/simple/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/conda-list/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/conda-list/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/conda-list/python-inspector.xout: -------------------------------------------------------------------------------- 1 | cate==0.9.0.dev7 2 | numpy==1.14.2 3 | OWSLib==0.16.0 4 | pyproj==1.9.5.1 5 | pandas==0.22.0 6 | numpy==1.14.2 7 | Pillow==5.0.0 8 | psutil==5.4.3 9 | pyproj==1.9.5.1 10 | scipy==1.0.0 11 | numpy==1.14.2 12 | Shapely==1.6.4.post1 13 | tornado==5.0.1 14 | xarray==0.10.2 15 | numpy==1.14.2 16 | pandas==0.22.0 17 | numpy==1.14.2 -------------------------------------------------------------------------------- /src/test/resources/battery/conda-list/python-setup.xout: -------------------------------------------------------------------------------- 1 | cate -------------------------------------------------------------------------------- /src/test/resources/battery/cpanm-lock/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/cpanm-lock/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/cpanm-lock/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "php": ">=7.0.0", 4 | "smarty/smarty": "3.1.31", 5 | "pear/mail_mime": "1.10.0", 6 | "pear/mail": "dev-trunk" 7 | }, 8 | "config": { 9 | "optimize-autoloader": true, 10 | "preferred-install": "dist", 11 | "notify-on-install": false 12 | }, 13 | "minimum-stability": "dev" 14 | } 15 | -------------------------------------------------------------------------------- /src/test/resources/battery/dep-lock/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/dep-lock/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/go-mod/test1/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/go-mod/test1/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/go-mod/test1/go-list.xout: -------------------------------------------------------------------------------- 1 | { 2 | "Path": "github.com/sagikazarmark/modern-go-application", 3 | "Main": true, 4 | "Dir": "/Users/user1/go/modern-go-application", 5 | "GoMod": "/Users/user1/go/modern-go-application/go.mod", 6 | "GoVersion": "1.14" 7 | } 8 | -------------------------------------------------------------------------------- /src/test/resources/battery/go-mod/test1/go-mod-get-main.xout: -------------------------------------------------------------------------------- 1 | github.com/sagikazarmark/modern-go-application 2 | -------------------------------------------------------------------------------- /src/test/resources/battery/go-mod/test1/go-version.xout: -------------------------------------------------------------------------------- 1 | go version go1.15.3 darwin/amd64 2 | -------------------------------------------------------------------------------- /src/test/resources/battery/go-mod/test2/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/go-mod/test2/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/go-mod/test2/go-list.xout: -------------------------------------------------------------------------------- 1 | { 2 | "Path": "example.com/my-main-module", 3 | "Main": true, 4 | "Dir": "/Users/shanty/blackduck/example-source/go/my-main-module", 5 | "GoMod": "/Users/shanty/blackduck/example-source/go/my-main-module/go.mod", 6 | "GoVersion": "1.23.4" 7 | } -------------------------------------------------------------------------------- /src/test/resources/battery/go-mod/test2/go-mod-get-main.xout: -------------------------------------------------------------------------------- 1 | example.com/my-main-module -------------------------------------------------------------------------------- /src/test/resources/battery/go-mod/test2/go-mod-graph.xout: -------------------------------------------------------------------------------- 1 | example.com/my-main-module golang.org/x/moduleB@v0.3.2 2 | example.com/my-main-module rsc.io/moduleA@v3.1.0 3 | example.com/my-main-module rsc.io/moduleC@v1.3.0 4 | golang.org/x/moduleB@v0.3.2 golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e 5 | rsc.io/moduleA@v3.1.0 rsc.io/moduleC@v1.3.0 6 | rsc.io/moduleC@v1.3.0 golang.org/x/moduleB@v0.0.0-20170915032832-14c0d48ead0c 7 | -------------------------------------------------------------------------------- /src/test/resources/battery/go-mod/test2/go-mod-list-directs.xout: -------------------------------------------------------------------------------- 1 | rsc.io/moduleA@v3.1.0 -------------------------------------------------------------------------------- /src/test/resources/battery/go-mod/test2/go-mod-why.xout: -------------------------------------------------------------------------------- 1 | # example.com/my-main-module 2 | example.com/my-main-module 3 | 4 | # golang.org/x/moduleB 5 | example.com/my-main-module 6 | rsc.io/moduleA 7 | rsc.io/moduleC 8 | golang.org/x/moduleB/language 9 | 10 | # golang.org/x/tools 11 | (main module does not need module golang.org/x/tools) 12 | 13 | # rsc.io/moduleA 14 | example.com/my-main-module 15 | rsc.io/moduleA 16 | 17 | # rsc.io/moduleC 18 | example.com/my-main-module 19 | rsc.io/moduleA 20 | rsc.io/moduleC -------------------------------------------------------------------------------- /src/test/resources/battery/go-mod/test2/go-version.xout: -------------------------------------------------------------------------------- 1 | go version go1.23.4 darwin/arm64 -------------------------------------------------------------------------------- /src/test/resources/battery/go-mod/test2/go.mod: -------------------------------------------------------------------------------- 1 | module example.com/my-main-module 2 | 3 | go 1.23.4 4 | 5 | require rsc.io/moduleA v3.1.0 6 | 7 | require ( 8 | golang.org/x/moduleB v0.3.2 // indirect 9 | rsc.io/moduleC v1.3.0 // indirect 10 | ) -------------------------------------------------------------------------------- /src/test/resources/battery/go-mod/test3/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/go-mod/test3/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/go-mod/test3/go-list.xout: -------------------------------------------------------------------------------- 1 | { 2 | "Path": "my-main-module", 3 | "Main": true, 4 | "Dir": "/Users/shanty/blackduck/example-source/go/my-main-module", 5 | "GoMod": "/Users/shanty/blackduck/example-source/go/my-main-module/go.mod", 6 | "GoVersion": "1.23.4" 7 | } -------------------------------------------------------------------------------- /src/test/resources/battery/go-mod/test3/go-mod-get-main.xout: -------------------------------------------------------------------------------- 1 | example.com/my-main-module -------------------------------------------------------------------------------- /src/test/resources/battery/go-mod/test3/go-mod-list-directs.xout: -------------------------------------------------------------------------------- 1 | github.com/spf13/viper@v1.8.1 2 | k8s.io/apiextensions-apiserver@v0.23.1 -------------------------------------------------------------------------------- /src/test/resources/battery/go-mod/test3/go-version.xout: -------------------------------------------------------------------------------- 1 | go version go1.23.4 darwin/arm64 -------------------------------------------------------------------------------- /src/test/resources/battery/go-mod/test3/go.mod: -------------------------------------------------------------------------------- 1 | module example.com/my-main-module 2 | 3 | go 1.23.4 4 | 5 | require rsc.io/moduleA v3.1.0 6 | 7 | require ( 8 | golang.org/x/moduleB v0.3.2 // indirect 9 | rsc.io/moduleC v1.3.0 // indirect 10 | ) -------------------------------------------------------------------------------- /src/test/resources/battery/go_vndr-lock/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/go_vndr-lock/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/gradle-detect-on-detect/GRADLE-0/rootProjectMetadata.txt.ftl: -------------------------------------------------------------------------------- 1 | DETECT META DATA START 2 | rootProjectDirectory:${sourcePath?replace("\\", "/")} 3 | rootProjectGroup:com.synopsys.integration 4 | rootProjectName:synopsys-detect 5 | rootProjectVersion:7.5.0-SNAPSHOT 6 | DETECT META DATA END 7 | -------------------------------------------------------------------------------- /src/test/resources/battery/gradle-detect-on-detect/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/gradle-detect-on-detect/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/gradle-inspector/GRADLE-0/rootProjectMetadata.txt: -------------------------------------------------------------------------------- 1 | DETECT META DATA START 2 | rootProjectGroup:com.blackducksoftware.test 3 | rootProjectName:linux-gradle 4 | rootProjectVersion:0.1 5 | DETECT META DATA END -------------------------------------------------------------------------------- /src/test/resources/battery/gradle-inspector/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/gradle-inspector/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/maven-cli/inconsistent-definitions/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/maven-cli/inconsistent-definitions/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/maven-cli/simple/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/maven-cli/simple/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/npm-packagelock/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/npm-packagelock/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/packrat-lock/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/packrat-lock/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/packrat-lock/packrat.lock: -------------------------------------------------------------------------------- 1 | PackratFormat: 1.4 2 | PackratVersion: 0.4.8.1 3 | RVersion: 3.4.1 4 | Repos: CRAN=http://cran.rstudio.com/ 5 | 6 | Package: DBI 7 | Source: CRAN 8 | Version: 1.0.0 9 | 10 | Package: RJDBC 11 | Source: CRAN 12 | Version: 0.2-7.1 13 | Requires: DBI, rJava 14 | 15 | Package: packrat 16 | Source: CRAN 17 | Version: 0.4.8-1 18 | Hash: 6ad605ba7b4b476d84be6632393f5765 19 | 20 | Package: rJava 21 | Source: CRAN 22 | Version: 0.9-11 23 | -------------------------------------------------------------------------------- /src/test/resources/battery/pear-cli/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/pear-cli/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/pear-cli/pear-list.xout: -------------------------------------------------------------------------------- 1 | INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET: 2 | ========================================= 3 | PACKAGE VERSION STATE 4 | Archive_Tar 1.4.3 stable 5 | Console_Getopt 1.4.1 stable 6 | PEAR 1.9.5 stable 7 | Structures_Graph 1.0.4 stable 8 | XML_Util 1.2.3 stable -------------------------------------------------------------------------------- /src/test/resources/battery/pear-cli/pear-package.xout: -------------------------------------------------------------------------------- 1 | DEPENDENCIES FOR HTTP 2 | ===================== 3 | REQUIRED? TYPE NAME VERSIONING GROUP 4 | Yes Php (version >= 4.0.6) 5 | Yes Pear Installer (version >= 1.7.1) 6 | Yes Package pear/PEAR 7 | Yes Extension pcre -------------------------------------------------------------------------------- /src/test/resources/battery/pip-cli/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/pip-cli/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/pip-cli/pip-name.xout: -------------------------------------------------------------------------------- 1 | fastentrypoints 2 | thefuck -------------------------------------------------------------------------------- /src/test/resources/battery/pipenv-cli-projectonly/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/pipenv-cli-projectonly/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/pipenv-cli/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/pipenv-cli/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/pipenv-cli/pip-freeze.xout: -------------------------------------------------------------------------------- 1 | dj-database-url==0.5.0 2 | Django==2.2.7 3 | django-configurations==2.1 4 | django-debug-toolbar==2.0 5 | django-extensions==2.2.5 6 | gunicorn==20.0.0 7 | psycopg2-binary==2.8.4 8 | pytz==2019.3 9 | six==1.13.0 10 | sqlparse==0.3.0 11 | Werkzeug==0.16.0 12 | whitenoise==4.1.4 13 | -------------------------------------------------------------------------------- /src/test/resources/battery/rubygems-circular-lock/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/rubygems-circular-lock/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/rubygems-lock/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/rubygems-lock/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/rubygems-versionless-lock/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/rubygems-versionless-lock/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/sbt-dot-multipleprojectnode/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/sbt-dot-multipleprojectnode/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/sbt-dot-multipleprojectnode/dots.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/sbt-dot-multipleprojectnode/dots.zip -------------------------------------------------------------------------------- /src/test/resources/battery/sbt-dot/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/sbt-dot/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/sbt-dot/dots.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/sbt-dot/dots.zip -------------------------------------------------------------------------------- /src/test/resources/battery/sbt-resolutioncache/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/sbt-resolutioncache/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/sbt-resolutioncache/target.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/sbt-resolutioncache/target.zip -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-lock/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/yarn/yarn-lock/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-lock/mock/cmd-0.txt: -------------------------------------------------------------------------------- 1 | https://github.com/babel/babel -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-lock/mock/cmd-1.txt: -------------------------------------------------------------------------------- 1 | master -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-lock/mock/exe-0.dat: -------------------------------------------------------------------------------- 1 | 0 -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-workspaces-berry/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/yarn/yarn-workspaces-berry/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-workspaces-excludedev/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/yarn/yarn-workspaces-excludedev/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-workspaces-excludedev/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "simple", 3 | "version": "1.0.0", 4 | "private": true, 5 | "workspaces": { 6 | "packages": [ 7 | "workspace-a", 8 | "workspace-b", 9 | "workspace-c" 10 | ] 11 | }, 12 | "dependencies": { 13 | "workspace-b": "1.0.0" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-workspaces-excludedev/workspace-a/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace-a", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "cross-env": "5.0.5" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-workspaces-excludedev/workspace-b/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace-b", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "cross-env": "5.0.5", 6 | "workspace-a": "1.0.0" 7 | }, 8 | "devDependencies": { 9 | "@types/jest": "^24.0.25", 10 | "workspace-c": "1.0.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-workspaces-excludedev/workspace-c/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace-c", 3 | "version": "1.0.0", 4 | "devDependencies": { 5 | "@types/sql.js": "^1", 6 | "sql.js": "1.4.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-workspaces-simple-allworkspaces/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/yarn/yarn-workspaces-simple-allworkspaces/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-workspaces-simple-allworkspaces/mypkgs/workspace-a/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace-a", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "cross-env": "5.0.5", 6 | "eslint": "^6.8.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-workspaces-simple-allworkspaces/mypkgs/workspace-b/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace-b", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "cross-env": "5.0.5", 6 | "workspace-a": "1.0.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-workspaces-simple-allworkspaces/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "simple", 3 | "version": "1.0.0", 4 | "workspaces": { 5 | "packages": [ 6 | "mypkgs/*" 7 | ] 8 | }, 9 | "dependencies": { 10 | "semver": "^7.3.4", 11 | "workspace-b": "1.0.0" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-workspaces-simple-selectwksp/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/yarn/yarn-workspaces-simple-selectwksp/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-workspaces-simple-selectwksp/mypkgs/workspace-a/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace-a", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "cross-env": "5.0.5", 6 | "eslint": "^6.8.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-workspaces-simple-selectwksp/mypkgs/workspace-b/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace-b", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "cross-env": "5.0.5", 6 | "workspace-a": "1.0.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-workspaces-simple-selectwksp/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "simple", 3 | "version": "1.0.0", 4 | "workspaces": { 5 | "packages": [ 6 | "mypkgs/*" 7 | ] 8 | }, 9 | "dependencies": { 10 | "semver": "^7.3.4", 11 | "workspace-b": "1.0.0" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-workspaces-simple/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/yarn/yarn-workspaces-simple/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-workspaces-simple/mypkgs/workspace-a/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace-a", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "cross-env": "5.0.5", 6 | "eslint": "^6.8.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-workspaces-simple/mypkgs/workspace-b/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace-b", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "cross-env": "5.0.5", 6 | "workspace-a": "1.0.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn-workspaces-simple/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "simple", 3 | "version": "1.0.0", 4 | "workspaces": { 5 | "packages": [ 6 | "mypkgs/*" 7 | ] 8 | }, 9 | "dependencies": { 10 | "semver": "^7.3.4", 11 | "workspace-b": "1.0.0" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn1-workspaces-workspacedep/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/yarn/yarn1-workspaces-workspacedep/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn1-workspaces-workspacedep/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "simple", 3 | "version": "1.0.0", 4 | "private": true, 5 | "workspaces": { 6 | "packages": [ "workspace-a", "workspace-b" ] 7 | }, 8 | "dependencies": { 9 | "workspace-b": "1.0.0" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn1-workspaces-workspacedep/workspace-a/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace-a", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "cross-env": "5.0.5" 6 | }, 7 | "devDependencies": { 8 | "@types/jest": "^24.0.25" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn1-workspaces-workspacedep/workspace-b/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace-b", 3 | "version": "1.0.0", 4 | 5 | "dependencies": { 6 | "cross-env": "5.0.5", 7 | "workspace-a": "1.0.0" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn1-workspaces/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/yarn/yarn1-workspaces/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn1-workspaces/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "workspaces": { 4 | "packages": [ "workspace-a", "workspace-b" ] 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn1-workspaces/workspace-a/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace-a", 3 | "version": "1.0.0", 4 | 5 | "dependencies": { 6 | "cross-env": "5.0.5" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn1-workspaces/workspace-b/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace-b", 3 | "version": "1.0.0", 4 | 5 | "dependencies": { 6 | "cross-env": "5.0.5", 7 | "workspace-a": "1.0.0" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-hierarchical-monorepo/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/yarn/yarn2-hierarchical-monorepo/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-hierarchical-monorepo/nondep-workspace/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nondep-workspace", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "eslint": "^6.8.0" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-hierarchical-monorepo/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hier", 3 | "version": "mynewversion", 4 | "dependencies": { 5 | "workspace-a": "^1.0.0" 6 | }, 7 | "workspaces": { 8 | "packages": [ 9 | "workspace-a", 10 | "nondep-workspace" 11 | ] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-hierarchical-monorepo/workspace-a/child-workspace/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "child-workspace", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "openssl": "^1.1.0" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-hierarchical-monorepo/workspace-a/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace-a", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "child-workspace": "^1.0.0" 6 | }, 7 | "workspaces": { 8 | "packages": [ 9 | "child-workspace" 10 | ] 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-lock/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/yarn/yarn2-lock/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-lock/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "yarn2", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "license": "MIT", 6 | "dependencies": { 7 | "openssl": "^1.1.0" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-unnamed-workspaces/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/yarn/yarn2-unnamed-workspaces/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-unnamed-workspaces/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "simple", 3 | "version": "1.0.0", 4 | "private": true, 5 | "workspaces": { 6 | "packages": [ 7 | "workspaces/*" 8 | ] 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-unnamed-workspaces/workspace-a/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace-a", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "cross-env": "5.0.5" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-unnamed-workspaces/workspace-b/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace-b", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "cross-env": "5.0.5", 6 | "workspace-a": "1.0.0" 7 | }, 8 | "devDependencies": { 9 | "@types/jest": "^24.0.25" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-unnamed-workspaces/workspace-c/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "@types/jest": "^24.0.25" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-unnamed-workspaces/workspace-d/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "cross-env": "5.0.5" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-unnamed-workspaces/workspaces/workspace-a/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace-a", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "cross-env": "5.0.5" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-unnamed-workspaces/workspaces/workspace-b/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace-b", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "cross-env": "5.0.5" 6 | }, 7 | "devDependencies": { 8 | "@types/jest": "^24.0.25" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-unnamed-workspaces/workspaces/workspace-c/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "@types/jest": "^24.0.25" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-unnamed-workspaces/workspaces/workspace-d/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "cross-env": "5.0.5" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-workspace-hierarchy-exclude/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/yarn/yarn2-workspace-hierarchy-exclude/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-workspace-hierarchy-exclude/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hier", 3 | "dependencies": { 4 | "workspace-a": "^1.0.0" 5 | }, 6 | "workspaces": { 7 | "packages": [ 8 | "workspace-a" 9 | ] 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-workspace-hierarchy-exclude/workspace-a/child-workspace/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "child-workspace", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "openssl": "^1.1.0" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-workspace-hierarchy-exclude/workspace-a/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace-a", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "child-workspace": "^1.0.0" 6 | }, 7 | "workspaces": { 8 | "packages": [ 9 | "child-workspace" 10 | ] 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-workspace-hierarchy/bdio/battery.bdio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/battery/yarn/yarn2-workspace-hierarchy/bdio/battery.bdio -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-workspace-hierarchy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hier", 3 | "dependencies": { 4 | "workspace-a": "^1.0.0" 5 | }, 6 | "workspaces": { 7 | "packages": [ 8 | "workspace-a" 9 | ] 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-workspace-hierarchy/workspace-a/child-workspace/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "child-workspace", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "openssl": "^1.1.0" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/test/resources/battery/yarn/yarn2-workspace-hierarchy/workspace-a/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace-a", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "child-workspace": "^1.0.0" 6 | }, 7 | "workspaces": { 8 | "packages": [ 9 | "child-workspace" 10 | ] 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/test/resources/docker/CPM_multiple_propsfile.dockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/dotnet/sdk:7.0 2 | 3 | ENV SRC_DIR=/opt/project/src 4 | 5 | RUN apt-get update 6 | 7 | # Install java 8 | RUN mkdir -p /usr/share/man/man1/ 9 | # Above due to: https://github.com/geerlingguy/ansible-role-java/issues/64 10 | RUN apt-get install -y openjdk-11-jre 11 | 12 | # Install git 13 | RUN apt-get install -y git 14 | 15 | # Set up the test project 16 | RUN mkdir -p ${SRC_DIR} 17 | WORKDIR ${SRC_DIR} 18 | RUN git clone --depth 1 https://github.com/unoplatform/uno.toolkit.ui.git ${SRC_DIR} 19 | -------------------------------------------------------------------------------- /src/test/resources/docker/CPM_standard.dockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/dotnet/sdk:7.0 2 | 3 | ENV SRC_DIR=/opt/project/src 4 | 5 | RUN apt-get update 6 | 7 | # Install java 8 | RUN mkdir -p /usr/share/man/man1/ 9 | # Above due to: https://github.com/geerlingguy/ansible-role-java/issues/64 10 | RUN apt-get install -y openjdk-11-jre 11 | 12 | # Install git 13 | RUN apt-get install -y git 14 | 15 | # Set up the test project 16 | RUN mkdir -p ${SRC_DIR} 17 | WORKDIR ${SRC_DIR} 18 | RUN git clone --depth 1 https://github.com/microsoft/CsWin32.git ${SRC_DIR} 19 | -------------------------------------------------------------------------------- /src/test/resources/docker/Dart.dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bookworm-20240110-slim 2 | 3 | RUN apt-get update && apt-get -y install wget unzip openjdk-17-jdk 4 | 5 | RUN wget https://storage.googleapis.com/dart-archive/channels/stable/release/3.5.0/linux_packages/dart_3.5.0-1_amd64.deb 6 | 7 | RUN dpkg -i dart_3.5.0-1_amd64.deb 8 | 9 | # Do not change SRC_DIR, value is expected by tests 10 | ENV SRC_DIR=/opt/project/src 11 | 12 | # Set up the test project 13 | RUN mkdir -p ${SRC_DIR} 14 | 15 | RUN dart create ${SRC_DIR} --force 16 | -------------------------------------------------------------------------------- /src/test/resources/docker/Detect-7.1.0.dockerfile: -------------------------------------------------------------------------------- 1 | FROM gradle:6.9-jdk11 2 | 3 | # Do not change SRC_DIR, value is expected by tests 4 | ENV SRC_DIR=/opt/project/src 5 | ENV JAVA_TOOL_OPTIONS="-Dhttps.protocols=TLSv1.2" 6 | 7 | USER root 8 | 9 | # Install git 10 | RUN apt-get update 11 | RUN apt-get install -y git 12 | 13 | # Set up the test project 14 | RUN mkdir -p ${SRC_DIR} 15 | 16 | RUN git clone --depth 1 -b 7.1.0 https://github.com/blackducksoftware/detect ${SRC_DIR} 17 | 18 | RUN cd ${SRC_DIR} \ 19 | && ./gradlew build -------------------------------------------------------------------------------- /src/test/resources/docker/Detect-9.8.0.dockerfile: -------------------------------------------------------------------------------- 1 | FROM gradle:7.3.1-jdk11 2 | 3 | # Do not change SRC_DIR, value is expected by tests 4 | ENV SRC_DIR=/opt/project/src 5 | ENV JAVA_TOOL_OPTIONS="-Dhttps.protocols=TLSv1.2" 6 | 7 | USER root 8 | 9 | # Install git 10 | RUN apt-get update 11 | RUN apt-get install -y git 12 | 13 | # Set up the test project 14 | RUN mkdir -p ${SRC_DIR} 15 | 16 | RUN git clone --depth 1 -b 9.8.z https://github.com/blackducksoftware/detect ${SRC_DIR} 17 | 18 | RUN cd ${SRC_DIR} \ 19 | && ./gradlew build \ -------------------------------------------------------------------------------- /src/test/resources/docker/EmptyLinux.dockerfile: -------------------------------------------------------------------------------- 1 | FROM adoptopenjdk/maven-openjdk11 -------------------------------------------------------------------------------- /src/test/resources/docker/GradleRichVersions.dockerfile: -------------------------------------------------------------------------------- 1 | FROM gradle:8.2.1-jdk11 2 | 3 | ARG artifactory_url 4 | 5 | # Do not change SRC_DIR, value is expected by tests 6 | ENV SRC_DIR=/opt/project/src 7 | 8 | ENV JAVA_TOOL_OPTIONS="-Dhttps.protocols=TLSv1.2" 9 | 10 | # Set up the test project 11 | RUN mkdir -p ${SRC_DIR} 12 | 13 | RUN wget ${artifactory_url}/artifactory/detect-generic-qa-local/gradle-rich-versions-project.zip 14 | RUN unzip gradle-rich-versions-project.zip -d /opt/project/src 15 | RUN rm gradle-rich-versions-project.zip 16 | 17 | RUN cd ${SRC_DIR} -------------------------------------------------------------------------------- /src/test/resources/docker/Impact.dockerfile: -------------------------------------------------------------------------------- 1 | FROM adoptopenjdk/maven-openjdk11 2 | 3 | # Do not change SRC_DIR, value is expected by tests 4 | ENV SRC_DIR=/opt/project/src 5 | 6 | # Install git 7 | RUN apt-get update 8 | RUN apt-get install -y git 9 | 10 | # Set up the test project 11 | RUN mkdir -p ${SRC_DIR} 12 | 13 | RUN git clone --depth 1 https://github.com/oktadev/example-maven-plugin ${SRC_DIR} 14 | 15 | RUN cd ${SRC_DIR} \ 16 | && mvn clean install -------------------------------------------------------------------------------- /src/test/resources/docker/ImpactAnalysis_ASMErrorMaven.dockerfile: -------------------------------------------------------------------------------- 1 | FROM maven:3-eclipse-temurin-17 2 | 3 | # Do not change SRC_DIR, value is expected by tests 4 | ENV SRC_DIR=/opt/project/src 5 | 6 | # Install git 7 | RUN apt-get update 8 | RUN apt-get install -y git 9 | 10 | # Set up the test project 11 | RUN mkdir -p ${SRC_DIR} 12 | RUN git clone --depth 1 https://github.com/webgoat/webgoat.git ${SRC_DIR} 13 | RUN cd ${SRC_DIR} \ 14 | && mvn clean compile -DskipTests -------------------------------------------------------------------------------- /src/test/resources/docker/MavenJunitBuildless.dockerfile: -------------------------------------------------------------------------------- 1 | FROM maven:3-openjdk-8-slim 2 | 3 | # Do not change SRC_DIR, value is expected by tests 4 | ENV SRC_DIR=/opt/project/src 5 | 6 | # Install git 7 | RUN apt-get update 8 | RUN apt-get install -y git 9 | 10 | # Set up the test project 11 | RUN mkdir -p ${SRC_DIR} 12 | 13 | RUN git clone --depth 1 -b r4.13.2 https://github.com/junit-team/junit4.git ${SRC_DIR} 14 | 15 | RUN cd ${SRC_DIR} -------------------------------------------------------------------------------- /src/test/resources/docker/MavenShadedDependencies.dockerfile: -------------------------------------------------------------------------------- 1 | FROM maven:3.9.9-eclipse-temurin-17 2 | 3 | # Do not change SRC_DIR, value is expected by tests 4 | ENV SRC_DIR=/opt/project/src 5 | 6 | # Install git 7 | RUN apt-get update 8 | RUN apt-get install -y git 9 | 10 | # Set up the test project 11 | RUN mkdir -p ${SRC_DIR} 12 | 13 | RUN git clone --depth 1 https://github.com/crate/crate.git ${SRC_DIR} 14 | 15 | RUN cd ${SRC_DIR} -------------------------------------------------------------------------------- /src/test/resources/docker/OpamLockFileTest.dockerfile: -------------------------------------------------------------------------------- 1 | FROM openjdk:8-jdk 2 | 3 | ARG ARTIFACTORY_URL 4 | 5 | RUN apt update \ 6 | && apt install -y vim 7 | 8 | RUN apt-get install -y git bash wget unzip 9 | 10 | ENV SRC_DIR=/opt/project/src 11 | 12 | ENV JAVA_TOOL_OPTIONS="-Dhttps.protocols=TLSv1.2" 13 | 14 | RUN mkdir -p ${SRC_DIR} 15 | 16 | RUN wget ${ARTIFACTORY_URL}/artifactory/detect-generic-qa-local/opam-monorepo.zip 17 | RUN unzip opam-monorepo.zip -d /opt/project/src 18 | RUN rm opam-monorepo.zip 19 | 20 | RUN cd ${SRC_DIR} -------------------------------------------------------------------------------- /src/test/resources/docker/SimpleGradle.dockerfile: -------------------------------------------------------------------------------- 1 | FROM gradle:5.2.0-jdk8-slim 2 | 3 | # Do not change SRC_DIR, value is expected by tests 4 | ENV SRC_DIR=/opt/project/src 5 | ENV JAVA_TOOL_OPTIONS="-Dhttps.protocols=TLSv1.2" 6 | 7 | USER root 8 | 9 | # Install git 10 | RUN apt-get update 11 | RUN apt-get install -y git 12 | 13 | # Set up the test project 14 | RUN mkdir -p ${SRC_DIR} 15 | 16 | RUN git clone --depth 1 https://github.com/jabedhasan21/java-hello-world-with-gradle ${SRC_DIR} 17 | 18 | RUN cd ${SRC_DIR} \ 19 | && ./gradlew build -------------------------------------------------------------------------------- /src/test/resources/docker/SimpleGradle_7_6.dockerfile: -------------------------------------------------------------------------------- 1 | FROM gradle:7.6-jdk11 2 | 3 | # Do not change SRC_DIR, value is expected by tests 4 | ENV SRC_DIR=/opt/project/src 5 | 6 | ENV JAVA_TOOL_OPTIONS="-Dhttps.protocols=TLSv1.2" 7 | 8 | 9 | # Install git 10 | RUN apt-get update && apt-get install -y git 11 | 12 | # Set up the test project 13 | RUN mkdir -p ${SRC_DIR} 14 | 15 | 16 | RUN git clone --depth 1 https://github.com/jabedhasan21/java-hello-world-with-gradle ${SRC_DIR} 17 | 18 | RUN cd ${SRC_DIR} && gradle build -------------------------------------------------------------------------------- /src/test/resources/docker/SimpleGradle_8_2.dockerfile: -------------------------------------------------------------------------------- 1 | FROM gradle:8.2.1-jdk11 2 | 3 | # Do not change SRC_DIR, value is expected by tests 4 | ENV SRC_DIR=/opt/project/src 5 | 6 | ENV JAVA_TOOL_OPTIONS="-Dhttps.protocols=TLSv1.2" 7 | 8 | 9 | # Install git 10 | RUN apt-get update && apt-get install -y git 11 | 12 | # Set up the test project 13 | RUN mkdir -p ${SRC_DIR} 14 | 15 | 16 | RUN git clone --depth 1 https://github.com/atiqzaman-dsi/simple-gradle.git ${SRC_DIR} 17 | 18 | RUN cd ${SRC_DIR} && gradle build -------------------------------------------------------------------------------- /src/test/resources/docker/SimpleMaven.dockerfile: -------------------------------------------------------------------------------- 1 | FROM maven:3-openjdk-8-slim 2 | 3 | # Install git 4 | RUN apt-get update 5 | RUN apt-get install -y git 6 | 7 | # Set up the test project 8 | RUN mkdir -p /opt/project 9 | 10 | RUN cd /opt/project \ 11 | && git clone --depth 1 https://github.com/pdurbin/maven-hello-world 12 | 13 | RUN mv /opt/project/maven-hello-world/my-app /opt/project/src 14 | 15 | RUN cd /opt/project/src \ 16 | && mvn compile -------------------------------------------------------------------------------- /src/test/resources/lifecycle/autonomous/post-run-scan-settings/a0678131-f7df-358f-814d-9b99e36906e4.json: -------------------------------------------------------------------------------- 1 | { 2 | "globalDetectProperties": {}, 3 | "detectorTypes": [], 4 | "scanTypes": [] 5 | } -------------------------------------------------------------------------------- /src/test/resources/lifecycle/autonomous/sample-project/only-binary/7z2406-x64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/lifecycle/autonomous/sample-project/only-binary/7z2406-x64.exe -------------------------------------------------------------------------------- /src/test/resources/lifecycle/autonomous/sample-project/text-and-binary/deploy/7z2406-x64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/lifecycle/autonomous/sample-project/text-and-binary/deploy/7z2406-x64.exe -------------------------------------------------------------------------------- /src/test/resources/pip/README.txt: -------------------------------------------------------------------------------- 1 | Currently example-requirements.txt and other-requirements.txt exist only as manual testing files. 2 | They should eventually be used as a functional test of the pip inspector's python code. 3 | -rotte JAN 2021 -------------------------------------------------------------------------------- /src/test/resources/pip/other-requirements.txt: -------------------------------------------------------------------------------- 1 | Sphinx -------------------------------------------------------------------------------- /src/test/resources/tool/cache/detect-installed-tools.json: -------------------------------------------------------------------------------- 1 | { 2 | "tools": { 3 | "docker-inspector": "src/test/resources/tool/cache/dummyTool.txt", 4 | "nuget-inspector": "/Users/crowley/nuget", 5 | "project-inspector": "/Users/crowley/project" 6 | } 7 | } -------------------------------------------------------------------------------- /src/test/resources/tool/cache/dummyTool.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/tool/cache/dummyTool.txt -------------------------------------------------------------------------------- /src/test/resources/tool/container.scan/testImage.tar: -------------------------------------------------------------------------------- 1 | testImage tar file -------------------------------------------------------------------------------- /src/test/resources/tool/container.scan/testImageDownloaded.tar: -------------------------------------------------------------------------------- 1 | testImage tar file -------------------------------------------------------------------------------- /src/test/resources/tool/detector/inspector/projectinspector/installer/project-inspector-fake.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blackducksoftware/detect/905b51cac3d0dcf3ea3c76105057234011f6f208/src/test/resources/tool/detector/inspector/projectinspector/installer/project-inspector-fake.zip -------------------------------------------------------------------------------- /src/test/resources/workflow/status/expectedDebugStatusLoggerOutput.txt: -------------------------------------------------------------------------------- 1 | === Additional Information === 2 | 3 | ====== Detect Operations ====== 4 | 5 | description 1: SUCCESS 6 | description 2: FAILURE 7 | 8 | =============================== 9 | 10 | --------------------------------------------------------------------------------