public AssemblyProxyArchiver()

in src/main/java/org/apache/maven/plugins/assembly/archive/archiver/AssemblyProxyArchiver.java [83:126]


    public AssemblyProxyArchiver(
            final String rootPrefix,
            final Archiver delegate,
            final List<ContainerDescriptorHandler> containerDescriptorHandlers,
            final List<FileSelector> extraSelectors,
            final List<ArchiveFinalizer> extraFinalizers,
            final File assemblyWorkDir) {
        this.rootPrefix = rootPrefix;
        this.delegate = delegate;

        assemblyWorkPath = assemblyWorkDir.getAbsolutePath().replace('\\', '/');

        if (!"".equals(rootPrefix) && !rootPrefix.endsWith("/")) {
            this.rootPrefix += "/";
        }

        final List<FileSelector> selectors = new ArrayList<>();

        FinalizerEnabled finalizer = (delegate instanceof FinalizerEnabled) ? (FinalizerEnabled) delegate : null;

        if (containerDescriptorHandlers != null) {
            for (final ContainerDescriptorHandler handler : containerDescriptorHandlers) {
                selectors.add(handler);

                if (finalizer != null) {
                    finalizer.addArchiveFinalizer(handler);
                }
            }
        }

        if (extraSelectors != null) {
            selectors.addAll(extraSelectors);
        }

        if ((extraFinalizers != null) && finalizer != null) {
            for (ArchiveFinalizer extraFinalizer : extraFinalizers) {
                finalizer.addArchiveFinalizer(extraFinalizer);
            }
        }

        if (!selectors.isEmpty()) {
            this.selectors = selectors.toArray(new FileSelector[0]);
        }
    }