bug 372116: Document the property for skipping given bundles during jar scanning.
diff --git a/org.eclipse.gemini.web.documentation/user-guide/src/configuring.xml b/org.eclipse.gemini.web.documentation/user-guide/src/configuring.xml
index be4eaf3..6a39697 100755
--- a/org.eclipse.gemini.web.documentation/user-guide/src/configuring.xml
+++ b/org.eclipse.gemini.web.documentation/user-guide/src/configuring.xml
@@ -356,6 +356,29 @@
</servlet-mapping>
]]></programlisting>
</section>
+ <section id="configuring-jar-scanner">
+ <title>Jar Scanner Configuration</title>
+ <para>
+ The standard <ulink url="http://tomcat.apache.org/tomcat-7.0-doc/config/jar-scanner.html">Jar Scanner</ulink> provided by Apache Tomcat is used to scan the web application for jar files containing configuration files - TLDs or web-fragment.xml files.
+ In addition to this functionality, @product.name@ provides Bundle Dependencies Jar Scanner. It is used to scan the web application bundle dependencies for such configuration files.
+ The bundles that are treated as web application bundle dependencies are:
+ <itemizedlist>
+ <listitem>The required bundles by the web application bundle.</listitem>
+ <listitem>The bundles that provide the imported packages declared by the web application bundle.</listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ By default the Bundle Dependencies Jar Scanner will exclude the bundles listed below from the scanning process as they do not provide TLDs and web-fragment.xml files.
+ <itemizedlist>
+ <listitem>org.eclipse.osgi</listitem>
+ <listitem>javax.servlet</listitem>
+ <listitem>javax.servlet.jsp</listitem>
+ <listitem>javax.el</listitem>
+ </itemizedlist>
+ The default behavior can be changed with @product.name@ property <literal>org.eclipse.gemini.web.tomcat.scanner.skip.bundles</literal>.
+ The syntax is <literal>org.eclipse.gemini.web.tomcat.scanner.skip.bundles=<bundle-symbolic-name>,<bundle-symbolic-name>,...</literal>
+ </para>
+ </section>
</section>
<section id="configuring-osgi-framework">
<title>Configuring the OSGi Framework</title>
diff --git a/org.eclipse.gemini.web.tomcat/src/main/java/org/eclipse/gemini/web/tomcat/internal/BundleDependenciesJarScanner.java b/org.eclipse.gemini.web.tomcat/src/main/java/org/eclipse/gemini/web/tomcat/internal/BundleDependenciesJarScanner.java
index ff19042..352daef 100644
--- a/org.eclipse.gemini.web.tomcat/src/main/java/org/eclipse/gemini/web/tomcat/internal/BundleDependenciesJarScanner.java
+++ b/org.eclipse.gemini.web.tomcat/src/main/java/org/eclipse/gemini/web/tomcat/internal/BundleDependenciesJarScanner.java
@@ -53,6 +53,13 @@
private static final String COMMA_SEPARATOR = ",";
+ /**
+ * By default the Bundle Dependencies Jar Scanner will exclude the bundles listed below from the scanning process as
+ * they do not provide TLDs and web-fragment.xml files: org.eclipse.osgi, javax.servlet, javax.servlet.jsp,
+ * javax.el. The default behavior can be changed with property
+ * <code>org.eclipse.gemini.web.tomcat.scanner.skip.bundles</code>. The syntax is
+ * <code>org.eclipse.gemini.web.tomcat.scanner.skip.bundles=<bundle-symbolic-name>,<bundle-symbolic-name>,...</code>
+ */
static final String SCANNER_SKIP_BUNDLES_PROPERTY_NAME = "org.eclipse.gemini.web.tomcat.scanner.skip.bundles";
private static final String SCANNER_SKIP_BUNDLES_PROPERTY_VALUE_DEFAULT = "org.eclipse.osgi,javax.servlet,javax.servlet.jsp,javax.el";