public static void main()

in src/main/java/org/apache/sling/feature/extension/unpack/impl/converter/Converter.java [58:105]


    public static void main(String[] args) throws Exception {
        if (args.length > 4) {
            ArtifactId id = ArtifactId.fromMvnId(args[0]);

            String name = args[1];
            if (name == null || name.trim().isEmpty()) {
                throw new IllegalStateException("Invalid extension name: " + name);
            }

            File featureFile = new File(args[2]);
            File featureDir = featureFile.getParentFile();
            if (!featureDir.isDirectory() && !featureDir.mkdirs()) {
                throw new IOException("Unable to create target dir: " + featureDir);
            }
            File base = new File(args[3]);
            if (!base.isDirectory() && !base.mkdirs()) {
                throw new IOException("Unable to create base dir: " + base);
            }

            String key = null;
            String value = null;

            List<String> urls = new ArrayList<>();
            for (int i = 4; i < args.length;i++) {
                if (args[i].startsWith("key=")) {
                    key = args[i].substring("key=".length());
                } else if (args[i].startsWith("value=")) {
                    value = args[i].substring("value=".length());
                }
                else{
                    urls.addAll(Arrays.asList(args[i].split(" ")).stream().map(String::trim).filter(((Predicate<String>)String::isEmpty).negate()).collect(Collectors.toList()));
                }
            }

            Predicate<InputStream> check;
            if (key != null && !key.trim().isEmpty() && value != null && !value.trim().isEmpty()) {
                final String keyF = key;
                final String valueF = value;
                check = (stream) -> Unpack.handles(keyF, valueF, stream);
            } else {
                check = inputStream -> true;
            }

            List<String> unhandled = convert(id, name, featureFile, base, check, urls);

            System.out.println(String.join(" ", unhandled));
        }
    }