<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2017-04-15 
 | Rendered using Apache Maven Fluido Skin 1.6
-->
<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="20170415" />
    <meta http-equiv="Content-Language" content="en" />
    <title>eclipse-winsigner-plugin &#x2013; Generated Reports</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.6.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.6.min.js"></script>
      </head>
    <body class="topBarDisabled">
      <div class="container-fluid">
      <div id="banner">
        <div class="pull-left"><a href="https://eclipse.org" id="bannerLeft"><img src="https://eclipse.org/eclipse.org-common/themes/Nova/images/eclipse.png"  alt="Eclipse"/></a></div>
        <div class="pull-right"></div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2017-04-15<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 1.1.4</li>
        </ul>
      </div>
      <div class="row-fluid">
        <div id="leftColumn" class="span2">
          <div class="well sidebar-nav">
<ul class="nav nav-list">
          <li class="nav-header">CBI Maven Plugins</li>
    <li><a href="../index.html" title="Introduction"><span class="none"></span>Introduction</a>  </li>
    <li><a href="../eclipse-jarsigner-plugin/plugin-info.html" title="Jar Signer"><span class="none"></span>Jar Signer</a>  </li>
    <li><a href="../eclipse-winsigner-plugin/plugin-info.html" title="Windows Exe Signer"><span class="none"></span>Windows Exe Signer</a>  </li>
    <li><a href="../eclipse-macsigner-plugin/plugin-info.html" title="macOS App Signer"><span class="none"></span>macOS App Signer</a>  </li>
    <li><a href="../eclipse-dmg-packager/plugin-info.html" title="macOS DMG Packager"><span class="none"></span>macOS DMG Packager</a>  </li>
    <li><a href="../eclipse-cbi-plugin/plugin-info.html" title="Utilities"><span class="none"></span>Utilities</a>  </li>
  </ul>
          <hr />
          <div id="poweredBy">
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
  <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>
              </div>
          </div>
        </div>
        <div id="bodyColumn"  class="span10" >
<div class="section">
<h2><a name="Generated_Reports"></a>Generated Reports</h2>
<p>This document provides an overview of the various reports that are automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> . Each report is briefly described below.</p>
<div class="section">
<h3><a name="Overview"></a>Overview</h3>
<table border="0" class="table table-striped">
<tr class="a">
<th>Document</th>
<th>Description</th></tr>
<tr class="b">
<td><a href="plugin-info.html">Plugin Documentation</a></td>
<td>This report provides goals and parameters documentation of a plugin.</td></tr></table></div></div>
        </div>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
            <p>Copyright &copy;2017
<a href="http://eclipse.org/">Eclipse Foundation</a>.
All rights reserved.</p>
        </div>
        </div>
    </footer>
    </body>
</html>
