docs: public void execute() throws BuildException {
          checkParameters();
          resetFileLists();
          loadRegisteredScriptExtensions();
  
          if (javac != null) jointCompilation = true;
  
          // scan source directories and dest directory to build up
          // compile lists
          String[] list = src.list();
          for (String filename : list) {
              File file = getProject().resolveFile(filename);
              if (!file.exists()) {
                  throw new BuildException("srcdir \"" + file.getPath() + "\" does not exist!", getLocation());
              }
              DirectoryScanner ds = this.getDirectoryScanner(file);
              String[] files = ds.getIncludedFiles();
              scanDir(file, destDir != null ? destDir : file, files);
          }
  
          compile();
          if (updatedProperty != null
                  && taskSuccess
                  && compileList.length != 0) {
              getProject().setNewProperty(updatedProperty, "true");
          }
      }