[KARAF-3633] Help mechanism improvements

Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/f38a1e20
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/f38a1e20
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/f38a1e20

Branch: refs/heads/master
Commit: f38a1e20c8bed21f65eef4d99d28c41e9bdf0d46
Parents: 773c6c4
Author: Guillaume Nodet <[email protected]>
Authored: Wed Mar 25 08:45:38 2015 +0100
Committer: Guillaume Nodet <[email protected]>
Committed: Wed Mar 25 08:54:01 2015 +0100

----------------------------------------------------------------------
 .../org/apache/karaf/bundle/command/Info.java   |  32 +---
 .../wikidoc/AnsiPrintingWikiVisitor.java        |  58 -------
 .../bundle/command/wikidoc/WikiParser.java      |  95 -----------
 .../bundle/command/wikidoc/WikiVisitor.java     |  29 ----
 .../src/main/resources/OSGI-INF/bundle.info     |  18 ++
 .../bundle/command/wikidoc/WikiParserTest.java  |  94 ----------
 client/src/main/resources/OSGI-INF/bundle.info  |  18 ++
 config/src/main/resources/OSGI-INF/bundle.info  |  28 ++-
 .../src/main/resources/OSGI-INF/bundle.info     |  18 ++
 .../src/main/resources/OSGI-INF/bundle.info     |  32 +++-
 .../kar/src/main/resources/OSGI-INF/bundle.info |  18 ++
 .../src/main/resources/OSGI-INF/bundle.info     |  18 ++
 .../src/main/resources/OSGI-INF/bundle.info     |  18 ++
 .../src/main/resources/OSGI-INF/bundle.info     |  18 ++
 .../src/main/resources/OSGI-INF/bundle.info     |  18 ++
 .../features/command/InfoFeatureCommand.java    |   7 +-
 .../src/main/resources/OSGI-INF/bundle.info     |  52 +++---
 .../main/resources/OSGI-INF/shell-feature.info  |  29 ++++
 .../src/main/resources/OSGI-INF/bundle.info     |  18 ++
 http/src/main/resources/OSGI-INF/bundle.info    |  39 ++++-
 .../src/main/resources/OSGI-INF/bundle.info     |  66 ++++---
 .../src/main/resources/OSGI-INF/bundle.info     |  24 ++-
 .../src/main/resources/OSGI-INF/bundle.info     |  24 ++-
 .../src/main/resources/OSGI-INF/bundle.info     |  18 ++
 .../src/main/resources/OSGI-INF/bundle.info     |  47 +++--
 .../src/main/resources/OSGI-INF/bundle.info     |  18 ++
 .../src/main/resources/OSGI-INF/bundle.info     |  18 ++
 .../src/main/resources/OSGI-INF/bundle.info     |  18 ++
 jdbc/src/main/resources/OSGI-INF/bundle.info    |  37 +++-
 jms/src/main/resources/OSGI-INF/bundle.info     |  37 +++-
 jndi/src/main/resources/OSGI-INF/bundle.info    |  38 ++++-
 kar/src/main/resources/OSGI-INF/bundle.info     |  38 ++++-
 log/src/main/resources/OSGI-INF/bundle.info     |  49 ++++--
 main/src/main/resources/OSGI-INF/bundle.info    |  30 +++-
 .../src/main/resources/OSGI-INF/bundle.info     |  22 ++-
 .../src/main/resources/OSGI-INF/bundle.info     |  18 ++
 obr/src/main/resources/OSGI-INF/bundle.info     |  49 ++++--
 package/src/main/resources/OSGI-INF/bundle.info |  33 +++-
 pom.xml                                         |   1 -
 .../src/main/resources/OSGI-INF/bundle.info     |  46 +++--
 .../src/main/resources/OSGI-INF/bundle.info     |  34 +++-
 .../src/main/resources/OSGI-INF/bundle.info     |  22 ++-
 .../src/main/resources/OSGI-INF/bundle.info     |  22 ++-
 .../src/main/resources/OSGI-INF/bundle.info     |  22 ++-
 .../src/main/resources/OSGI-INF/bundle.info     |  24 ++-
 .../src/main/resources/OSGI-INF/bundle.info     |  39 ++++-
 .../src/main/resources/OSGI-INF/bundle.info     |  18 ++
 .../src/main/resources/OSGI-INF/bundle.info     |  58 +++----
 .../src/main/resources/OSGI-INF/bundle.info     |  18 ++
 shell/core/pom.xml                              |   1 +
 .../impl/console/commands/SubShellCommand.java  |  11 ++
 .../impl/console/commands/TopLevelCommand.java  |   4 +-
 .../commands/help/BundleHelpProvider.java       |  80 +++++++++
 .../commands/help/CommandListHelpProvider.java  |  95 ++++++++---
 .../commands/help/CommandsHelpProvider.java     |  87 ++++++++++
 .../impl/console/commands/help/HelpCommand.java |  16 +-
 .../commands/help/ShellHelpProvider.java        | 144 ++++++++++++++++
 .../help/wikidoc/AnsiPrintingWikiVisitor.java   |  94 ++++++++++
 .../commands/help/wikidoc/WikiParser.java       | 171 +++++++++++++++++++
 .../commands/help/wikidoc/WikiVisitor.java      |  31 ++++
 .../karaf/shell/support/ansi/SimpleAnsi.java    |   1 +
 .../apache/karaf/shell/support/table/Col.java   |  14 ++
 .../src/main/resources/OSGI-INF/bundle.info     |  18 ++
 .../commands/help/wikidoc/WikiParserTest.java   | 110 ++++++++++++
 .../ssh/src/main/resources/OSGI-INF/bundle.info |  38 ++++-
 system/src/main/resources/OSGI-INF/bundle.info  |  35 +++-
 web/src/main/resources/OSGI-INF/bundle.info     |  35 +++-
 .../src/main/resources/OSGI-INF/bundle.info     |  18 ++
 .../src/main/resources/OSGI-INF/bundle.info     |  18 ++
 .../src/main/resources/OSGI-INF/bundle.info     |  18 ++
 .../src/main/resources/OSGI-INF/bundle.info     |  24 ++-
 .../src/main/resources/OSGI-INF/bundle.info     |  18 ++
 wrapper/src/main/resources/OSGI-INF/bundle.info |  35 +++-
 73 files changed, 2079 insertions(+), 582 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/bundle/core/src/main/java/org/apache/karaf/bundle/command/Info.java
