 


  <!doctype html>
<!--
 Generated by Apache Maven Doxia  at 2021-10-26  Rendered using Reflow Maven Skin 2.3.0 (http://devacfr.github.io/reflow-maven-skin)
-->
<html  xml:lang="en" lang="en">
        <head>
    <meta charset="UTF-8" />
    <title>Apache OpenMeetings Project &#x2013; Project Plugins</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="description" content="" />
      <meta http-equiv="content-language" content="en" />
                                                        <link href="../css/themes/cerulean/bootstrap.min.css" rel="stylesheet" />
    <link href="../css/fontawesome/all.min.css" rel="stylesheet" />
    <link href="../css/reflow-skin.css" rel="stylesheet" />
    
    <link rel="stylesheet" href="../js/styles/github.min.css" />

    <link href="../css/lightbox.css" rel="stylesheet" />
    <link href="../css/site.css" rel="stylesheet" />
    <link href="../css/print.css" rel="stylesheet" media="print" />
<link rel="stylesheet" href="../css/site.css"/>
        </head> <!-- end : head -->
<body class="page-plugins project-openmeetings-core anchorjs-enabled scrolltop-smooth-enabled m-toc-sidebar-enabled m-toc-sidebar-expanded m-toc-sidebar-autoexpandable toc-sidebar-fixed">
    <nav id="m-top-navbar" class="navbar navbar-expand-lg fixed-top navbar-dark bg-primary">
<div class="container">            <a class="navbar-brand mb-0 h1" href="../index.html">
            <span class="color-highlight">Apache</span> OpenMeetings
            </a>
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#top-navbar-collapse-1" aria-controls="top-navbar-collapse-1" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="top-navbar-collapse-1">
                <ul class="nav navbar-nav ml-auto">
                    <li class="nav-item " ><a  href="../demo.html"  title="Demo"  class="nav-link" >Demo</a></li>
                    <li class="nav-item " ><a  href="../downloads.html"  title="Download"  class="nav-link" >Download</a></li>
                    <li class="nav-item " ><a  href="https://cwiki.apache.org/confluence/display/OPENMEETINGS"  title="Wiki"   class="externalLink nav-link" >Wiki</a></li>
                    <li class="nav-item dropdown">
                <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Parent Project <b class="caret"></b></a>
                        <div class="dropdown-menu">
                            <a href="../index.html" title="Openmeetings"  class="dropdown-item ">Openmeetings</a>
                        </div>
                    </li>
                    <li class="nav-item dropdown">
                <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Project <b class="caret"></b></a>
                        <div class="dropdown-menu">
                            <a href="index.html" title="About"  class="dropdown-item ">About</a>
                            <a href="project-info.html" title="Info"  class="dropdown-item ">Info</a>
                            <a href="summary.html" title="Summary"  class="dropdown-item ">Summary</a>
                            <a href="https://www.apache.org/licenses/" title="License"  class="dropdown-item ">License</a>
                            <a href="dependencies.html" title="Dependencies"  class="dropdown-item ">Dependencies</a>
                            <a href="dependency-convergence.html" title="Dependency Convergence"  class="dropdown-item ">Dependency Convergence</a>
                            <a href="rat-report.html" title="RAT Report"  class="dropdown-item ">RAT Report</a>
                            <a href="apidocs/index.html" title="JavaDoc" target="_blank" class="dropdown-item ">JavaDoc</a>
                        </div>
                    </li>
                </ul><!--/ul.navbar-nav -->
            </div><!--/.nav-collapse -->
</div> <!--/.container -->    </nav> <!--/.navbar -->
    <div class="main-body">
    <div class="header text-light bg-secondary" role="main">
        <div class="container container-fluid">
    <div id="banner" class="header--banner">
        <div class="row m-1">
          <div class="col-md-12">
            <div class="float-left header--banner--left bannerLeft">
                    <a href="../index.html">
            <img class="float-left m-2 img-fluid" src="../images/logo.png" alt="Apache OpenMeetings" />
            </a>
            </div>
            <div class="float-right header--banner--right bannerRight">
                    <a href="https://apache.org">
            <img class="float-left m-2 img-fluid" src="https://apache.org/img/asf_logo.png" alt="Apache" />
            </a>
            </div>
          </div>
        </div>
    </div>
        </div>
    </div> <!-- end : header -->
    <div class="row mt-5">
        <div class="d-xs-none d-sm-none d-md-none d-lg-block col-lg-2">
        </div>
        <main class="col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-8" role="main">
    <nav aria-label="breadcrumb">
        <ol class="breadcrumb">
            <li class="publishDate version-date">    Last Published: 2021-10-26</li>
        </ol>
    </nav>
                    <section> 
 <div class="page-header">
  <h2 id="project-build-plugins">Project Build Plugins</h2>
 </div> 
 <a name="Project_Build_Plugins"></a> 
 <table border="0" class="bodyTable table table-striped table-hover"> 
  <thead> 
   <tr class="a"> 
    <th>GroupId</th> 
    <th>ArtifactId</th> 
    <th>Version</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr class="b"> 
    <td>de.thetaphi</td> 
    <td><a class="externalLink" href="https://github.com/policeman-tools/forbidden-apis">forbiddenapis</a></td> 
    <td>3.1</td> 
   </tr> 
   <tr class="a"> 
    <td>org.apache.felix</td> 
    <td><a class="externalLink" href="http://felix.apache.org/components/bundle-plugin/">maven-bundle-plugin</a></td> 
    <td>5.1.1</td> 
   </tr> 
   <tr class="b"> 
    <td>org.apache.maven.plugins</td> 
    <td><a class="externalLink" href="https://maven.apache.org/plugins/maven-checkstyle-plugin/">maven-checkstyle-plugin</a></td> 
    <td>3.1.1</td> 
   </tr> 
   <tr class="a"> 
    <td>org.apache.maven.plugins</td> 
    <td><a class="externalLink" href="https://maven.apache.org/plugins/maven-clean-plugin/">maven-clean-plugin</a></td> 
    <td>3.1.0</td> 
   </tr> 
   <tr class="b"> 
    <td>org.apache.maven.plugins</td> 
    <td><a class="externalLink" href="https://maven.apache.org/plugins/maven-compiler-plugin/">maven-compiler-plugin</a></td> 
    <td>3.8.1</td> 
   </tr> 
   <tr class="a"> 
    <td>org.apache.maven.plugins</td> 
    <td><a class="externalLink" href="http://maven.apache.org/plugins/maven-deploy-plugin/">maven-deploy-plugin</a></td> 
    <td>2.8.2</td> 
   </tr> 
   <tr class="b"> 
    <td>org.apache.maven.plugins</td> 
    <td><a class="externalLink" href="https://maven.apache.org/enforcer/maven-enforcer-plugin/">maven-enforcer-plugin</a></td> 
    <td>3.0.0-M3</td> 
   </tr> 
   <tr class="a"> 
    <td>org.apache.maven.plugins</td> 
    <td><a class="externalLink" href="http://maven.apache.org/plugins/maven-install-plugin/">maven-install-plugin</a></td> 
    <td>2.5.2</td> 
   </tr> 
   <tr class="b"> 
    <td>org.apache.maven.plugins</td> 
    <td><a class="externalLink" href="https://maven.apache.org/plugins/maven-jar-plugin/">maven-jar-plugin</a></td> 
    <td>3.2.0</td> 
   </tr> 
   <tr class="a"> 
    <td>org.apache.maven.plugins</td> 
    <td><a class="externalLink" href="https://maven.apache.org/plugins/maven-remote-resources-plugin/">maven-remote-resources-plugin</a></td> 
    <td>1.7.0</td> 
   </tr> 
   <tr class="b"> 
    <td>org.apache.maven.plugins</td> 
    <td><a class="externalLink" href="https://maven.apache.org/plugins/maven-resources-plugin/">maven-resources-plugin</a></td> 
    <td>3.2.0</td> 
   </tr> 
   <tr class="a"> 
    <td>org.apache.maven.plugins</td> 
    <td><a class="externalLink" href="https://maven.apache.org/plugins/maven-site-plugin/">maven-site-plugin</a></td> 
    <td>3.9.1</td> 
   </tr> 
   <tr class="b"> 
    <td>org.apache.maven.plugins</td> 
    <td><a class="externalLink" href="https://maven.apache.org/surefire/maven-surefire-plugin/">maven-surefire-plugin</a></td> 
    <td>3.0.0-M5</td> 
   </tr> 
   <tr class="a"> 
    <td>org.apache.rat</td> 
    <td><a class="externalLink" href="https://creadur.apache.org/rat/apache-rat-plugin/">apache-rat-plugin</a></td> 
    <td>0.13</td> 
   </tr> 
   <tr class="b"> 
    <td>org.codehaus.mojo</td> 
    <td><a class="externalLink" href="http://www.mojohaus.org/buildnumber-maven-plugin/buildnumber-maven-plugin">buildnumber-maven-plugin</a></td> 
    <td>1.4</td> 
   </tr> 
   <tr class="a"> 
    <td>org.jacoco</td> 
    <td><a class="externalLink" href="https://www.jacoco.org/jacoco/trunk/doc/maven.html">jacoco-maven-plugin</a></td> 
    <td>0.8.7</td> 
   </tr> 
  </tbody> 
 </table> 
</section> 
<section> 
 <h2 id="project-report-plugins">Project Report Plugins</h2> 
 <a name="Project_Report_Plugins"></a> 
 <table border="0" class="bodyTable table table-striped table-hover"> 
  <thead> 
   <tr class="a"> 
    <th>GroupId</th> 
    <th>ArtifactId</th> 
    <th>Version</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr class="b"> 
    <td>org.apache.maven.plugins</td> 
    <td><a class="externalLink" href="https://maven.apache.org/plugins/maven-project-info-reports-plugin/">maven-project-info-reports-plugin</a></td> 
    <td>3.1.2</td> 
   </tr> 
   <tr class="a"> 
    <td>org.apache.maven.plugins</td> 
    <td><a class="externalLink" href="https://maven.apache.org/surefire/maven-surefire-report-plugin/">maven-surefire-report-plugin</a></td> 
    <td>3.0.0-M5</td> 
   </tr> 
   <tr class="b"> 
    <td>org.apache.rat</td> 
    <td><a class="externalLink" href="https://creadur.apache.org/rat/apache-rat-plugin/">apache-rat-plugin</a></td> 
    <td>0.13</td> 
   </tr> 
  </tbody> 
 </table> 
</section>        </main>
        <div class="d-none d-sm-none d-md-none d-lg-none d-xl-block col-xl-2">
            <div id="m-toc-sidebar" class="d-print-none m-toc-sidebar-enabled m-toc-sidebar-expanded m-toc-sidebar-autoexpandable toc-sidebar-fixed">
                <nav id="m-toc-sidebar-nav flex-column">
                <ul class="m-nav--sidebar nav flex-column flex-nowrap">
    <li class="h2">
        <a class="nav-link" href="#project-build-plugins" title="Project Build Plugins">Project Build Plugins</a>
    </li>
        <li class="h2">
        <a class="nav-link" href="#project-report-plugins" title="Project Report Plugins">Project Report Plugins</a>
    </li>
                    </ul>
                </nav>
           </div>
        </div>
    </div> <!-- row: end -->
</div> <!-- .main-body: end -->
    <div id="m_scrolltop" class="m-scrolltop">
		<i class="fa fa-arrow-up"></i>
    </div>
  <!-- Footer -->
<footer class="footer-light bg-light">
    <div class="container">
        <div class="row">
                        <div class="col bottom-nav">
                <ul class="nav flex-column nav-list">
                    <li class="nav-header">
Parent Project
                    </li>
                    <li class="nav-item "><a  href="../index.html"  title="Openmeetings"  class="nav-link" >Openmeetings</a></li>
                </ul>
            </div>
            <div class="col bottom-nav">
                <ul class="nav flex-column nav-list">
                    <li class="nav-header">
Project
                    </li>
                    <li class="nav-item "><a  href="index.html"  title="About"  class="nav-link" >About</a></li>
                    <li class="nav-item "><a  href="project-info.html"  title="Info"  class="nav-link" >Info</a></li>
                    <li class="nav-item "><a  href="summary.html"  title="Summary"  class="nav-link" >Summary</a></li>
                    <li class="nav-item "><a  href="https://www.apache.org/licenses/"  title="License"   class="externalLink nav-link" >License</a></li>
                    <li class="nav-item "><a  href="dependencies.html"  title="Dependencies"  class="nav-link" >Dependencies</a></li>
                    <li class="nav-item "><a  href="dependency-convergence.html"  title="Dependency Convergence"  class="nav-link" >Dependency Convergence</a></li>
                    <li class="nav-item "><a  href="rat-report.html"  title="RAT Report"  class="nav-link" >RAT Report</a></li>
                    <li class="nav-item "><a  href="apidocs/index.html"  title="JavaDoc"  target="_blank"  class="nav-link" >JavaDoc</a></li>
                </ul>
            </div>
        </div> <!-- END: .row -->
    </div> <!-- END: .container -->
</footer>
  <div class="container subfooter text-center">
    <div class="row">
      <div class="col-md-12">
        <p class="copyright">Copyright &copy;2012-2021
                 <a href="https://apache.org">Apache Software Foundation</a>
. All Rights Reserved.</p>
      </div>
    </div>
  </div>

  <!-- Le javascript
  ================================================== -->
  <!-- Placed at the end of the document so the pages load faster -->
    <script src="../js/jquery.min.js" crossorigin="anonymous"></script>
    <script src="../js/popper.min.js" crossorigin="anonymous"></script>
    <script src="../js/bootstrap.min.js" crossorigin="anonymous"></script>

  <script src="../js/lightbox.min.js" crossorigin="anonymous"></script>
            	<script src="../js/highlight.min.js" crossorigin="anonymous"></script>
                    
<script src="../js/site.js" type="text/javascript"></script>        
<p class="text-center">Apache OpenMeetings, OpenMeetings, Apache, the Apache feather, and the Apache OpenMeetings project logo</p>        
<p class="text-center">are trademarks of the Apache Software Foundation.</p>  <script src="../js/reflow-skin.js" crossorigin="anonymous"></script>
    <script src="../js/anchor.min.js" crossorigin="anonymous"></script>
    </body>
</html>
