Program: 28803
Project: 28803
Buggy source:
@Override public void execute() throws MojoExecutionException, MojoFailureException {
  MavenProject rootMavenProject=mavenProject;
  while (rootMavenProject.getParent().getBasedir() != null) {
    rootMavenProject=rootMavenProject.getParent();
  }
  if (mkdocsConfigFile == null) {
    mkdocsConfigFile=new File(rootMavenProject.getBasedir() + File.separator + Constants.MKDOCS_CONFIG_FILE_NAME+ Constants.YAML_FILE_EXTENSION);
  }
  String docGenBasePath;
  if (docGenBaseDirectory != null) {
    docGenBasePath=docGenBaseDirectory.getAbsolutePath();
  }
 else {
    docGenBasePath=rootMavenProject.getBasedir() + File.separator + Constants.DOCS_DIRECTORY;
  }
  if (homePageTemplateFile == null) {
    homePageTemplateFile=new File(rootMavenProject.getBasedir() + File.separator + Constants.README_FILE_NAME+ Constants.MARKDOWN_FILE_EXTENSION);
  }
  if (homePageFileName == null) {
    homePageFileName=Constants.MARKDOWN_HOME_PAGE_TEMPLATE;
  }
  String moduleTargetPath;
  if (moduleTargetDirectory != null) {
    moduleTargetPath=moduleTargetDirectory.getAbsolutePath();
  }
 else {
    moduleTargetPath=mavenProject.getBuild().getDirectory();
  }
  List<NamespaceMetaData> namespaceMetaDataList;
  try {
    namespaceMetaDataList=DocumentationUtils.getExtensionMetaData(moduleTargetPath,mavenProject.getRuntimeClasspathElements(),getLog());
  }
 catch (  DependencyResolutionRequiredException e) {
    throw new MojoFailureException("String_Node_Str",e);
  }
  DocumentationUtils.removeSnapshotAPIDocs(mkdocsConfigFile,docGenBasePath,getLog());
  if (namespaceMetaDataList.size() > 0) {
    DocumentationUtils.updateHomePage(homePageTemplateFile,docGenBasePath,homePageFileName,mkdocsConfigFile,mavenProject.getVersion(),namespaceMetaDataList,getLog());
  }
  DocumentationUtils.deployMkdocsOnGitHubPages(mkdocsConfigFile,mavenProject.getVersion(),getLog());
  DocumentationUtils.updateDocumentationOnGitHub(docGenBasePath,mkdocsConfigFile,mavenProject.getVersion(),getLog());
}

Fixed version (ground truth):
@Override public void execute() throws MojoExecutionException, MojoFailureException {
  MavenProject rootMavenProject=mavenProject;
  while (rootMavenProject.getParent().getBasedir() != null) {
    rootMavenProject=rootMavenProject.getParent();
  }
  if (mkdocsConfigFile == null) {
    mkdocsConfigFile=new File(rootMavenProject.getBasedir() + File.separator + Constants.MKDOCS_CONFIG_FILE_NAME+ Constants.YAML_FILE_EXTENSION);
  }
  String docGenBasePath;
  if (docGenBaseDirectory != null) {
    docGenBasePath=docGenBaseDirectory.getAbsolutePath();
  }
 else {
    docGenBasePath=rootMavenProject.getBasedir() + File.separator + Constants.DOCS_DIRECTORY;
  }
  if (readmeFile == null) {
    readmeFile=new File(rootMavenProject.getBasedir() + File.separator + Constants.README_FILE_NAME+ Constants.MARKDOWN_FILE_EXTENSION);
  }
  DocumentationUtils.removeSnapshotAPIDocs(mkdocsConfigFile,docGenBasePath,getLog());
  DocumentationUtils.deployMkdocsOnGitHubPages(mkdocsConfigFile,mavenProject.getVersion(),getLog());
  DocumentationUtils.updateDocumentationOnGitHub(docGenBasePath,mkdocsConfigFile,readmeFile,mavenProject.getVersion(),getLog());
}