public ScanResult scan()

in doc-architect/doc-architect-core/src/main/java/com/docarchitect/core/scanner/impl/dotnet/NuGetDependencyScanner.java [175:244]


    public ScanResult scan(ScanContext context) {
        log.info("Scanning NuGet dependencies in: {}", context.rootPath());

        List<Dependency> dependencies = new ArrayList<>();
        List<Component> components = new ArrayList<>();
        String sourceComponentId = IdGenerator.generate(context.rootPath().toString());

        Component dotnetProject = new Component(
            sourceComponentId,
            context.rootPath().getFileName().toString(),
            ComponentType.LIBRARY,
            DOTNET_PROJECT_TYPE,
            DOTNET_TECHNOLOGY,
            null,
            Map.of()
        );
        components.add(dotnetProject);

        context.findFiles(CSPROJ_PATTERN).forEach(file -> {
            try {
                parseCsprojFile(file, sourceComponentId, dependencies);
            } catch (IOException e) {
                log.warn("Failed to parse .csproj file: {} - {}", file, e.getMessage());
            }
        });

        context.findFiles(PACKAGES_CONFIG_PATTERN).forEach(file -> {
            try {
                parsePackagesConfig(file, sourceComponentId, dependencies);
            } catch (IOException e) {
                log.warn("Failed to parse packages.config: {} - {}", file, e.getMessage());
            }
        });

        context.findFiles(BUILD_PROPS_PATTERN).forEach(file -> {
            try {
                parseDirectoryBuildProps(file, sourceComponentId, dependencies);
            } catch (IOException e) {
                log.warn("Failed to parse Directory.Build.props: {} - {}", file, e.getMessage());
            }
        });

        context.findFiles(PACKAGES_PROPS_PATTERN).forEach(file -> {
            try {
                parseDirectoryPackagesProps(file, sourceComponentId, dependencies);
            } catch (IOException e) {
                log.warn("Failed to parse Directory.Packages.props: {} - {}", file, e.getMessage());
            }
        });

        context.findFiles(ROOT_PACKAGES_PROPS_PATTERN).forEach(file -> {
            try {
                parseDirectoryPackagesProps(file, sourceComponentId, dependencies);
            } catch (IOException e) {
                log.warn("Failed to parse Directory.Packages.props: {} - {}", file, e.getMessage());
            }
        });

        log.info("Found {} NuGet dependencies", dependencies.size());

        return buildSuccessResult(
            components,
            dependencies,
            List.of(),
            List.of(),
            List.of(),
            List.of(),
            List.of()
        );
    }