<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.6 
 | Rendered using Apache Maven Fluido Skin 1.5-HBASE
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20170822" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache HBase - Spark &#x2013; Project Plugins</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />

      
    <script type="text/javascript" src="./js/apache-maven-fluido-1.5-HBASE.min.js"></script>

                          
        
<meta name="viewport" content="width=device-width, initial-scale=1.0"></meta>
                      
        
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.2/css/bootstrap-responsive.min.css"/>
                      
        
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.9.1/styles/github.min.css"/>
                      
        
<link rel="stylesheet" href="css/site.css"/>
                      
        
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.9.1/highlight.min.js"></script>
          
                  </head>
        <body class="topBarEnabled">
          
                        
                    
                

    <div id="topbar" class="navbar navbar-fixed-top ">
      <div class="navbar-inner">
                                  <div class="container">
                <a data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar">
                  <span class="icon-bar"></span>
                  <span class="icon-bar"></span>
                  <span class="icon-bar"></span>
                </a>
                <div class="nav-collapse">
                            
                                <ul class="nav">
                            </ul>
          
                          <div id="search-form" class="navbar-search pull-right">
      <script type="text/javascript">
      var cx = '000385458301414556862:sq1bb0xugjg';

      (function() {
        var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true;
        gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//cse.google.com/cse.js?cx=' + cx;
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
      })();

    </script>
    <gcse:search></gcse:search>
  </div>
          
                                                                            
                   
                      </div>
          
        </div>
      </div>
    </div>
    
        <div class="container">
          <div id="banner">
        <div class="pull-left">
                                    <a href="https://www.eventbrite.com/e/hbasecon-asia-2017-tickets-34935546159" id="bannerLeft">
                                                                                                <img src="../images/hbaseconasia2017.png"  alt="HBaseCon2017"/>
                </a>
                      </div>
        <div class="pull-right">                                <a href="../" id="bannerRight">
                                                                                                <img src="../images/hbase_logo_with_orca_large.png"  alt="Apache HBase"/>
                </a>
      </div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
                
                    
            
                
                    
      
                            </ul>
      </div>

      
                
        <div id="bodyColumn" >
                                  
            <div class="section">
<h2><a name="Project_Build_Plugins"></a>Project Build Plugins</h2><a name="Project_Build_Plugins"></a>
<table border="0" class="table table-striped">
<tr class="a">
<th>GroupId</th>
<th>ArtifactId</th>
<th>Version</th></tr>
<tr class="b">
<td>net.alchim31.maven</td>
<td><a class="externalLink" href="http://github.com/davidB/scala-maven-plugin">scala-maven-plugin</a></td>
<td>3.2.0</td></tr>
<tr class="a">
<td>org.apache.felix</td>
<td><a class="externalLink" href="http://felix.apache.org/maven-bundle-plugin/">maven-bundle-plugin</a></td>
<td>3.3.0</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/plugins/maven-antrun-plugin/">maven-antrun-plugin</a></td>
<td>1.8</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/plugins/maven-checkstyle-plugin/">maven-checkstyle-plugin</a></td>
<td>2.17</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/plugins/maven-clean-plugin/">maven-clean-plugin</a></td>
<td>3.0.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.6.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="http://maven.apache.org/enforcer/maven-enforcer-plugin">maven-enforcer-plugin</a></td>
<td>1.4.1</td></tr>
<tr class="b">
<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="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/plugins/maven-jar-plugin/">maven-jar-plugin</a></td>
<td>3.0.0</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/plugins/maven-remote-resources-plugin/">maven-remote-resources-plugin</a></td>
<td>1.5</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/plugins/maven-resources-plugin/">maven-resources-plugin</a></td>
<td>2.7</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/plugins/maven-site-plugin/">maven-site-plugin</a></td>
<td>3.4</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/surefire/maven-surefire-plugin/">maven-surefire-plugin</a></td>
<td>2.19.1</td></tr>
<tr class="b">
<td>org.asciidoctor</td>
<td><a class="externalLink" href="https://github.com/asciidoctor/asciidoctor-maven-plugin">asciidoctor-maven-plugin</a></td>
<td>1.5.5</td></tr>
<tr class="a">
<td>org.codehaus.mojo</td>
<td><a class="externalLink" href="http://www.mojohaus.org/build-helper-maven-plugin/">build-helper-maven-plugin</a></td>
<td>3.0.0</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.codehaus.mojo</td>
<td><a class="externalLink" href="http://mojo.codehaus.org/findbugs-maven-plugin">findbugs-maven-plugin</a></td>
<td>3.0.0</td></tr>
<tr class="b">
<td>org.codehaus.mojo</td>
<td><a class="externalLink" href="http://www.mojohaus.org/xml-maven-plugin/">xml-maven-plugin</a></td>
<td>1.0.1</td></tr>
<tr class="a">
<td>org.scala-tools</td>
<td><a class="externalLink" href="http://scala-tools.org/mvnsites/maven-scala-plugin">maven-scala-plugin</a></td>
<td>2.15.2</td></tr>
<tr class="b">
<td>org.scalatest</td>
<td><a class="externalLink" href="http://nexus.sonatype.org/oss-repository-hosting.html/scalatest-maven-plugin">scalatest-maven-plugin</a></td>
<td>1.0</td></tr>
<tr class="a">
<td>org.xolstice.maven.plugins</td>
<td><a class="externalLink" href="https://www.xolstice.org/protobuf-maven-plugin">protobuf-maven-plugin</a></td>
<td>0.5.0</td></tr></table></div>
<div class="section">
<h2><a name="Project_Report_Plugins"></a>Project Report Plugins</h2><a name="Project_Report_Plugins"></a>
<table border="0" class="table table-striped">
<tr class="a">
<th>GroupId</th>
<th>ArtifactId</th>
<th>Version</th></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/plugins/maven-checkstyle-plugin/">maven-checkstyle-plugin</a></td>
<td>2.17</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/plugins/maven-javadoc-plugin/">maven-javadoc-plugin</a></td>
<td>2.10.3</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/plugins/maven-project-info-reports-plugin/">maven-project-info-reports-plugin</a></td>
<td>2.9</td></tr>
<tr class="a">
<td>org.scala-tools</td>
<td><a class="externalLink" href="http://scala-tools.org/mvnsites/maven-scala-plugin">maven-scala-plugin</a></td>
<td>2.15.2</td></tr></table></div>
                  </div>
          </div>

    <hr/>

    <footer>
            <div class="container">
                      <div class="row">
                                      <p >Copyright &copy;                    2007&#x2013;2017
                        <a href="https://www.apache.org/">The Apache Software Foundation</a>.
            All rights reserved.      
                    
                  <li id="publishDate" class="pull-right">Last Published: 2017-08-22</li>
            </p>
                </div>

                <p id="poweredBy" class="pull-right">
                          <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
      </a>
              </p>
        
                </div>
    </footer>
        </body>
</html>
