 


  <!doctype html>
<!--
 Generated by Apache Maven Doxia  at 2021-07-17  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-install 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>
                        </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-07-17</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>net.nicoulaj.maven.plugins</td> 
    <td><a class="externalLink" href="http://checksum-maven-plugin.nicoulaj.net">checksum-maven-plugin</a></td> 
    <td>1.8</td> 
   </tr> 
   <tr class="b"> 
    <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="a"> 
    <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="b"> 
    <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="a"> 
    <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="b"> 
    <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="a"> 
    <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="b"> 
    <td>org.apache.maven.plugins</td> 
    <td><a class="externalLink" href="https://maven.apache.org/plugins/maven-gpg-plugin/">maven-gpg-plugin</a></td> 
    <td>3.0.1</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-javadoc-plugin/">maven-javadoc-plugin</a></td> 
    <td>3.3.0</td> 
   </tr> 
   <tr class="b"> 
    <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="a"> 
    <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="b"> 
    <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="a"> 
    <td>org.apache.maven.plugins</td> 
    <td><a class="externalLink" href="https://maven.apache.org/plugins/maven-source-plugin/">maven-source-plugin</a></td> 
    <td>3.2.0</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="http://jacoco-maven-plugin">jacoco-maven-plugin</a></td> 
    <td>0.8.6</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>
                </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>
