code: public Map<String, List<File>> build(final String dist, final File dir) throws Exception {
      log.debug("{} aggregators: {}", dist, aggregators);
      aggregators(aggregators, conf);
  
      return buildInternal(dist, dir);
    }
docs: Build assets using the given distribution and write output to the provided directory.
  
  Build process is defined as follow:
  
  1. First, it runs all the aggregators (if any)
  2. Then iterates each fileset and per each file in the fileset it apply the processor pipeline.
  3. Finally, it merge all the files into one file and compressed/optimized if need it.
  
  @param dist Distribution's name (usually dev or dist).
  @param dir Output directory.
  @return Map with fileset name as key and list of generated assets.
  @throws Exception If something goes wrong.