<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<!-- Generated by Apache Maven Doxia at Jul 5, 2011 -->

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

  <head>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    <title>Maven Bundle Plugin - Project Information</title>

    <style type="text/css" media="all">

      @import url("./css/maven-base.css");

      @import url("./css/maven-theme.css");

      @import url("./css/site.css");

    </style>

    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />

    <meta name="Date-Revision-yyyymmdd" content="20110705" />

    <meta http-equiv="Content-Language" content="en" />

        

  </head>

  <body class="composite">

    <div id="banner">

                    <div id="bannerLeft">

                Maven Bundle Plugin

                </div>

                    <div class="clear">

        <hr/>

      </div>

    </div>

    <div id="breadcrumbs">

            

        

                <div class="xleft">

        <span id="publishDate">Last Published: 2011-07-05</span>

                  &nbsp;| <span id="projectVersion">Version: 2.3.5</span>

                      </div>

            <div class="xright">        

        

      </div>

      <div class="clear">

        <hr/>

      </div>

    </div>

    <div id="leftColumn">

      <div id="navcolumn">

             

        

                                <h5>Overview</h5>

                  <ul>

                  <li class="none">

                          <a href="index.html" title="Introduction">Introduction</a>

            </li>

                  <li class="none">

                          <a href="plugin-info.html" title="Goals">Goals</a>

            </li>

                  <li class="none">

                          <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>

            </li>

                  <li class="none">

                          <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>

            </li>

                  <li class="none">

                          <a href="jira-report.html" title="Release Notes">Release Notes</a>

            </li>

          </ul>

                       <h5>Project Documentation</h5>

                  <ul>

                                                                                                                                                                                    <li class="expanded">

            <strong>Project Information</strong>

                  <ul>

                      <li class="none">

                          <a href="index.html" title="About">About</a>

            </li>

                      <li class="none">

                          <a href="dependencies.html" title="Dependencies">Dependencies</a>

            </li>

                      <li class="none">

                          <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>

            </li>

                      <li class="none">

                          <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>

            </li>

                      <li class="none">

                          <a href="license.html" title="Project License">Project License</a>

            </li>

                      <li class="none">

                          <a href="team-list.html" title="Project Team">Project Team</a>

            </li>

                      <li class="none">

                          <a href="source-repository.html" title="Source Repository">Source Repository</a>

            </li>

              </ul>

        </li>

                                                                                                                                            <li class="collapsed">

                          <a href="project-reports.html" title="Project Reports">Project Reports</a>

                  </li>

          </ul>

                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">

        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />

      </a>

                   

        

            </div>

    </div>

    <div id="bodyColumn">

      <div id="contentBox">

        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>Provides a maven plugin that supports creating an OSGi bundle
  from the contents of the compilation classpath along with its
  resources and dependencies. Plus a zillion other features.
  The plugin uses the Bnd tool (http://www.aqute.biz/Code/Bnd)</td></tr><tr class="a"><td><a href="dependencies.html">Dependencies</a></td><td>This document lists the project's dependencies and provides information on each dependency.</td></tr><tr class="b"><td><a href="issue-tracking.html">Issue Tracking</a></td><td>This is a link to the issue management system for this project. Issues (bugs, features, change requests) can be created and queried using this link.</td></tr><tr class="a"><td><a href="mail-lists.html">Mailing Lists</a></td><td>This document provides subscription and archive information for this project's mailing lists.</td></tr><tr class="b"><td><a href="license.html">Project License</a></td><td>This is a link to the definitions of project licenses.</td></tr><tr class="a"><td><a href="team-list.html">Project Team</a></td><td>This document provides information on the members of this project. These are the individuals who have contributed to the project in one form or another.</td></tr><tr class="b"><td><a href="source-repository.html">Source Repository</a></td><td>This is a link to the online source repository that can be viewed via a web browser.</td></tr></table></div></div>

      </div>

    </div>

    <div class="clear">

      <hr/>

    </div>

    <div id="footer">

      <div class="xright">Copyright &#169;                    2006-2011

                        <a href="http://www.apache.org/">The Apache Software Foundation</a>.

            All Rights Reserved.      

        

      </div>

      <div class="clear">

        <hr/>

      </div>

    </div>

  </body>

</html>

