code: protected void assembleArchive() throws Exception {
          getLog().info("Assembling " + classifier + " archive");
          
          if (resources != null && !resources.isEmpty()) {
              getLog().info("Copying additional resources.");
              new ResourceProcessor(this, moduleBase, resources).transform();
          }
          
          if (configTemplate != null) {
              getLog().info("Creating config file.");
              configTemplate.addEntry("info", pluginDescriptor.getName(), pluginDescriptor.getVersion(),
                  new Date().toString());
              configTemplate.createFile(stagingDirectory);
          }
          
          try {
              File archive = createArchive();
              
              if ("war".equalsIgnoreCase(mavenProject.getPackaging()) && this.warInclusion) {
                  webappLibDirectory.mkdirs();
                  File webappLibArchive = new File(this.webappLibDirectory, archive.getName());
                  Files.copy(archive, webappLibArchive);
              }
          } catch (Exception e) {
              throw new RuntimeException("Exception occurred assembling archive.", e);
          }
          
      }
docs: Assembles the archive file. Optionally, copies to the war application directory if the
  packaging type is "war".
  
  @throws Exception Unspecified exception.