public AssemblyFiles getAssemblyFiles(ImageConfiguration imageConfig, String assemblyName, MojoParameters mojoParameters)
        throws MojoExecutionException {

        String name = imageConfig.getName();
        try {
            List<AssemblyConfiguration> assemblyConfigurations = imageConfig.getBuildConfiguration().getAllAssemblyConfigurations();
            AssemblyConfiguration assemblyConfig = assemblyConfigurations.stream().filter(a -> a.getName().equals(assemblyName)).findFirst().orElse(null);

            if (assemblyConfig == null) {
                throw new IllegalArgumentException(String.format("Provided assembly name \"%s\" does not match any configured assemblies.", assemblyName));
            }

            return dockerAssemblyManager.getAssemblyFiles(name, assemblyConfig, mojoParameters, log);
        } catch (InvalidAssemblerConfigurationException | ArchiveCreationException | AssemblyFormattingException e) {
            throw new MojoExecutionException("Cannot extract assembly files for image " + name + ": " + e, e);
        }
    }
Get a mapping of original to destination files which a covered by an assembly. This can be used
to watch the source files for changes in order to update the target (either by recreating a docker image
or by copying it into a running container)

@param imageConfig image config for which to get files. The build- and assembly configuration in this image
                   config must not be null.
@param mojoParameters needed for tracking the assembly
@return mapping of assembly files
@throws MojoExecutionException
src/main/java/io/fabric8/maven/docker/service/ArchiveService.java