private void addInputsFromPluginConfigs()

in src/main/java/org/apache/maven/buildcache/checksum/MavenProjectInput.java [529:569]


    private void addInputsFromPluginConfigs(
            Object[] configurationChildren,
            PluginScanConfig scanConfig,
            List<Path> files,
            HashSet<WalkKey> visitedDirs) {
        if (configurationChildren == null) {
            return;
        }

        for (Object configChild : configurationChildren) {
            String tagName = Xpp3DomUtils.getName(configChild);
            String tagValue = Xpp3DomUtils.getValue(configChild);

            if (!scanConfig.accept(tagName)) {
                LOGGER.debug("Skipping property (scan config)): {}, value: {}", tagName, stripToEmpty(tagValue));
                continue;
            }

            LOGGER.debug("Checking xml tag. Tag: {}, value: {}", tagName, stripToEmpty(tagValue));

            addInputsFromPluginConfigs(Xpp3DomUtils.getChildren(configChild), scanConfig, files, visitedDirs);

            final ScanConfigProperties propertyConfig = scanConfig.getTagScanProperties(tagName);
            final String glob = defaultIfEmpty(propertyConfig.getGlob(), dirGlob);
            if ("true".equals(Xpp3DomUtils.getAttribute(configChild, CACHE_INPUT_NAME))) {
                LOGGER.info(
                        "Found tag marked with {} attribute. Tag: {}, value: {}", CACHE_INPUT_NAME, tagName, tagValue);
                startWalk(Paths.get(tagValue), glob, propertyConfig.isRecursive(), files, visitedDirs);
            } else {
                final Path candidate = getPathOrNull(tagValue);
                if (candidate != null) {
                    startWalk(candidate, glob, propertyConfig.isRecursive(), files, visitedDirs);
                    if ("descriptorRef"
                            .equals(tagName)) { // hardcoded logic for assembly plugin which could reference files
                        // omitting .xml suffix
                        startWalk(Paths.get(tagValue + ".xml"), glob, propertyConfig.isRecursive(), files, visitedDirs);
                    }
                }
            }
        }
    }