code: public boolean run(boolean compileTimeView, int maxDepth) throws IOException {
          try {
              // parse each packaged module or classpath archive
              if (apiOnly) {
                  finder.parseExportedAPIs(rootArchives.stream());
              } else {
                  finder.parse(rootArchives.stream());
              }
              archives.addAll(rootArchives);
  
              int depth = maxDepth > 0 ? maxDepth : Integer.MAX_VALUE;
  
              // transitive analysis
              if (depth > 1) {
                  if (compileTimeView)
                      transitiveArchiveDeps(depth-1);
                  else
                      transitiveDeps(depth-1);
              }
  
              Set<Archive> archives = archives();
  
              // analyze the dependencies collected
              analyzer.run(archives, finder.locationToArchive());
  
              if (writer != null) {
                  writer.generateOutput(archives, analyzer);
              }
          } finally {
              finder.shutdown();
          }
          return true;
      }
docs: Perform compile-time view or run-time view dependency analysis.
  
  @param compileTimeView
  @param maxDepth  depth of recursive analysis.  depth == 0 if -R is set