private String buildSpecFilesList()

in src/main/java/org/apache/netbeans/nbpackage/rpm/RpmTask.java [315:339]


    private String buildSpecFilesList(Path image) throws IOException {
        var builds = FileUtils.find(image, "BUILDROOT/*");
        if (builds.size() != 1) {
            throw new IOException(builds.toString());
        }
        var root = builds.get(0);
        // @TODO support other installation bases
        var appParent = root.resolve("usr").resolve("lib");
        try (var stream = Files.find(root, Integer.MAX_VALUE, (file, attr) -> {
            if (file.equals(root)) {
                return false;
            }
            if (attr.isDirectory()) {
                return file.getParent().equals(appParent);
            } else {
                return !file.startsWith(appParent);
            }
        })) {
            return stream.map(path -> root.relativize(path))
                    .sorted()
                    .map(Path::toString)
                    .map(p -> "/" + p)
                    .collect(Collectors.joining("\n", "", "\n"));
        }
    }