----------------------------------------------------------------------
diff --git 
a/bundle/core/src/main/java/org/apache/karaf/bundle/command/Info.java 
b/bundle/core/src/main/java/org/apache/karaf/bundle/command/Info.java
index a2e2ea2..01b7623 100644
--- a/bundle/core/src/main/java/org/apache/karaf/bundle/command/Info.java
+++ b/bundle/core/src/main/java/org/apache/karaf/bundle/command/Info.java
@@ -16,25 +16,19 @@
  */
 package org.apache.karaf.bundle.command;
 
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.nio.Buffer;
-import java.util.List;
-
-import org.apache.karaf.bundle.command.wikidoc.AnsiPrintingWikiVisitor;
-import org.apache.karaf.bundle.command.wikidoc.WikiParser;
-import org.apache.karaf.bundle.command.wikidoc.WikiVisitor;
 import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Reference;
 import org.apache.karaf.shell.api.action.lifecycle.Service;
-import org.apache.karaf.shell.support.ShellUtil;
+import org.apache.karaf.shell.api.console.Session;
 import org.osgi.framework.Bundle;
 
 @Command(scope = "bundle", name = "info", description = "Displays detailed 
information of a given bundles.")
 @Service
 public class Info extends BundlesCommand {
 
+    @Reference
+    Session session;
+
     /**
      * <p>
      * Get the OSGI-INF/bundle.info entry from the bundle and display it.
@@ -44,21 +38,7 @@ public class Info extends BundlesCommand {
      */
     @Override
     protected void executeOnBundle(Bundle bundle) throws Exception {
-        String title = ShellUtil.getBundleName(bundle);
-        System.out.println("\n" + title);
-        System.out.println(ShellUtil.getUnderlineString(title));
-        URL bundleInfo = bundle.getEntry("OSGI-INF/bundle.info");
-        if (bundleInfo != null) {
-            try (
-                BufferedReader reader = new BufferedReader(new 
InputStreamReader(bundleInfo.openStream()));
-            ) {
-                WikiVisitor visitor = new AnsiPrintingWikiVisitor(System.out);
-                WikiParser parser = new WikiParser(visitor);
-                parser.parse(reader);
-            } catch (Exception e) {
-                // ignore
-            }
-        }
+        session.execute("help 'bundle|" + bundle.getBundleId() + "'");
     }
 
 }

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/bundle/core/src/main/java/org/apache/karaf/bundle/command/wikidoc/AnsiPrintingWikiVisitor.java
----------------------------------------------------------------------
diff --git 
a/bundle/core/src/main/java/org/apache/karaf/bundle/command/wikidoc/AnsiPrintingWikiVisitor.java
 
b/bundle/core/src/main/java/org/apache/karaf/bundle/command/wikidoc/AnsiPrintingWikiVisitor.java
deleted file mode 100644
index 077cfef..0000000
--- 
a/bundle/core/src/main/java/org/apache/karaf/bundle/command/wikidoc/AnsiPrintingWikiVisitor.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.bundle.command.wikidoc;
-
-import java.io.PrintStream;
-
-import org.fusesource.jansi.Ansi;
-import org.fusesource.jansi.Ansi.Attribute;
-import org.fusesource.jansi.Ansi.Color;
-
-/**
- * Translates the Wiki tags to Ansi escape sequences to display them on the 
console
- */
-public class AnsiPrintingWikiVisitor implements WikiVisitor {
-       private PrintStream out;
-       
-       public AnsiPrintingWikiVisitor(PrintStream out) {
-               this.out = out;
-       }
-       
-       @Override
-       public void heading(int level, String header) {
-               this.out.print(Ansi.ansi().a(Attribute.INTENSITY_BOLD).a(header)
-                               .a(Attribute.INTENSITY_BOLD_OFF).toString());
-       }
-       
-       @Override
-       public void link(String target, String title) {
-               this.out.print(Ansi.ansi().fg(Color.YELLOW) 
-                               .a(target).fg(Color.DEFAULT));
-       }
-
-       @Override
-       public void enumeration(String text) {
-               this.out.print(Ansi.ansi().a(" * 
").fg(Color.CYAN).a(text).fg(Color.DEFAULT).a(" "));
-       }
-
-       @Override
-       public void text(String text) {
-               this.out.print(text);
-       }
-
-
-}

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/bundle/core/src/main/java/org/apache/karaf/bundle/command/wikidoc/WikiParser.java
----------------------------------------------------------------------
diff --git 
a/bundle/core/src/main/java/org/apache/karaf/bundle/command/wikidoc/WikiParser.java
 
b/bundle/core/src/main/java/org/apache/karaf/bundle/command/wikidoc/WikiParser.java
deleted file mode 100644
index d98208f..0000000
--- 
a/bundle/core/src/main/java/org/apache/karaf/bundle/command/wikidoc/WikiParser.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.bundle.command.wikidoc;
-
-import org.apache.karaf.util.StringEscapeUtils;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.Reader;
-import java.util.StringTokenizer;
-
-/**
- * Parses wiki syntax from a reader and calls a Wikivisitor with the 
- * tokens it finds
- */
-public class WikiParser {
-       WikiVisitor visitor;
-       
-       public WikiParser(WikiVisitor visitor) {
-               this.visitor = visitor;
-       }
-
-       public void parse(String line) {
-        String unescaped = StringEscapeUtils.unescapeJava(line);
-               StringTokenizer tokenizer = new StringTokenizer(unescaped, 
"\u001B[h*", true);
-               while (tokenizer.hasMoreTokens()) {
-                       String token = tokenizer.nextToken();
-            if ("\u001B".equals(token)) {
-                parseEsc(tokenizer, token);
-            } else if ("[".equals(token)) {
-                               parseLink(tokenizer);
-                       } else if ("h".equals(token)) {
-                               parseHeading(tokenizer);
-                       } else if ("*".equals(token)){
-                               parseEnumeration(tokenizer);
-                       } else {
-                               visitor.text(token);
-                       }
-               }
-       }
-
-    private void parseEsc(StringTokenizer tokenizer, String token) {
-        visitor.text(token + tokenizer.nextToken() + 
tokenizer.nextToken("\u001B[]"));
-    }
-       
-       private void parseEnumeration(StringTokenizer tokenizer) {
-               String text = tokenizer.nextToken("-\n");
-               visitor.enumeration(text.trim());
-       }
-
-       private void parseHeading(StringTokenizer tokenizer) {
-               String level = tokenizer.nextToken("123456789");
-               if (!level.matches("[123456789]")) {
-                       visitor.text("h" + level);
-                       return;
-               }
-               String dot = tokenizer.nextToken(".\n");
-               if (!".".equals(dot)) {
-                       visitor.text("h" + level + dot);
-                       return;
-               }
-               String heading = tokenizer.hasMoreTokens() ? 
tokenizer.nextToken("\n") : "";
-               visitor.heading(new Integer(level), heading.trim());
-       }
-
-       private void parseLink(StringTokenizer tokenizer) {
-               String token = tokenizer.nextToken("]");
-               visitor.link(token, "");
-               tokenizer.nextToken();
-       }
-
-       public void parse(Reader reader) throws IOException {
-               BufferedReader br = new BufferedReader(reader);
-               String line;
-               while ((line = br.readLine()) != null) {
-                       parse(line);
-                       visitor.text("\n");
-               }
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/bundle/core/src/main/java/org/apache/karaf/bundle/command/wikidoc/WikiVisitor.java
----------------------------------------------------------------------
diff --git 
a/bundle/core/src/main/java/org/apache/karaf/bundle/command/wikidoc/WikiVisitor.java
 
b/bundle/core/src/main/java/org/apache/karaf/bundle/command/wikidoc/WikiVisitor.java
deleted file mode 100644
index b4a5fb3..0000000
--- 
a/bundle/core/src/main/java/org/apache/karaf/bundle/command/wikidoc/WikiVisitor.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.bundle.command.wikidoc;
-
-/**
- * Will be used by WikiParser to call the respective handler when it 
recognizes the tag 
- */
-public interface WikiVisitor {
-
-       void link(String target, String title);
-       void heading(int level, String title);
-       void enumeration(String text);
-       void text(String text);
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/bundle/core/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/bundle/core/src/main/resources/OSGI-INF/bundle.info 
b/bundle/core/src/main/resources/OSGI-INF/bundle.info
index a8980aa..30fc317 100644
--- a/bundle/core/src/main/resources/OSGI-INF/bundle.info
+++ b/bundle/core/src/main/resources/OSGI-INF/bundle.info
@@ -1,3 +1,21 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
 ${project.name}

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/bundle/core/src/test/java/org/apache/karaf/bundle/command/wikidoc/WikiParserTest.java
----------------------------------------------------------------------
diff --git 
a/bundle/core/src/test/java/org/apache/karaf/bundle/command/wikidoc/WikiParserTest.java
 
b/bundle/core/src/test/java/org/apache/karaf/bundle/command/wikidoc/WikiParserTest.java
deleted file mode 100644
index 37101c3..0000000
--- 
a/bundle/core/src/test/java/org/apache/karaf/bundle/command/wikidoc/WikiParserTest.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.bundle.command.wikidoc;
-
-import java.io.IOException;
-import java.io.StringReader;
-
-import org.easymock.EasyMock;
-import org.junit.Test;
-
-public class WikiParserTest {
-
-       private static final String TESTDOC = 
-               "h1. myTestdoc\n" +
-               "\n" +
-               "Some text\n" +
-               "* enumeration\n" +
-               " some text [a link] some more text\n" +
-               "h1 is no heading";
-       
-       private static final String HEADINGCASES = 
-               "h1.\n" +
-               "hf.";
-
-       @Test
-       public void parseTestDoc() throws IOException {
-               WikiVisitor visitor = 
EasyMock.createStrictMock(WikiVisitor.class);
-               visitor.heading(1, "myTestdoc");
-               EasyMock.expectLastCall();
-               visitor.text("\n");
-               EasyMock.expectLastCall();
-               visitor.text("\n");
-               EasyMock.expectLastCall();
-               visitor.text("Some text");
-               EasyMock.expectLastCall();
-               visitor.text("\n");
-               EasyMock.expectLastCall();
-               visitor.enumeration("enumeration");
-               EasyMock.expectLastCall();
-               visitor.text("\n");
-               EasyMock.expectLastCall();              
-               visitor.text(" some text ");
-               EasyMock.expectLastCall();
-               visitor.link("a link", "");
-               EasyMock.expectLastCall();
-               visitor.text(" some more text");
-               EasyMock.expectLastCall();
-               visitor.text("\n");
-               EasyMock.expectLastCall();
-               visitor.text("h1 is no heading");
-               EasyMock.expectLastCall();
-               visitor.text("\n");
-               EasyMock.expectLastCall();
-
-               EasyMock.replay(visitor);
-               WikiParser parser = new WikiParser(visitor);
-               parser.parse(new StringReader(TESTDOC));
-               EasyMock.verify(visitor);
-       }
-       
-       @Test
-       public void parseHeadingSpecialCases() throws IOException {
-               WikiVisitor visitor = 
EasyMock.createStrictMock(WikiVisitor.class);
-
-               visitor.heading(1, "");
-               EasyMock.expectLastCall();
-               visitor.text("\n");
-               EasyMock.expectLastCall();
-
-               visitor.text("hf.");
-               EasyMock.expectLastCall();
-               visitor.text("\n");
-               EasyMock.expectLastCall();
-               
-               EasyMock.replay(visitor);
-               WikiParser parser = new WikiParser(visitor);
-               parser.parse(new StringReader(HEADINGCASES));
-               EasyMock.verify(visitor);
-       }
-}

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/client/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/client/src/main/resources/OSGI-INF/bundle.info 
b/client/src/main/resources/OSGI-INF/bundle.info
index 7d25be7..d721c0b 100644
--- a/client/src/main/resources/OSGI-INF/bundle.info
+++ b/client/src/main/resources/OSGI-INF/bundle.info
@@ -1,3 +1,21 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
 ${project.name}

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/config/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/config/src/main/resources/OSGI-INF/bundle.info 
b/config/src/main/resources/OSGI-INF/bundle.info
index 3cd35da..80c68be 100644
--- a/config/src/main/resources/OSGI-INF/bundle.info
+++ b/config/src/main/resources/OSGI-INF/bundle.info
@@ -1,3 +1,21 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
 ${project.name}
@@ -13,13 +31,15 @@ This bundle provides Karaf shell commands to manipulate the 
ConfigAdmin OSGi ser
 
 The following commands are available:
 * config:cancel - Cancels the changes to the configuration being edited.
+* config:delete - Delete a configuration.
 * config:edit - Creates or edits a configuration.
 * config:list - Lists existing configurations.
-* config:propappend - Appends the given value to an existing property or 
creates
+* config:meta - Lists meta type information.
+* config:property\\-append - Appends the given value to an existing property 
or creates
  the property with the specified name and value.
-* config:propdel - Deletes a property from the edited configuration.
-* config:proplist - Lists properties from the currently edited configuration.
-* config:propset - Sets a property in the currently edited configuration.
+* config:property\\-delete - Deletes a property from the edited configuration.
+* config:property\\-list - Lists properties from the currently edited 
configuration.
+* config:property\\-set - Sets a property in the currently edited 
configuration.
 * config:update - Saves and propagates changes from the configuration being 
edited.
 
 h1. See also

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/deployer/blueprint/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/deployer/blueprint/src/main/resources/OSGI-INF/bundle.info 
b/deployer/blueprint/src/main/resources/OSGI-INF/bundle.info
index a2a68a3..9b05cba 100644
--- a/deployer/blueprint/src/main/resources/OSGI-INF/bundle.info
+++ b/deployer/blueprint/src/main/resources/OSGI-INF/bundle.info
@@ -1,3 +1,21 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
 ${project.name}

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/deployer/features/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/deployer/features/src/main/resources/OSGI-INF/bundle.info 
b/deployer/features/src/main/resources/OSGI-INF/bundle.info
index 837834d..08c3408 100644
--- a/deployer/features/src/main/resources/OSGI-INF/bundle.info
+++ b/deployer/features/src/main/resources/OSGI-INF/bundle.info
@@ -1,18 +1,36 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
-${project.name}
+       ${project.name}
 
-${project.description}
+       ${project.description}
 
-Maven URL:
-[mvn:${project.groupId}/${project.artifactId}/${project.version}]
+       Maven URL:
+               
[mvn:${project.groupId}/${project.artifactId}/${project.version}]
 
 h1. Description
 
-The features deployer allow you to drop directly a XML features descriptor in 
the Karaf deploy directory.
+       The features deployer allow you to drop directly a XML features 
descriptor in the Karaf deploy directory.
 
-Karaf will resolve and deploy all features and bundles contained in this 
features descriptor.
+       Karaf will resolve and deploy all features and bundles contained in 
this features descriptor.
 
 h1. See also
 
-Deployer - section of the Karaf User Guide.
\ No newline at end of file
+       Deployer - section of the Karaf User Guide.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/deployer/kar/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/deployer/kar/src/main/resources/OSGI-INF/bundle.info 
b/deployer/kar/src/main/resources/OSGI-INF/bundle.info
index b3a1c3b..666ccd6 100644
--- a/deployer/kar/src/main/resources/OSGI-INF/bundle.info
+++ b/deployer/kar/src/main/resources/OSGI-INF/bundle.info
@@ -1,3 +1,21 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
 ${project.name}

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/deployer/spring/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/deployer/spring/src/main/resources/OSGI-INF/bundle.info 
b/deployer/spring/src/main/resources/OSGI-INF/bundle.info
index 0712eb9..021fb02 100644
--- a/deployer/spring/src/main/resources/OSGI-INF/bundle.info
+++ b/deployer/spring/src/main/resources/OSGI-INF/bundle.info
@@ -1,3 +1,21 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
 ${project.name}

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/deployer/wrap/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/deployer/wrap/src/main/resources/OSGI-INF/bundle.info 
b/deployer/wrap/src/main/resources/OSGI-INF/bundle.info
index 81a738d..16c8853 100644
--- a/deployer/wrap/src/main/resources/OSGI-INF/bundle.info
+++ b/deployer/wrap/src/main/resources/OSGI-INF/bundle.info
@@ -1,3 +1,21 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
 ${project.name}

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/diagnostic/boot/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/diagnostic/boot/src/main/resources/OSGI-INF/bundle.info 
b/diagnostic/boot/src/main/resources/OSGI-INF/bundle.info
index 6f8f9cb..4e0168f 100644
--- a/diagnostic/boot/src/main/resources/OSGI-INF/bundle.info
+++ b/diagnostic/boot/src/main/resources/OSGI-INF/bundle.info
@@ -1,3 +1,21 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
 ${project.name}

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/diagnostic/core/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/diagnostic/core/src/main/resources/OSGI-INF/bundle.info 
b/diagnostic/core/src/main/resources/OSGI-INF/bundle.info
index ad58e7c..d099c95 100644
--- a/diagnostic/core/src/main/resources/OSGI-INF/bundle.info
+++ b/diagnostic/core/src/main/resources/OSGI-INF/bundle.info
@@ -1,3 +1,21 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
 ${project.name}

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/features/command/src/main/java/org/apache/karaf/features/command/InfoFeatureCommand.java
----------------------------------------------------------------------
diff --git 
a/features/command/src/main/java/org/apache/karaf/features/command/InfoFeatureCommand.java
 
b/features/command/src/main/java/org/apache/karaf/features/command/InfoFeatureCommand.java
index 5069fbb..21ebd47 100644
--- 
a/features/command/src/main/java/org/apache/karaf/features/command/InfoFeatureCommand.java
+++ 
b/features/command/src/main/java/org/apache/karaf/features/command/InfoFeatureCommand.java
@@ -85,8 +85,13 @@ public class InfoFeatureCommand extends 
FeaturesCommandSupport {
             conditional = true;
         }
 
+        boolean first = true;
         for (Feature feature : features) {
-            System.out.println("------------------------------------");
+            if (first) {
+                first = false;
+            } else {
+                System.out.println("------------------------------------");
+            }
             System.out.println("Feature " + feature.getName() + " " + 
feature.getVersion());
             if (feature.getDescription() != null) {
                 System.out.println("Description:");

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/features/command/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/features/command/src/main/resources/OSGI-INF/bundle.info 
b/features/command/src/main/resources/OSGI-INF/bundle.info
index f10729a..a9f4a63 100644
--- a/features/command/src/main/resources/OSGI-INF/bundle.info
+++ b/features/command/src/main/resources/OSGI-INF/bundle.info
@@ -1,33 +1,39 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
-${project.name}
+       ${project.name}
 
-${project.description}
+       ${project.description}
 
-Maven URL:
-[mvn:${project.groupId}/${project.artifactId}/${project.version}]
+       Maven URL:
+               
[mvn:${project.groupId}/${project.artifactId}/${project.version}]
 
 h1. Description
 
-This bundle provides the Karaf shell commands to manipulate features.
-
-The following commands are available:
-
-* feature:repo-add Add a list of repository URLs to the features service.
-* feature:info Show information about selected information.
-* feature:install Install a feature with the specified name and version.
-* feature:list List all existing features available from the defined 
repositories.
-* feature:repo-list Display a list of all defined repositories.
-* feature:repo-refresh Reload the list of available features from the 
repositories.
-* feature:repo-remove Remove the specified repository features service.
-* feature:uninstall Uninstall a feature with the specified name and version.
-* feature:version-list List all versions available for a given feature.
-* feature:requirement-list List provisioning requirements.
-* feature:requirement-add Add provisioning requirements.
-* feature:requirement-remove Remove provisioning requirements.
-* feature:start Start features with the specified name and version.
-* feature:regions Print information about region digraph.
+       This bundle provides the Karaf shell commands to manipulate features.
+
+h1. Commands
+
+       The following commands are available:
+\${command-list|feature|indent=8,list,cyan}
 
 h1. See also
 
-"Provisioning and features" section of the Karaf User Guide.
+       "Provisioning and features" section of the Karaf User Guide.

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/features/command/src/main/resources/OSGI-INF/shell-feature.info
----------------------------------------------------------------------
diff --git a/features/command/src/main/resources/OSGI-INF/shell-feature.info 
b/features/command/src/main/resources/OSGI-INF/shell-feature.info
new file mode 100644
index 0000000..aa8ab85
--- /dev/null
+++ b/features/command/src/main/resources/OSGI-INF/shell-feature.info
@@ -0,0 +1,29 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
+h1. SUBSHELL
+    **feature**
+
+h1. SYNOPSIS
+    This shell provides the Karaf shell commands to manipulate features.
+
+h1. COMMANDS
+\${command-list|feature|indent=4}
+
+h1. SEE ALSO
+    Commands- and Provisioning- sections of the Karaf User Guide.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/features/core/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/features/core/src/main/resources/OSGI-INF/bundle.info 
b/features/core/src/main/resources/OSGI-INF/bundle.info
index d5b4180..35057c1 100644
--- a/features/core/src/main/resources/OSGI-INF/bundle.info
+++ b/features/core/src/main/resources/OSGI-INF/bundle.info
@@ -1,3 +1,21 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
 ${project.name}

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/http/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/http/src/main/resources/OSGI-INF/bundle.info 
b/http/src/main/resources/OSGI-INF/bundle.info
index 31222c7..1275de3 100644
--- a/http/src/main/resources/OSGI-INF/bundle.info
+++ b/http/src/main/resources/OSGI-INF/bundle.info
@@ -1,19 +1,42 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
-${project.name}
+       ${project.name}
 
-${project.description}
+       ${project.description}
 
-Maven URL:
-[mvn:${project.groupId}/${project.artifactId}/${project.version}]
+       Maven URL:
+               
[mvn:${project.groupId}/${project.artifactId}/${project.version}]
 
 h1. Description
 
-The http mbean management bundle exposes a HTTP MBean that can be used with 
any JMX client (for instance JConsole).
+       The http mbean management bundle exposes a HTTP MBean that can be used 
with any JMX client (for instance JConsole).
 
-The HTTP MBean allows quite the same actions that can be performed using 
http:* commands:
-  * list()
+       The HTTP MBean allows quite the same actions that can be performed 
using http:* commands:
+               * list()
+
+h1. Commands
+
+       The following commands are available:
+\${command-list|http|indent=8,list,cyan}
 
 h1. See also
 
-  * Monitoring and Administration using JMX - section of the Karaf User Guide
+       * Monitoring and Administration using JMX - section of the Karaf User 
Guide

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/instance/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/instance/src/main/resources/OSGI-INF/bundle.info 
b/instance/src/main/resources/OSGI-INF/bundle.info
index 9d305c3..5cb94b4 100644
--- a/instance/src/main/resources/OSGI-INF/bundle.info
+++ b/instance/src/main/resources/OSGI-INF/bundle.info
@@ -1,36 +1,60 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
-${project.name}
+       ${project.name}
 
-${project.description}
+       ${project.description}
 
-Maven URL:
-[mvn:${project.groupId}/${project.artifactId}/${project.version}]
+       Maven URL:
+               
[mvn:${project.groupId}/${project.artifactId}/${project.version}]
 
 h1. Description
 
-This bundle is the core implementation of the Karaf instance feature.
+       This bundle is the core implementation of the Karaf instance feature.
 
-Karaf instance allows you to manage Karaf child instances.
+       Karaf instance allows you to manage Karaf child instances.
 
-You can create new Karaf instances, configure attributes, rename instances, 
stop instances, etc.
+       You can create new Karaf instances, configure attributes, rename 
instances, stop instances, etc.
 
-It also provides JMX MBeans related to the Karaf instance feature.
+h1. Commands
 
-In particular, an InstanceServiceMBean is provided that can be remotely 
administered using a JMX client (for instance
-JConsole).
+       The following commands are available:
+\${command-list|instance|indent=8,list,cyan}
 
-With this InstanceServiceMBean, you have the following operations available:
-* createInstance(name, sshPort, rmiPort, location, javaOpts, features, 
featureURLs) - Creates a new Karaf instance.
-* changeSshPort(name, port) - Changes the SSH port number of an existing Karaf 
instance.
-* changeRmiRegistryPort(name, port) - Changes the RMI registry port number of 
an existing Karaf instance.
-* changeRmiServerPort(name, port) - Changes the RMI server port number of an 
existing Karaf instance.
-* changeJavaOpts(name, javaopts) - Changes the Java options of an existing 
Karaf instance.
-* destroyInstance(name) - Destroys an existing Karaf instance.
-* startInstance(name) - Starts an existing Karaf instance.
-* stopInstance(name) - Stops an existing Karaf instance.
-* renameInstance(originalName, newName) - Renames an existing Karaf instance.
+h1. MBean
+
+       It also provides JMX MBeans related to the Karaf instance feature.
+
+       In particular, an InstanceServiceMBean is provided that can be remotely 
administered using a JMX client (for instance JConsole).
+
+       With this InstanceServiceMBean, you have the following operations 
available:
+               * createInstance(name, sshPort, rmiPort, location, javaOpts, 
features, featureURLs) - Creates a new Karaf instance.
+               * changeSshPort(name, port) - Changes the SSH port number of an 
existing Karaf instance.
+               * changeRmiRegistryPort(name, port) - Changes the RMI registry 
port number of an existing Karaf instance.
+               * changeRmiServerPort(name, port) - Changes the RMI server port 
number of an existing Karaf instance.
+               * changeJavaOpts(name, javaopts) - Changes the Java options of 
an existing Karaf instance.
+               * destroyInstance(name) - Destroys an existing Karaf instance.
+               * startInstance(name) - Starts an existing Karaf instance.
+               * stopInstance(name) - Stops an existing Karaf instance.
+               * renameInstance(originalName, newName) - Renames an existing 
Karaf instance.
 
 h1. See also
 
-Managing child instances - of the Karaf User Guide.
+       Managing child instances - of the Karaf User Guide.

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/jaas/blueprint/config/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/jaas/blueprint/config/src/main/resources/OSGI-INF/bundle.info 
b/jaas/blueprint/config/src/main/resources/OSGI-INF/bundle.info
index 6f57671..db4b4db 100644
--- a/jaas/blueprint/config/src/main/resources/OSGI-INF/bundle.info
+++ b/jaas/blueprint/config/src/main/resources/OSGI-INF/bundle.info
@@ -1,4 +1,22 @@
-\u001B[1mSYNOPSIS\u001B[0m
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
+h1. SYNOPSIS
     ${project.name}
 
     ${project.description}
@@ -6,9 +24,9 @@
     Maven URL:
         
\u001B[33mmvn:${project.groupId}/${project.artifactId}/${project.version}\u001B[0m
 
-\u001B[1mDESCRIPTION\u001B[0m
+h1. DESCRIPTION
     A JAAS Namespace Handler for Blueprint
 
-\u001B[1mSEE ALSO\u001B[0m
+h1. SEE ALSO
     \u001B[36mSecurity Framework\u001B[0m section of the Karaf Developer Guide.
     \u001B[36mhttp://www.jasypt.org/\u001B[0m
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/jaas/blueprint/jasypt/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/jaas/blueprint/jasypt/src/main/resources/OSGI-INF/bundle.info 
b/jaas/blueprint/jasypt/src/main/resources/OSGI-INF/bundle.info
index b95de28..eab4a02 100644
--- a/jaas/blueprint/jasypt/src/main/resources/OSGI-INF/bundle.info
+++ b/jaas/blueprint/jasypt/src/main/resources/OSGI-INF/bundle.info
@@ -1,4 +1,22 @@
-\u001B[1mSYNOPSIS\u001B[0m
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
+h1. SYNOPSIS
     ${project.name}
 
     ${project.description}
@@ -6,9 +24,9 @@
     Maven URL:
         
\u001B[33mmvn:${project.groupId}/${project.artifactId}/${project.version}\u001B[0m
 
-\u001B[1mDESCRIPTION\u001B[0m
+h1. DESCRIPTION
     A Jasypt Namespace Handler for Blueprint
 
-\u001B[1mSEE ALSO\u001B[0m
+h1. SEE ALSO
     \u001B[36mSecurity Framework\u001B[0m section of the Karaf Developer Guide.
     \u001B[36mhttp://www.jasypt.org/\u001B[0m
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/jaas/boot/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/jaas/boot/src/main/resources/OSGI-INF/bundle.info 
b/jaas/boot/src/main/resources/OSGI-INF/bundle.info
index 98d8fa7..1b8d052 100644
--- a/jaas/boot/src/main/resources/OSGI-INF/bundle.info
+++ b/jaas/boot/src/main/resources/OSGI-INF/bundle.info
@@ -1,3 +1,21 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
 ${project.name}

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/jaas/command/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/jaas/command/src/main/resources/OSGI-INF/bundle.info 
b/jaas/command/src/main/resources/OSGI-INF/bundle.info
index 0a54ee5..030ac7f 100644
--- a/jaas/command/src/main/resources/OSGI-INF/bundle.info
+++ b/jaas/command/src/main/resources/OSGI-INF/bundle.info
@@ -1,29 +1,40 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
-${project.name}
+       ${project.name}
 
-${project.description}
+       ${project.description}
 
-Maven URL:
-[mvn:${project.groupId}/${project.artifactId}/${project.version}]
+       Maven URL:
+               
[mvn:${project.groupId}/${project.artifactId}/${project.version}]
 
 h1. Description
 
-This bundle provides Karaf shell commands to manipulate the JAAS security 
framework.
+       This bundle provides Karaf shell commands to manipulate the JAAS 
security framework.
 
-The following commands are available:
-* jaas:cancel - Cancel the modification of a JAAS realm
-* jaas:pending - Lists the modification on the active realm/module
-* jaas:list - Lists the modification on the active realm/module
-* jaas:userlist - Lists the users of the active realm/module
-* jaas:manage - Manage user and roles of a Jaas Realm
-* jaas:roleadd - Add a role to a user
-* jaas:roledel - Delete a role from a user
-* jaas:update - Update JAAS realm
-* jaas:useradd - Add a user
-* jaas:userdel - Delete a user
+h1. Commands
+
+       The following commands are available:
+\${command-list|jaas|indent=8,list.cyan}
 
 h1. See also
 
-* Security - section of the Karaf User Guide
-* Security Framework - section of the Karaf Developer Guide
+       * Security - section of the Karaf User Guide
+       * Security Framework - section of the Karaf Developer Guide

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/jaas/config/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/jaas/config/src/main/resources/OSGI-INF/bundle.info 
b/jaas/config/src/main/resources/OSGI-INF/bundle.info
index 72f3a07..ba907a5 100644
--- a/jaas/config/src/main/resources/OSGI-INF/bundle.info
+++ b/jaas/config/src/main/resources/OSGI-INF/bundle.info
@@ -1,3 +1,21 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
 ${project.name}

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/jaas/jasypt/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/jaas/jasypt/src/main/resources/OSGI-INF/bundle.info 
b/jaas/jasypt/src/main/resources/OSGI-INF/bundle.info
index 86f8f5a..ab962d1 100644
--- a/jaas/jasypt/src/main/resources/OSGI-INF/bundle.info
+++ b/jaas/jasypt/src/main/resources/OSGI-INF/bundle.info
@@ -1,3 +1,21 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
 ${project.name}

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/jaas/modules/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/jaas/modules/src/main/resources/OSGI-INF/bundle.info 
b/jaas/modules/src/main/resources/OSGI-INF/bundle.info
index 8d791f5..5ce5a08 100644
--- a/jaas/modules/src/main/resources/OSGI-INF/bundle.info
+++ b/jaas/modules/src/main/resources/OSGI-INF/bundle.info
@@ -1,3 +1,21 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
 ${project.name}

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/jdbc/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/jdbc/src/main/resources/OSGI-INF/bundle.info 
b/jdbc/src/main/resources/OSGI-INF/bundle.info
index bc7a1cd..548cd96 100644
--- a/jdbc/src/main/resources/OSGI-INF/bundle.info
+++ b/jdbc/src/main/resources/OSGI-INF/bundle.info
@@ -1,18 +1,41 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
-${project.name}
+       ${project.name}
 
-${project.description}
+       ${project.description}
 
-Maven URL:
-[mvn:${project.groupId}/${project.artifactId}/${project.version}]
+       Maven URL:
+               
[mvn:${project.groupId}/${project.artifactId}/${project.version}]
 
 h1. Description
 
-This bundle is the core implementation of the JDBC service support.
+       This bundle is the core implementation of the JDBC service support.
 
-The JDBC service allows you to create datasources, see the defined 
datasources, execute query on a datasource, etc.
+       The JDBC service allows you to create datasources, see the defined 
datasources, execute query on a datasource, etc.
+
+h1. Commands
+
+       The bundle contains the following commands:
+\${command-list|jdbc|indent=8,list,cyan}
 
 h1. See also
 
-JDBC - section of the Karaf User Guide
+       JDBC - section of the Karaf User Guide

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/jms/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/jms/src/main/resources/OSGI-INF/bundle.info 
b/jms/src/main/resources/OSGI-INF/bundle.info
index 1aeb646..9d83749 100644
--- a/jms/src/main/resources/OSGI-INF/bundle.info
+++ b/jms/src/main/resources/OSGI-INF/bundle.info
@@ -1,18 +1,41 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
-${project.name}
+       ${project.name}
 
-${project.description}
+       ${project.description}
 
-Maven URL:
-[mvn:${project.groupId}/${project.artifactId}/${project.version}]
+       Maven URL:
+               
[mvn:${project.groupId}/${project.artifactId}/${project.version}]
 
 h1. Description
 
-This bundle is the core implementation of the JMS service support.
+       This bundle is the core implementation of the JMS service support.
 
-The JMS service allows you to create connection factories, and 
send/browse/consume messages.
+       The JMS service allows you to create connection factories, and 
send/browse/consume messages.
+
+h1. Commands
+
+       The bundle contains the following commands:
+\${command-list|jms|indent=8,list,cyan}
 
 h1. See also
 
-JMS - section of the Karaf User Guide
+       JMS - section of the Karaf User Guide

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/jndi/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/jndi/src/main/resources/OSGI-INF/bundle.info 
b/jndi/src/main/resources/OSGI-INF/bundle.info
index 4a7a606..f414afb 100644
--- a/jndi/src/main/resources/OSGI-INF/bundle.info
+++ b/jndi/src/main/resources/OSGI-INF/bundle.info
@@ -1,19 +1,41 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
-${project.name}
+       ${project.name}
 
-${project.description}
+       ${project.description}
 
-Maven URL:
-[mvn:${project.groupId}/${project.artifactId}/${project.version}]
+       Maven URL:
+               
[mvn:${project.groupId}/${project.artifactId}/${project.version}]
 
 h1. Description
 
-This bundle is the core implementation of the JNDI service support.
+       This bundle is the core implementation of the JNDI service support.
 
-JNDI allows to expose any OSGi services as JNDI names. Karaf JNDI also 
provides a set of commands and a MBean to list
-the current JNDI names, create JNDI aliases, ...
+       JNDI allows to expose any OSGi services as JNDI names. Karaf JNDI also 
provides a set of commands and a MBean to list the current JNDI names, create 
JNDI aliases, ...
+
+h1. Commands
+
+       The bundle contains the following commands:
+\${command-list|jms|indent=8,list,cyan}
 
 h1. See also
 
-JNDI - section of the Karaf User Guide
+       JNDI - section of the Karaf User Guide

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/kar/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/kar/src/main/resources/OSGI-INF/bundle.info 
b/kar/src/main/resources/OSGI-INF/bundle.info
index 7056453..eb89a23 100644
--- a/kar/src/main/resources/OSGI-INF/bundle.info
+++ b/kar/src/main/resources/OSGI-INF/bundle.info
@@ -1,19 +1,41 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
-${project.name}
+       ${project.name}
 
-${project.description}
+       ${project.description}
 
-Maven URL:
-[mvn:${project.groupId}/${project.artifactId}/${project.version}]
+       Maven URL:
+               
[mvn:${project.groupId}/${project.artifactId}/${project.version}]
 
 h1. Description
 
-This bundle is the core implementation of the Karaf kar support.
+       This bundle is the core implementation of the Karaf kar support.
 
-Karaf Archives (KAR) is an artifact (zip file) shipping a features XML and the 
associated bundles or configuration
-files.
+       Karaf Archives (KAR) is an artifact (zip file) shipping a features XML 
and the associated bundles or configuration files.
+
+h1. Commands
+
+       The bundle contains the following commands:
+\${command-list|kar|indent=8,list,cyan}
 
 h1. See also
 
-KAR - section of the Karaf User Guide
+       KAR - section of the Karaf User Guide

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/log/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/log/src/main/resources/OSGI-INF/bundle.info 
b/log/src/main/resources/OSGI-INF/bundle.info
index 2bd45bd..0968088 100644
--- a/log/src/main/resources/OSGI-INF/bundle.info
+++ b/log/src/main/resources/OSGI-INF/bundle.info
@@ -1,24 +1,47 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
-${project.name}
+       ${project.name}
 
-${project.description}
+       ${project.description}
 
-Maven URL:
-[mvn:${project.groupId}/${project.artifactId}/${project.version}]
+       Maven URL:
+               
[mvn:${project.groupId}/${project.artifactId}/${project.version}]
 
 h1. Description
 
-The log mbean management bundle exposes a Log MBean that can be used with any 
JMX client (for instance JConsole).
+       The log mbean management bundle exposes a Log MBean that can be used 
with any JMX client (for instance JConsole).
 
-The Log MBean allows quite the same actions that can be performed using log:* 
commands:
-  * display()
-  * display(logger)
-  * get()
-  * get(logger)
-  * set(level)
-  * list(level, logger)
+       The Log MBean allows quite the same actions that can be performed using 
log:* commands:
+               * display()
+               * display(logger)
+               * get()
+               * get(logger)
+               * set(level)
+               * list(level, logger)
+
+h1. Commands
+
+       The bundle contains the following commands:
+\${command-list|log|indent=8,list,cyan}
 
 h1. See also
 
-  * Monitoring and Administration using JMX - section of the Karaf User Guide
+       * Monitoring and Administration using JMX - section of the Karaf User 
Guide

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/main/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/main/src/main/resources/OSGI-INF/bundle.info 
b/main/src/main/resources/OSGI-INF/bundle.info
index ef32113..1222eae 100644
--- a/main/src/main/resources/OSGI-INF/bundle.info
+++ b/main/src/main/resources/OSGI-INF/bundle.info
@@ -1,17 +1,35 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
-${project.name}
+       ${project.name}
 
-${project.description}
+       ${project.description}
 
-Maven URL:
-[mvn:${project.groupId}/${project.artifactId}/${project.version}]
+       Maven URL:
+               
[mvn:${project.groupId}/${project.artifactId}/${project.version}]
 
 h1. Description
 
-This bundle is responsible for the main Karaf startup.
+       This bundle is responsible for the main Karaf startup.
 
-In particular, it manages the bootstrap of low level Karaf services such as 
the embedded Derby database, locking
+       In particular, it manages the bootstrap of low level Karaf services 
such as the embedded Derby database, locking
 facilities, etc.
 
 h1. See also

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/management/boot/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/management/boot/src/main/resources/OSGI-INF/bundle.info 
b/management/boot/src/main/resources/OSGI-INF/bundle.info
index 9490579..cd40f08 100644
--- a/management/boot/src/main/resources/OSGI-INF/bundle.info
+++ b/management/boot/src/main/resources/OSGI-INF/bundle.info
@@ -1,4 +1,22 @@
-\u001B[1mSYNOPSIS\u001B[0m
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
+h1. SYNOPSIS
     ${project.name}
 
     ${project.description}
@@ -6,7 +24,7 @@
     Maven URL:
         
\u001B[33mmvn:${project.groupId}/${project.artifactId}/${project.version}\u001B[0m
 
-\u001B[1mDESCRIPTION\u001B[0m
+h1. DESCRIPTION
     This bundle provides JMX classes loaded during Karaf boot process.
 
     In particular it provides the KarafMBeanServerBuilder.

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/management/server/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/management/server/src/main/resources/OSGI-INF/bundle.info 
b/management/server/src/main/resources/OSGI-INF/bundle.info
index 137b8d0..0bc7c61 100644
--- a/management/server/src/main/resources/OSGI-INF/bundle.info
+++ b/management/server/src/main/resources/OSGI-INF/bundle.info
@@ -1,3 +1,21 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
 ${project.name}

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/obr/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/obr/src/main/resources/OSGI-INF/bundle.info 
b/obr/src/main/resources/OSGI-INF/bundle.info
index e14433c..0c255b8 100644
--- a/obr/src/main/resources/OSGI-INF/bundle.info
+++ b/obr/src/main/resources/OSGI-INF/bundle.info
@@ -1,24 +1,47 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
-${project.name}
+       ${project.name}
 
-${project.description}
+       ${project.description}
 
-Maven URL:
-[mvn:${project.groupId}/${project.artifactId}/${project.version}]
+       Maven URL:
+               
[mvn:${project.groupId}/${project.artifactId}/${project.version}]
 
 h1. Description
 
-The obr mbean management bundle exposes an OBR MBean that can be used with any 
JMX client (for instance JConsole).
+       The obr mbean management bundle exposes an OBR MBean that can be used 
with any JMX client (for instance JConsole).
 
-The OBR MBean allows quite the same actions that can be performed using obr:* 
commands:
-  * listUrls()
-  * addUrl(url)
-  * removeUrl(url)
-  * refreshUrl(url)
-  * list()
-  * deploy(bundle)
-  * deploy(bundle, start)
+       The OBR MBean allows quite the same actions that can be performed using 
obr:* commands:
+               * listUrls()
+               * addUrl(url)
+               * removeUrl(url)
+               * refreshUrl(url)
+               * list()
+               * deploy(bundle)
+               * deploy(bundle, start)
+
+h1. Commands
+
+       The bundle contains the following commands:
+\${command-list|obr|indent=8,list,cyan}
 
 h1. See also
 

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/package/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/package/src/main/resources/OSGI-INF/bundle.info 
b/package/src/main/resources/OSGI-INF/bundle.info
index b5747b7..6518206 100644
--- a/package/src/main/resources/OSGI-INF/bundle.info
+++ b/package/src/main/resources/OSGI-INF/bundle.info
@@ -1,15 +1,38 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
-${project.name}
+   ${project.name}
 
-${project.description}
+   ${project.description}
 
-Maven URL:
-   [mvn:${project.groupId}/${project.artifactId}/${project.version}]
+   Maven URL:
+      [mvn:${project.groupId}/${project.artifactId}/${project.version}]
 
 h1. Description
 
-Services for handling packages
+   Services for handling packages.
+
+h1. Commands
+
+   The bundle contains the following commands:
+\${command-list|package|indent=8,list,cyan}
 
 h1. See also
 

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index a2247f0..03ab99d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2270,7 +2270,6 @@
                                 <exclude>**/.settings/**</exclude>
                                 <exclude>**/bin/**</exclude>
                                 <!-- resources file -->
-                                <exclude>**/bundle.info</exclude>
                                 <exclude>**/goal.txt</exclude>
                                 <exclude>**/grep.txt</exclude>
                                 <exclude>**/edit.txt</exclude>

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/scheduler/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/scheduler/src/main/resources/OSGI-INF/bundle.info 
b/scheduler/src/main/resources/OSGI-INF/bundle.info
index 074eef4..d959a13 100644
--- a/scheduler/src/main/resources/OSGI-INF/bundle.info
+++ b/scheduler/src/main/resources/OSGI-INF/bundle.info
@@ -1,23 +1,45 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
 h1. Synopsis
 
-${project.name}
+       ${project.name}
 
-${project.description}
+       ${project.description}
 
-Maven URL:
-[mvn:${project.groupId}/${project.artifactId}/${project.version}]
+       Maven URL:
+               
[mvn:${project.groupId}/${project.artifactId}/${project.version}]
 
 h1. Description
 
-This bundle registers a service listener, which listens from service events 
related to java.lang.Runnable and org.apache.karaf.scheduler.Job interface.
-Each service with such interface may be added the following properties:
+       This bundle registers a service listener, which listens from service 
events related to java.lang.Runnable and org.apache.karaf.scheduler.Job 
interface.
+       Each service with such interface may be added the following properties:
+               * scheduler.name
+               * scheduler.period
+               * scheduler.expression
+               * scheduler.immediate
+               * scheduler.concurrent
 
-scheduler.name
-scheduler.period
-scheduler.expression
-scheduler.immediate
-scheduler.concurrent
+       One of scheduler.period or scheduler.expression is mandatory.
 
-One of scheduler.period or scheduler.expression is mandatory.
+h1. Commands
+
+       The bundle contains the following commands:
+\${command-list|scheduler|indent=8,list,cyan}
 
 

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/scr/command/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/scr/command/src/main/resources/OSGI-INF/bundle.info 
b/scr/command/src/main/resources/OSGI-INF/bundle.info
index b518b19..9983d13 100644
--- a/scr/command/src/main/resources/OSGI-INF/bundle.info
+++ b/scr/command/src/main/resources/OSGI-INF/bundle.info
@@ -1,4 +1,23 @@
-\u001B[1mSYNOPSIS\u001B[0m
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
+h1. Synopsis
+
     ${project.name}
 
     ${project.description}
@@ -6,14 +25,15 @@
     Maven URL:
         
\u001B[33mmvn:${project.groupId}/${project.artifactId}/${project.version}\u001B[0m
 
-\u001B[1mDESCRIPTION\u001B[0m
+h1. Description
+
     This bundle provides the Karaf shell commands to manipulate DS Components.
 
+h1. Commands
+
     The following commands are available:
-    \u001B[36mscr:activate\u001B[0m Activates a component for the given 
component name.
-    \u001B[36mscr:deactivate\u001B[0m Deactivates a component for the given 
component name.
-    \u001B[36mscr:details\u001B[0m Shows details for the component with the 
given component name.
-    \u001B[36mscr:list\u001B[0m Gets the list of the currently available 
components.
+\${command-list|scr|indent=8,list,cyan}
+
+h1. See also
 
-\u001B[1mSEE ALSO\u001B[0m
     \u001B[36mCommands\u001B[0m and \u001B[36mDeclarative Services\u001B[0m 
sections of the Karaf User Guide.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/karaf/blob/f38a1e20/scr/examples/component-factory/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git 
a/scr/examples/component-factory/src/main/resources/OSGI-INF/bundle.info 
b/scr/examples/component-factory/src/main/resources/OSGI-INF/bundle.info
index 655a64e..4e86c5a 100644
--- a/scr/examples/component-factory/src/main/resources/OSGI-INF/bundle.info
+++ b/scr/examples/component-factory/src/main/resources/OSGI-INF/bundle.info
@@ -1,4 +1,22 @@
-\u001B[1mSYNOPSIS\u001B[0m
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
+h1. SYNOPSIS
     ${project.name}
 
     ${project.description}
@@ -6,5 +24,5 @@
     Maven URL:
         
\u001B[33mmvn:${project.groupId}/${project.artifactId}/${project.version}\u001B[0m
 
-\u001B[1mDESCRIPTION\u001B[0m
+h1. DESCRIPTION
     An SCR example project for Component Factories.
\ No newline at end of file

Reply via email to