You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2015/03/04 16:56:10 UTC

[1/4] karaf git commit: Revert "Fix problem with updating snapshots"

Repository: karaf
Updated Branches:
  refs/heads/master 087259696 -> 026d3d99b


Revert "Fix problem with updating snapshots"

This reverts commit f4f2c91fa549d504f751f53ff5b65418a04ee163.


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

Branch: refs/heads/master
Commit: 759d29cfa17185cec147ca5b1ff9b8e8daa3ddb0
Parents: 0872596
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Wed Mar 4 15:04:40 2015 +0100
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Wed Mar 4 15:04:40 2015 +0100

----------------------------------------------------------------------
 .../apache/karaf/features/internal/service/FeaturesServiceImpl.java | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/759d29cf/features/core/src/main/java/org/apache/karaf/features/internal/service/FeaturesServiceImpl.java
----------------------------------------------------------------------
diff --git a/features/core/src/main/java/org/apache/karaf/features/internal/service/FeaturesServiceImpl.java b/features/core/src/main/java/org/apache/karaf/features/internal/service/FeaturesServiceImpl.java
index 156cdae..d98049f 100644
--- a/features/core/src/main/java/org/apache/karaf/features/internal/service/FeaturesServiceImpl.java
+++ b/features/core/src/main/java/org/apache/karaf/features/internal/service/FeaturesServiceImpl.java
@@ -1011,7 +1011,6 @@ public class FeaturesServiceImpl implements FeaturesService, Deployer.DeployCall
         Deployer.DeploymentRequest request = new Deployer.DeploymentRequest();
         request.bundleUpdateRange = bundleUpdateRange;
         request.featureResolutionRange = featureResolutionRange;
-        request.updateSnaphots = updateSnaphots;
         request.globalRepository = globalRepository;
         request.overrides = Overrides.loadOverrides(overrides);
         request.requirements = requirements;


[2/4] karaf git commit: [KARAF-3584] Generate metadata for activator / capabilities and requirements directly

Posted by gn...@apache.org.
[KARAF-3584] Generate metadata for activator / capabilities and requirements directly

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

Branch: refs/heads/master
Commit: dfceded06cfa5c272a02d1fb7e919857254da073
Parents: 759d29c
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Wed Mar 4 10:55:37 2015 +0100
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Wed Mar 4 16:04:56 2015 +0100

----------------------------------------------------------------------
 bundle/core/pom.xml                                 |  9 ---------
 config/pom.xml                                      |  9 ---------
 deployer/blueprint/pom.xml                          |  9 ---------
 deployer/features/pom.xml                           |  9 ---------
 deployer/kar/pom.xml                                |  9 ---------
 deployer/spring/pom.xml                             |  9 ---------
 deployer/wrap/pom.xml                               | 10 ----------
 diagnostic/core/pom.xml                             |  6 ------
 features/core/pom.xml                               |  3 ---
 http/pom.xml                                        |  9 ---------
 instance/pom.xml                                    |  9 ---------
 jaas/modules/pom.xml                                |  3 ---
 jdbc/pom.xml                                        |  9 ---------
 jndi/pom.xml                                        |  9 ---------
 kar/pom.xml                                         |  3 ---
 log/pom.xml                                         |  9 ---------
 management/server/pom.xml                           |  9 ---------
 obr/pom.xml                                         |  9 ---------
 package/pom.xml                                     |  9 ---------
 pom.xml                                             |  3 +--
 profile/pom.xml                                     |  9 ---------
 scheduler/pom.xml                                   | 11 +++--------
 shell/ssh/pom.xml                                   |  7 -------
 system/pom.xml                                      |  9 ---------
 .../tooling/tracker/GenerateServiceMetadata.java    | 16 ++++++++++++++--
 web/pom.xml                                         |  9 ---------
 wrapper/pom.xml                                     |  9 ---------
 27 files changed, 18 insertions(+), 206 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/bundle/core/pom.xml
----------------------------------------------------------------------
diff --git a/bundle/core/pom.xml b/bundle/core/pom.xml
index 4a41e0d..40b996e 100644
--- a/bundle/core/pom.xml
+++ b/bundle/core/pom.xml
@@ -138,18 +138,9 @@
                             org.apache.felix.utils.version,
                             org.apache.felix.utils.manifest
                         </Private-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
                         <Embed-Dependency>
                             org.apache.karaf.jaas.modules;inline="org/apache/karaf/jaas/modules/JaasHelper*.class"
                         </Embed-Dependency>
-                        <Bundle-Activator>
-                            org.apache.karaf.bundle.core.internal.osgi.Activator
-                        </Bundle-Activator>
                         <Karaf-Commands>org.apache.karaf.bundle.command.*</Karaf-Commands>
                     </instructions>
                 </configuration>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/config/pom.xml
----------------------------------------------------------------------
diff --git a/config/pom.xml b/config/pom.xml
index c12a911..96c16c3 100644
--- a/config/pom.xml
+++ b/config/pom.xml
@@ -114,15 +114,6 @@
                             org.apache.karaf.util.tracker,
                             org.apache.felix.utils.properties
                         </Private-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
-                        <Bundle-Activator>
-                            org.apache.karaf.config.core.impl.osgi.Activator
-                        </Bundle-Activator>
                         <Karaf-Commands>org.apache.karaf.config.command.*</Karaf-Commands>
                     </instructions>
                 </configuration>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/deployer/blueprint/pom.xml
----------------------------------------------------------------------
diff --git a/deployer/blueprint/pom.xml b/deployer/blueprint/pom.xml
index 3fa0fea..d1605de 100644
--- a/deployer/blueprint/pom.xml
+++ b/deployer/blueprint/pom.xml
@@ -99,15 +99,6 @@
                             org.apache.karaf.util,
                             org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
-                        <Bundle-Activator>
-                            org.apache.karaf.deployer.blueprint.osgi.Activator
-                        </Bundle-Activator>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/deployer/features/pom.xml
----------------------------------------------------------------------
diff --git a/deployer/features/pom.xml b/deployer/features/pom.xml
index 9a1bbbd..90f237d 100644
--- a/deployer/features/pom.xml
+++ b/deployer/features/pom.xml
@@ -107,15 +107,6 @@
                             org.apache.karaf.util,
                             org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
-                        <Bundle-Activator>
-                            org.apache.karaf.deployer.features.osgi.Activator
-                        </Bundle-Activator>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/deployer/kar/pom.xml
----------------------------------------------------------------------
diff --git a/deployer/kar/pom.xml b/deployer/kar/pom.xml
index 45228a6..3abe7cc 100644
--- a/deployer/kar/pom.xml
+++ b/deployer/kar/pom.xml
@@ -115,15 +115,6 @@
                             org.apache.karaf.deployer.kar.osgi,
                             org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
-                        <Bundle-Activator>
-                            org.apache.karaf.deployer.kar.osgi.Activator
-                        </Bundle-Activator>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/deployer/spring/pom.xml
----------------------------------------------------------------------
diff --git a/deployer/spring/pom.xml b/deployer/spring/pom.xml
index 28f4f3c..b8ee2f4 100644
--- a/deployer/spring/pom.xml
+++ b/deployer/spring/pom.xml
@@ -103,15 +103,6 @@
                             org.apache.karaf.util,
                             org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
-                        <Bundle-Activator>
-                            org.apache.karaf.deployer.spring.osgi.Activator
-                        </Bundle-Activator>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/deployer/wrap/pom.xml
----------------------------------------------------------------------
diff --git a/deployer/wrap/pom.xml b/deployer/wrap/pom.xml
index c02bc2d..a8c9a2e 100644
--- a/deployer/wrap/pom.xml
+++ b/deployer/wrap/pom.xml
@@ -88,16 +88,6 @@
                             org.apache.karaf.util,
                             org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
-                        <Bundle-Activator>
-                            org.apache.karaf.deployer.wrap.osgi.Activator
-                        </Bundle-Activator>
-                        <_versionpolicy>${bnd.version.policy}</_versionpolicy>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/diagnostic/core/pom.xml
----------------------------------------------------------------------
diff --git a/diagnostic/core/pom.xml b/diagnostic/core/pom.xml
index 2012ee5..380e277 100644
--- a/diagnostic/core/pom.xml
+++ b/diagnostic/core/pom.xml
@@ -115,12 +115,6 @@
                             org.apache.karaf.util,
                             org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
                         <Bundle-Activator>
                             org.apache.karaf.diagnostic.internal.Activator
                         </Bundle-Activator>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/features/core/pom.xml
----------------------------------------------------------------------
diff --git a/features/core/pom.xml b/features/core/pom.xml
index 228107a..fd6f5cc 100644
--- a/features/core/pom.xml
+++ b/features/core/pom.xml
@@ -155,9 +155,6 @@
                         <Embed-Dependency>
                             org.apache.karaf.util;inline="org/apache/karaf/util/XmlUtils*.class"
                         </Embed-Dependency>
-                        <Bundle-Activator>
-                            org.apache.karaf.features.internal.osgi.Activator
-                        </Bundle-Activator>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/http/pom.xml
----------------------------------------------------------------------
diff --git a/http/pom.xml b/http/pom.xml
index df78746..596db4d 100644
--- a/http/pom.xml
+++ b/http/pom.xml
@@ -104,15 +104,6 @@
                             org.apache.felix.utils.version,
                             org.apache.felix.utils.manifest,
                         </Private-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
-                        <Bundle-Activator>
-                            org.apache.karaf.http.core.internal.osgi.Activator
-                        </Bundle-Activator>
                         <Karaf-Commands>*</Karaf-Commands>
                     </instructions>
                 </configuration>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/instance/pom.xml
----------------------------------------------------------------------
diff --git a/instance/pom.xml b/instance/pom.xml
index 99010cc..9ffe1b0 100644
--- a/instance/pom.xml
+++ b/instance/pom.xml
@@ -187,12 +187,6 @@
                             !org.apache.karaf.instance.core.internal,
                             *
                         </Import-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
                         <Private-Package>
                             org.apache.karaf.jpm,
                             org.apache.karaf.jpm.impl,
@@ -206,9 +200,6 @@
                             org.apache.karaf.util.locks,
                             org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Bundle-Activator>
-                            org.apache.karaf.instance.core.internal.osgi.Activator
-                        </Bundle-Activator>
                         <Karaf-Commands>org.apache.karaf.instance.command.*</Karaf-Commands>
                     </instructions>
                 </configuration>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/jaas/modules/pom.xml
----------------------------------------------------------------------
diff --git a/jaas/modules/pom.xml b/jaas/modules/pom.xml
index 2d5c181..81530cd 100644
--- a/jaas/modules/pom.xml
+++ b/jaas/modules/pom.xml
@@ -163,9 +163,6 @@
                             org.apache.http*,
                             org.apache.commons.codec*
                         </Private-Package>
-                        <Bundle-Activator>
-                            org.apache.karaf.jaas.modules.impl.Activator
-                        </Bundle-Activator>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index d56e910..5ab594b 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -101,15 +101,6 @@
                             org.apache.karaf.util,
                             org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
-                        <Bundle-Activator>
-                            org.apache.karaf.jdbc.internal.osgi.Activator
-                        </Bundle-Activator>
                         <Karaf-Commands>*</Karaf-Commands>
                     </instructions>
                 </configuration>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/jndi/pom.xml
----------------------------------------------------------------------
diff --git a/jndi/pom.xml b/jndi/pom.xml
index d7b8df6..a6d517e 100644
--- a/jndi/pom.xml
+++ b/jndi/pom.xml
@@ -99,16 +99,7 @@
                             org.apache.karaf.jndi.internal.osgi,
                             org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
                         <Karaf-Commands>*</Karaf-Commands>
-                        <Bundle-Activator>
-                            org.apache.karaf.jndi.internal.osgi.Activator
-                        </Bundle-Activator>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/kar/pom.xml
----------------------------------------------------------------------
diff --git a/kar/pom.xml b/kar/pom.xml
index bf88696..7409c05 100644
--- a/kar/pom.xml
+++ b/kar/pom.xml
@@ -116,9 +116,6 @@
                             org.apache.karaf.util.tracker,
                             org.apache.felix.utils.properties
                         </Private-Package>
-                        <Bundle-Activator>
-                            org.apache.karaf.kar.internal.osgi.Activator
-                        </Bundle-Activator>
                         <Karaf-Commands>org.apache.karaf.kar.command.*</Karaf-Commands>
                     </instructions>
                 </configuration>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/log/pom.xml
----------------------------------------------------------------------
diff --git a/log/pom.xml b/log/pom.xml
index 4b3ba9c..5daab0b 100644
--- a/log/pom.xml
+++ b/log/pom.xml
@@ -111,15 +111,6 @@
                             org.apache.karaf.log.core.internal.osgi,
                             org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
-                        <Bundle-Activator>
-                            org.apache.karaf.log.core.internal.osgi.Activator
-                        </Bundle-Activator>
                         <Karaf-Commands>
                             org.apache.karaf.log.command*
                         </Karaf-Commands>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/management/server/pom.xml
----------------------------------------------------------------------
diff --git a/management/server/pom.xml b/management/server/pom.xml
index 670b024..f698ffc 100644
--- a/management/server/pom.xml
+++ b/management/server/pom.xml
@@ -122,15 +122,6 @@
                             org.apache.karaf.util.jaas,
                             org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
-                        <Bundle-Activator>
-                            org.apache.karaf.management.internal.Activator
-                        </Bundle-Activator>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/obr/pom.xml
----------------------------------------------------------------------
diff --git a/obr/pom.xml b/obr/pom.xml
index 32ab70b..dd2362d 100644
--- a/obr/pom.xml
+++ b/obr/pom.xml
@@ -97,15 +97,6 @@
                             org.apache.karaf.obr.core.internal.osgi,
                             org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
-                        <Bundle-Activator>
-                            org.apache.karaf.obr.core.internal.osgi.Activator
-                        </Bundle-Activator>
                         <Karaf-Commands>*</Karaf-Commands>
                     </instructions>
                 </configuration>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/package/pom.xml
----------------------------------------------------------------------
diff --git a/package/pom.xml b/package/pom.xml
index eadf1af..fba9279 100644
--- a/package/pom.xml
+++ b/package/pom.xml
@@ -120,15 +120,6 @@
                             org.apache.felix.utils.version,
                             org.apache.felix.utils.manifest
                         </Private-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
-                        <Bundle-Activator>
-                            org.apache.karaf.packages.core.internal.osgi.Activator
-                        </Bundle-Activator>
                         <Karaf-Commands>
                             org.apache.karaf.packages.command
                         </Karaf-Commands>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index c036a18..b2dda1b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2167,9 +2167,8 @@
                         <nsh_interface>org.apache.aries.blueprint.NamespaceHandler</nsh_interface>
                         <nsh_namespace>osgi.service.blueprint.namespace</nsh_namespace>
                         <_removeheaders>Private-Package,Include-Resource,Embed-Dependency,Created-By,Bnd-LastModified,Built-By,Tool</_removeheaders>
+                        <_versionpolicy>${bnd.version.policy}</_versionpolicy>
                         <Bundle-DocURL>http://karaf.apache.org/</Bundle-DocURL>
-                        <Provide-Capability>${capabilities}</Provide-Capability>
-                        <Require-Capability>${requirements}</Require-Capability>
                     </instructions>
                 </configuration>
                 <executions>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/profile/pom.xml
----------------------------------------------------------------------
diff --git a/profile/pom.xml b/profile/pom.xml
index b2fab7d..1bde1b7 100644
--- a/profile/pom.xml
+++ b/profile/pom.xml
@@ -188,15 +188,6 @@
                             org.apache.felix.utils.version,
                             org.apache.felix.utils.properties,
                         </Private-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
-                        <Bundle-Activator>
-                            org.apache.karaf.profile.impl.osgi.Activator
-                        </Bundle-Activator>
                         <Karaf-Commands>
                             org.apache.karaf.profile.command.*
                         </Karaf-Commands>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/scheduler/pom.xml
----------------------------------------------------------------------
diff --git a/scheduler/pom.xml b/scheduler/pom.xml
index 9d5287f..66ffa69 100644
--- a/scheduler/pom.xml
+++ b/scheduler/pom.xml
@@ -60,8 +60,6 @@
                 <artifactId>maven-bundle-plugin</artifactId>
                 <configuration>
                     <instructions>
-                        <Bundle-Activator>org.apache.karaf.scheduler.core.Activator</Bundle-Activator>
-                        <Karaf-Commands>org.apache.karaf.scheduler.command</Karaf-Commands>
                         <Export-Package>
                             org.apache.karaf.scheduler;version=${project.version};-noimport:=true
                         </Export-Package>
@@ -85,12 +83,9 @@
                             org.quartz.simpl.*,
                             org.quartz.utils.*,
                         </Private-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
+                        <Karaf-Commands>
+                            org.apache.karaf.scheduler.command
+                        </Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/shell/ssh/pom.xml
----------------------------------------------------------------------
diff --git a/shell/ssh/pom.xml b/shell/ssh/pom.xml
index d297159..7f4d60b 100644
--- a/shell/ssh/pom.xml
+++ b/shell/ssh/pom.xml
@@ -119,13 +119,6 @@
                             org.apache.karaf.util.jaas,
                             org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
-                        <Bundle-Activator>org.apache.karaf.shell.ssh.Activator</Bundle-Activator>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/system/pom.xml
----------------------------------------------------------------------
diff --git a/system/pom.xml b/system/pom.xml
index 8729359..333899d 100644
--- a/system/pom.xml
+++ b/system/pom.xml
@@ -105,15 +105,6 @@
                             org.apache.karaf.util.tracker,
                             org.apache.felix.utils.properties
                         </Private-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
-                        <Bundle-Activator>
-                            org.apache.karaf.system.internal.osgi.Activator
-                        </Bundle-Activator>
                         <Karaf-Commands>*</Karaf-Commands>
                     </instructions>
                 </configuration>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/tooling/karaf-services-maven-plugin/src/main/java/org/apache/karaf/tooling/tracker/GenerateServiceMetadata.java
----------------------------------------------------------------------
diff --git a/tooling/karaf-services-maven-plugin/src/main/java/org/apache/karaf/tooling/tracker/GenerateServiceMetadata.java b/tooling/karaf-services-maven-plugin/src/main/java/org/apache/karaf/tooling/tracker/GenerateServiceMetadata.java
index 5fb78de..10aafc8 100644
--- a/tooling/karaf-services-maven-plugin/src/main/java/org/apache/karaf/tooling/tracker/GenerateServiceMetadata.java
+++ b/tooling/karaf-services-maven-plugin/src/main/java/org/apache/karaf/tooling/tracker/GenerateServiceMetadata.java
@@ -40,6 +40,7 @@ import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.apache.maven.project.MavenProject;
 import org.apache.xbean.finder.ClassFinder;
+import org.osgi.framework.BundleActivator;
 
 /**
  * Generates service requirement and capabilities for activators
@@ -53,10 +54,13 @@ public class GenerateServiceMetadata extends AbstractMojo {
     @Parameter(defaultValue = "${project}")
     protected MavenProject project;
 
-    @Parameter(defaultValue="requirements")
+    @Parameter(defaultValue="BNDExtension-Bundle-Activator")
+    protected String activatorProperty;
+
+    @Parameter(defaultValue="BNDExtension-Require-Capability")
     protected String requirementsProperty;
 
-    @Parameter(defaultValue="capabilities")
+    @Parameter(defaultValue="BNDExtension-Provide-Capability")
     protected String capabilitiesProperty;
 
     @Parameter(defaultValue = "${project.build.directory}/generated/karaf-tracker")
@@ -79,6 +83,7 @@ public class GenerateServiceMetadata extends AbstractMojo {
             ClassFinder finder = createFinder(classLoader);
             List<Class<?>> classes = finder.findAnnotatedClasses(Services.class);
 
+            List<Class> activators = new ArrayList<>();
             for (Class<?> clazz : classes) {
                 URL classUrl = clazz.getClassLoader().getResource(clazz.getName().replace('.', '/') + ".class");
                 if (classUrl == null || !classUrl.getPath().startsWith(project.getBuild().getOutputDirectory())) {
@@ -86,6 +91,10 @@ public class GenerateServiceMetadata extends AbstractMojo {
                     continue;
                 }
 
+                if (BundleActivator.class.isAssignableFrom(clazz)) {
+                    activators.add(clazz);
+                }
+
                 Properties props = new Properties();
                 Services services = clazz.getAnnotation(Services.class);
                 if (services != null) {
@@ -137,6 +146,9 @@ public class GenerateServiceMetadata extends AbstractMojo {
 
             project.getProperties().setProperty(requirementsProperty, requirements.toString());
             project.getProperties().setProperty(capabilitiesProperty, capabilities.toString());
+            if (activators.size() == 1) {
+                project.getProperties().setProperty(activatorProperty, activators.get(0).getName());
+            }
 
         } catch (Exception e) {
             throw new MojoExecutionException("Error building commands help", e);

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/web/pom.xml
----------------------------------------------------------------------
diff --git a/web/pom.xml b/web/pom.xml
index a2754f3..b9fb6be 100644
--- a/web/pom.xml
+++ b/web/pom.xml
@@ -105,15 +105,6 @@
                             org.apache.karaf.web.management.internal,
                             org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
-                        <Bundle-Activator>
-                            org.apache.karaf.web.internal.osgi.Activator
-                        </Bundle-Activator>
                         <Karaf-Commands>*</Karaf-Commands>
                     </instructions>
                 </configuration>

http://git-wip-us.apache.org/repos/asf/karaf/blob/dfceded0/wrapper/pom.xml
----------------------------------------------------------------------
diff --git a/wrapper/pom.xml b/wrapper/pom.xml
index 9c469f2..ae427ce 100644
--- a/wrapper/pom.xml
+++ b/wrapper/pom.xml
@@ -124,15 +124,6 @@
                             !org.tanukisoftware.wrapper*,
                             *
                         </Import-Package>
-                        <Bundle-Activator>
-                            org.apache.karaf.wrapper.internal.osgi.Activator
-                        </Bundle-Activator>
-                        <Provide-Capability>
-                            ${capabilities}
-                        </Provide-Capability>
-                        <Require-Capability>
-                            ${requirements}
-                        </Require-Capability>
                         <Karaf-Commands>
                             org.apache.karaf.wrapper.commands
                         </Karaf-Commands>


[3/4] karaf git commit: [KARAF-3584] Generate metadata from the karaf-services-maven-plugin

Posted by gn...@apache.org.
http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/wrapper/pom.xml
----------------------------------------------------------------------
diff --git a/wrapper/pom.xml b/wrapper/pom.xml
index ae427ce..ffb7f77 100644
--- a/wrapper/pom.xml
+++ b/wrapper/pom.xml
@@ -114,7 +114,6 @@
                             org.apache.karaf.wrapper.internal.osgi,
                             org.apache.karaf.wrapper.internal.service,
                             org.apache.karaf.wrapper.management.internal,
-                            org.apache.karaf.util.tracker
                         </Private-Package>
                         <Import-Package>
                             !org.apache.felix.utils.properties,
@@ -124,9 +123,6 @@
                             !org.tanukisoftware.wrapper*,
                             *
                         </Import-Package>
-                        <Karaf-Commands>
-                            org.apache.karaf.wrapper.commands
-                        </Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/wrapper/src/main/java/org/apache/karaf/wrapper/internal/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/wrapper/src/main/java/org/apache/karaf/wrapper/internal/osgi/Activator.java b/wrapper/src/main/java/org/apache/karaf/wrapper/internal/osgi/Activator.java
index 43aebe9..1850118 100644
--- a/wrapper/src/main/java/org/apache/karaf/wrapper/internal/osgi/Activator.java
+++ b/wrapper/src/main/java/org/apache/karaf/wrapper/internal/osgi/Activator.java
@@ -17,8 +17,8 @@
 package org.apache.karaf.wrapper.internal.osgi;
 
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.ProvideService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.ProvideService;
+import org.apache.karaf.util.tracker.annotation.Services;
 import org.apache.karaf.wrapper.WrapperService;
 import org.apache.karaf.wrapper.internal.WrapperServiceImpl;
 import org.apache.karaf.wrapper.management.internal.WrapperMBeanImpl;


[4/4] karaf git commit: [KARAF-3584] Generate metadata from the karaf-services-maven-plugin

Posted by gn...@apache.org.
[KARAF-3584] Generate metadata from the karaf-services-maven-plugin


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

Branch: refs/heads/master
Commit: 026d3d99be4991d239635026e61ac058440914c1
Parents: dfceded
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Wed Mar 4 13:56:04 2015 +0100
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Wed Mar 4 16:05:39 2015 +0100

----------------------------------------------------------------------
 bundle/core/pom.xml                             |  2 -
 .../bundle/core/internal/osgi/Activator.java    |  6 +--
 config/pom.xml                                  |  2 -
 .../karaf/config/core/impl/osgi/Activator.java  |  6 +--
 deployer/blueprint/pom.xml                      |  1 -
 .../deployer/blueprint/osgi/Activator.java      |  2 +-
 deployer/features/pom.xml                       |  1 -
 .../karaf/deployer/features/osgi/Activator.java |  4 +-
 deployer/kar/pom.xml                            |  1 -
 .../karaf/deployer/kar/osgi/Activator.java      |  4 +-
 deployer/spring/pom.xml                         |  1 -
 .../karaf/deployer/spring/osgi/Activator.java   |  2 +-
 deployer/wrap/pom.xml                           |  1 -
 .../karaf/deployer/wrap/osgi/Activator.java     |  4 +-
 diagnostic/core/pom.xml                         |  2 -
 features/command/pom.xml                        |  5 ++-
 features/core/pom.xml                           |  1 -
 .../karaf/features/internal/osgi/Activator.java |  6 +--
 http/pom.xml                                    |  6 ++-
 .../http/core/internal/osgi/Activator.java      |  4 +-
 instance/pom.xml                                |  2 -
 .../instance/core/internal/osgi/Activator.java  |  4 +-
 jaas/command/pom.xml                            |  7 ++--
 jaas/modules/pom.xml                            |  1 -
 .../karaf/jaas/modules/impl/Activator.java      |  6 +--
 jdbc/pom.xml                                    |  2 -
 .../karaf/jdbc/internal/osgi/Activator.java     |  6 +--
 jms/pom.xml                                     |  5 ++-
 jndi/pom.xml                                    |  2 -
 .../karaf/jndi/internal/osgi/Activator.java     |  6 +--
 kar/pom.xml                                     |  2 -
 .../karaf/kar/internal/osgi/Activator.java      |  8 ++--
 log/pom.xml                                     |  4 --
 .../karaf/log/core/internal/osgi/Activator.java |  8 ++--
 management/server/pom.xml                       |  1 -
 .../karaf/management/internal/Activator.java    |  8 ++--
 obr/pom.xml                                     |  2 -
 .../karaf/obr/core/internal/osgi/Activator.java |  4 +-
 package/pom.xml                                 |  4 --
 .../packages/core/internal/osgi/Activator.java  |  4 +-
 pom.xml                                         |  2 +-
 profile/pom.xml                                 |  4 --
 .../karaf/profile/impl/osgi/Activator.java      |  7 ++--
 scheduler/pom.xml                               |  4 --
 .../apache/karaf/scheduler/core/Activator.java  |  4 +-
 scr/command/pom.xml                             |  5 ++-
 service/core/pom.xml                            |  9 ++---
 .../service/core/internal/osgi/Activator.java   |  2 +-
 services/maven-proxy/pom.xml                    |  4 --
 .../services/mavenproxy/internal/Activator.java |  6 +--
 shell/commands/pom.xml                          |  7 ++--
 shell/core/pom.xml                              |  5 ---
 shell/ssh/pom.xml                               |  1 -
 .../org/apache/karaf/shell/ssh/Activator.java   |  6 +--
 subsystem/pom.xml                               | 10 ++---
 system/pom.xml                                  |  2 -
 .../karaf/system/internal/osgi/Activator.java   |  4 +-
 tooling/karaf-services-maven-plugin/pom.xml     |  8 ++++
 .../tracker/GenerateServiceMetadata.java        | 31 ++++++++++++---
 .../karaf/util/tracker/BaseActivator.java       | 40 ++++++++------------
 .../org/apache/karaf/util/tracker/Managed.java  | 30 ---------------
 .../karaf/util/tracker/ProvideService.java      | 27 -------------
 .../karaf/util/tracker/RequireService.java      | 31 ---------------
 .../org/apache/karaf/util/tracker/Services.java | 32 ----------------
 .../util/tracker/SingleServiceTracker.java      | 39 ++++++++++---------
 .../karaf/util/tracker/annotation/Managed.java  | 30 +++++++++++++++
 .../util/tracker/annotation/ProvideService.java | 27 +++++++++++++
 .../util/tracker/annotation/RequireService.java | 31 +++++++++++++++
 .../karaf/util/tracker/annotation/Services.java | 32 ++++++++++++++++
 web/pom.xml                                     |  2 -
 .../karaf/web/internal/osgi/Activator.java      |  7 ++--
 wrapper/pom.xml                                 |  4 --
 .../karaf/wrapper/internal/osgi/Activator.java  |  4 +-
 73 files changed, 286 insertions(+), 318 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/bundle/core/pom.xml
----------------------------------------------------------------------
diff --git a/bundle/core/pom.xml b/bundle/core/pom.xml
index 40b996e..c866a00 100644
--- a/bundle/core/pom.xml
+++ b/bundle/core/pom.xml
@@ -134,14 +134,12 @@
                             org.apache.karaf.util.bundles,
                             org.apache.karaf.util.jaas,
                             org.apache.karaf.util.maven,
-                            org.apache.karaf.util.tracker,
                             org.apache.felix.utils.version,
                             org.apache.felix.utils.manifest
                         </Private-Package>
                         <Embed-Dependency>
                             org.apache.karaf.jaas.modules;inline="org/apache/karaf/jaas/modules/JaasHelper*.class"
                         </Embed-Dependency>
-                        <Karaf-Commands>org.apache.karaf.bundle.command.*</Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/bundle/core/src/main/java/org/apache/karaf/bundle/core/internal/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/bundle/core/src/main/java/org/apache/karaf/bundle/core/internal/osgi/Activator.java b/bundle/core/src/main/java/org/apache/karaf/bundle/core/internal/osgi/Activator.java
index c5c765b..7dfdde1 100644
--- a/bundle/core/src/main/java/org/apache/karaf/bundle/core/internal/osgi/Activator.java
+++ b/bundle/core/src/main/java/org/apache/karaf/bundle/core/internal/osgi/Activator.java
@@ -24,9 +24,9 @@ import org.apache.karaf.bundle.core.internal.BundleWatcherImpl;
 import org.apache.karaf.bundle.core.internal.BundlesMBeanImpl;
 import org.apache.karaf.bundle.core.internal.MavenConfigService;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.ProvideService;
-import org.apache.karaf.util.tracker.RequireService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.ProvideService;
+import org.apache.karaf.util.tracker.annotation.RequireService;
+import org.apache.karaf.util.tracker.annotation.Services;
 import org.osgi.framework.ServiceReference;
 import org.osgi.service.cm.ConfigurationAdmin;
 import org.osgi.util.tracker.ServiceTracker;

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/config/pom.xml
----------------------------------------------------------------------
diff --git a/config/pom.xml b/config/pom.xml
index 96c16c3..29b683f 100644
--- a/config/pom.xml
+++ b/config/pom.xml
@@ -111,10 +111,8 @@
                         <Private-Package>
                             org.apache.karaf.config.core.impl,
                             org.apache.karaf.config.core.impl.osgi,
-                            org.apache.karaf.util.tracker,
                             org.apache.felix.utils.properties
                         </Private-Package>
-                        <Karaf-Commands>org.apache.karaf.config.command.*</Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/config/src/main/java/org/apache/karaf/config/core/impl/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/config/src/main/java/org/apache/karaf/config/core/impl/osgi/Activator.java b/config/src/main/java/org/apache/karaf/config/core/impl/osgi/Activator.java
index 41f50db..8ea04c5 100644
--- a/config/src/main/java/org/apache/karaf/config/core/impl/osgi/Activator.java
+++ b/config/src/main/java/org/apache/karaf/config/core/impl/osgi/Activator.java
@@ -20,9 +20,9 @@ import org.apache.karaf.config.core.ConfigRepository;
 import org.apache.karaf.config.core.impl.ConfigMBeanImpl;
 import org.apache.karaf.config.core.impl.ConfigRepositoryImpl;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.ProvideService;
-import org.apache.karaf.util.tracker.RequireService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.ProvideService;
+import org.apache.karaf.util.tracker.annotation.RequireService;
+import org.apache.karaf.util.tracker.annotation.Services;
 import org.osgi.service.cm.ConfigurationAdmin;
 
 import java.io.File;

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/deployer/blueprint/pom.xml
----------------------------------------------------------------------
diff --git a/deployer/blueprint/pom.xml b/deployer/blueprint/pom.xml
index d1605de..dc9ff56 100644
--- a/deployer/blueprint/pom.xml
+++ b/deployer/blueprint/pom.xml
@@ -97,7 +97,6 @@
                             org.apache.karaf.deployer.blueprint,
                             org.apache.karaf.deployer.blueprint.osgi,
                             org.apache.karaf.util,
-                            org.apache.karaf.util.tracker
                         </Private-Package>
                     </instructions>
                 </configuration>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/deployer/blueprint/src/main/java/org/apache/karaf/deployer/blueprint/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/deployer/blueprint/src/main/java/org/apache/karaf/deployer/blueprint/osgi/Activator.java b/deployer/blueprint/src/main/java/org/apache/karaf/deployer/blueprint/osgi/Activator.java
index d1465f9..a7db87a 100644
--- a/deployer/blueprint/src/main/java/org/apache/karaf/deployer/blueprint/osgi/Activator.java
+++ b/deployer/blueprint/src/main/java/org/apache/karaf/deployer/blueprint/osgi/Activator.java
@@ -24,7 +24,7 @@ import org.apache.felix.fileinstall.ArtifactUrlTransformer;
 import org.apache.karaf.deployer.blueprint.BlueprintDeploymentListener;
 import org.apache.karaf.deployer.blueprint.BlueprintURLHandler;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.Services;
 import org.osgi.service.url.URLStreamHandlerService;
 
 @Services

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/deployer/features/pom.xml
----------------------------------------------------------------------
diff --git a/deployer/features/pom.xml b/deployer/features/pom.xml
index 90f237d..2c6a8d2 100644
--- a/deployer/features/pom.xml
+++ b/deployer/features/pom.xml
@@ -105,7 +105,6 @@
                             org.apache.karaf.deployer.features,
                             org.apache.karaf.deployer.features.osgi,
                             org.apache.karaf.util,
-                            org.apache.karaf.util.tracker
                         </Private-Package>
                     </instructions>
                 </configuration>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/deployer/features/src/main/java/org/apache/karaf/deployer/features/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/deployer/features/src/main/java/org/apache/karaf/deployer/features/osgi/Activator.java b/deployer/features/src/main/java/org/apache/karaf/deployer/features/osgi/Activator.java
index 43c5ba3..bc8b572 100644
--- a/deployer/features/src/main/java/org/apache/karaf/deployer/features/osgi/Activator.java
+++ b/deployer/features/src/main/java/org/apache/karaf/deployer/features/osgi/Activator.java
@@ -25,8 +25,8 @@ import org.apache.karaf.deployer.features.FeatureDeploymentListener;
 import org.apache.karaf.deployer.features.FeatureURLHandler;
 import org.apache.karaf.features.FeaturesService;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.RequireService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.RequireService;
+import org.apache.karaf.util.tracker.annotation.Services;
 import org.osgi.service.url.URLStreamHandlerService;
 
 @Services(requires = @RequireService(FeaturesService.class))

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/deployer/kar/pom.xml
----------------------------------------------------------------------
diff --git a/deployer/kar/pom.xml b/deployer/kar/pom.xml
index 3abe7cc..382ea78 100644
--- a/deployer/kar/pom.xml
+++ b/deployer/kar/pom.xml
@@ -113,7 +113,6 @@
                         <Private-Package>
                             org.apache.karaf.deployer.kar,
                             org.apache.karaf.deployer.kar.osgi,
-                            org.apache.karaf.util.tracker
                         </Private-Package>
                     </instructions>
                 </configuration>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/deployer/kar/src/main/java/org/apache/karaf/deployer/kar/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/deployer/kar/src/main/java/org/apache/karaf/deployer/kar/osgi/Activator.java b/deployer/kar/src/main/java/org/apache/karaf/deployer/kar/osgi/Activator.java
index e86e7cf..235be07 100644
--- a/deployer/kar/src/main/java/org/apache/karaf/deployer/kar/osgi/Activator.java
+++ b/deployer/kar/src/main/java/org/apache/karaf/deployer/kar/osgi/Activator.java
@@ -22,8 +22,8 @@ import org.apache.felix.fileinstall.ArtifactListener;
 import org.apache.karaf.deployer.kar.KarArtifactInstaller;
 import org.apache.karaf.kar.KarService;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.RequireService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.RequireService;
+import org.apache.karaf.util.tracker.annotation.Services;
 
 @Services(requires = @RequireService(KarService.class))
 public class Activator extends BaseActivator {

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/deployer/spring/pom.xml
----------------------------------------------------------------------
diff --git a/deployer/spring/pom.xml b/deployer/spring/pom.xml
index b8ee2f4..f057da6 100644
--- a/deployer/spring/pom.xml
+++ b/deployer/spring/pom.xml
@@ -101,7 +101,6 @@
                             org.apache.karaf.deployer.spring,
                             org.apache.karaf.deployer.spring.osgi,
                             org.apache.karaf.util,
-                            org.apache.karaf.util.tracker
                         </Private-Package>
                     </instructions>
                 </configuration>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/deployer/spring/src/main/java/org/apache/karaf/deployer/spring/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/deployer/spring/src/main/java/org/apache/karaf/deployer/spring/osgi/Activator.java b/deployer/spring/src/main/java/org/apache/karaf/deployer/spring/osgi/Activator.java
index 3407b9e..9e04a83 100644
--- a/deployer/spring/src/main/java/org/apache/karaf/deployer/spring/osgi/Activator.java
+++ b/deployer/spring/src/main/java/org/apache/karaf/deployer/spring/osgi/Activator.java
@@ -24,7 +24,7 @@ import org.apache.felix.fileinstall.ArtifactUrlTransformer;
 import org.apache.karaf.deployer.spring.SpringDeploymentListener;
 import org.apache.karaf.deployer.spring.SpringURLHandler;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.Services;
 import org.osgi.service.url.URLStreamHandlerService;
 
 @Services

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/deployer/wrap/pom.xml
----------------------------------------------------------------------
diff --git a/deployer/wrap/pom.xml b/deployer/wrap/pom.xml
index a8c9a2e..4158fc8 100644
--- a/deployer/wrap/pom.xml
+++ b/deployer/wrap/pom.xml
@@ -86,7 +86,6 @@
                             org.apache.karaf.deployer.wrap,
                             org.apache.karaf.deployer.wrap.osgi,
                             org.apache.karaf.util,
-                            org.apache.karaf.util.tracker
                         </Private-Package>
                     </instructions>
                 </configuration>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/deployer/wrap/src/main/java/org/apache/karaf/deployer/wrap/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/deployer/wrap/src/main/java/org/apache/karaf/deployer/wrap/osgi/Activator.java b/deployer/wrap/src/main/java/org/apache/karaf/deployer/wrap/osgi/Activator.java
index 4486492..f57a98d 100644
--- a/deployer/wrap/src/main/java/org/apache/karaf/deployer/wrap/osgi/Activator.java
+++ b/deployer/wrap/src/main/java/org/apache/karaf/deployer/wrap/osgi/Activator.java
@@ -22,8 +22,8 @@ import java.util.Hashtable;
 import org.apache.felix.fileinstall.ArtifactUrlTransformer;
 import org.apache.karaf.deployer.wrap.WrapDeploymentListener;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.RequireService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.RequireService;
+import org.apache.karaf.util.tracker.annotation.Services;
 import org.osgi.service.url.URLStreamHandlerService;
 
 @Services(requires = {

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/diagnostic/core/pom.xml
----------------------------------------------------------------------
diff --git a/diagnostic/core/pom.xml b/diagnostic/core/pom.xml
index 380e277..0380c8e 100644
--- a/diagnostic/core/pom.xml
+++ b/diagnostic/core/pom.xml
@@ -113,12 +113,10 @@
                             org.apache.karaf.diagnostic.internal,
                             org.apache.karaf.diagnostic.management.internal,
                             org.apache.karaf.util,
-                            org.apache.karaf.util.tracker
                         </Private-Package>
                         <Bundle-Activator>
                             org.apache.karaf.diagnostic.internal.Activator
                         </Bundle-Activator>
-                        <Karaf-Commands>*</Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/features/command/pom.xml
----------------------------------------------------------------------
diff --git a/features/command/pom.xml b/features/command/pom.xml
index 5978b38..765287f 100644
--- a/features/command/pom.xml
+++ b/features/command/pom.xml
@@ -81,11 +81,14 @@
         </resources>
         <plugins>
             <plugin>
+                <groupId>org.apache.karaf.tooling</groupId>
+                <artifactId>karaf-services-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
                 <configuration>
                     <instructions>
-                        <Karaf-Commands>org.apache.karaf.features.command.*</Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/features/core/pom.xml
----------------------------------------------------------------------
diff --git a/features/core/pom.xml b/features/core/pom.xml
index fd6f5cc..0c4fce7 100644
--- a/features/core/pom.xml
+++ b/features/core/pom.xml
@@ -149,7 +149,6 @@
                             org.apache.karaf.util,
                             org.apache.karaf.util.bundles,
                             org.apache.karaf.util.collections,
-                            org.apache.karaf.util.tracker,
                             org.eclipse.equinox.internal.region.*;-split-package:=merge-first,
                         </Private-Package>
                         <Embed-Dependency>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/features/core/src/main/java/org/apache/karaf/features/internal/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/features/core/src/main/java/org/apache/karaf/features/internal/osgi/Activator.java b/features/core/src/main/java/org/apache/karaf/features/internal/osgi/Activator.java
index 9a89494..46ebfae 100644
--- a/features/core/src/main/java/org/apache/karaf/features/internal/osgi/Activator.java
+++ b/features/core/src/main/java/org/apache/karaf/features/internal/osgi/Activator.java
@@ -45,9 +45,9 @@ import org.apache.karaf.features.internal.service.FeatureFinder;
 import org.apache.karaf.features.internal.service.FeaturesServiceImpl;
 import org.apache.karaf.features.internal.service.StateStorage;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.ProvideService;
-import org.apache.karaf.util.tracker.RequireService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.ProvideService;
+import org.apache.karaf.util.tracker.annotation.RequireService;
+import org.apache.karaf.util.tracker.annotation.Services;
 import org.eclipse.equinox.internal.region.DigraphHelper;
 import org.eclipse.equinox.internal.region.StandardRegionDigraph;
 import org.eclipse.equinox.internal.region.management.StandardManageableRegionDigraph;

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/http/pom.xml
----------------------------------------------------------------------
diff --git a/http/pom.xml b/http/pom.xml
index 596db4d..0da14bd 100644
--- a/http/pom.xml
+++ b/http/pom.xml
@@ -89,6 +89,10 @@
         </resources>
         <plugins>
             <plugin>
+                <groupId>org.apache.karaf.tooling</groupId>
+                <artifactId>karaf-services-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
                 <configuration>
@@ -100,11 +104,9 @@
                             org.apache.karaf.http.command,
                             org.apache.karaf.http.core.internal,
                             org.apache.karaf.http.core.internal.osgi,
-                            org.apache.karaf.util.tracker,
                             org.apache.felix.utils.version,
                             org.apache.felix.utils.manifest,
                         </Private-Package>
-                        <Karaf-Commands>*</Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/http/src/main/java/org/apache/karaf/http/core/internal/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/http/src/main/java/org/apache/karaf/http/core/internal/osgi/Activator.java b/http/src/main/java/org/apache/karaf/http/core/internal/osgi/Activator.java
index 9eb4b21..2e6291c 100644
--- a/http/src/main/java/org/apache/karaf/http/core/internal/osgi/Activator.java
+++ b/http/src/main/java/org/apache/karaf/http/core/internal/osgi/Activator.java
@@ -21,8 +21,8 @@ import org.apache.karaf.http.core.internal.HttpMBeanImpl;
 import org.apache.karaf.http.core.internal.ServletEventHandler;
 import org.apache.karaf.http.core.internal.ServletServiceImpl;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.ProvideService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.ProvideService;
+import org.apache.karaf.util.tracker.annotation.Services;
 import org.ops4j.pax.web.service.spi.ServletListener;
 
 @Services(provides = @ProvideService(ServletService.class))

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/instance/pom.xml
----------------------------------------------------------------------
diff --git a/instance/pom.xml b/instance/pom.xml
index 9ffe1b0..e9f9fc7 100644
--- a/instance/pom.xml
+++ b/instance/pom.xml
@@ -198,9 +198,7 @@
                             org.apache.felix.utils.properties;-split-package:=merge-first,
                             org.apache.karaf.util,
                             org.apache.karaf.util.locks,
-                            org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Karaf-Commands>org.apache.karaf.instance.command.*</Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/instance/src/main/java/org/apache/karaf/instance/core/internal/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/instance/src/main/java/org/apache/karaf/instance/core/internal/osgi/Activator.java b/instance/src/main/java/org/apache/karaf/instance/core/internal/osgi/Activator.java
index 17f68c9..1641a61 100644
--- a/instance/src/main/java/org/apache/karaf/instance/core/internal/osgi/Activator.java
+++ b/instance/src/main/java/org/apache/karaf/instance/core/internal/osgi/Activator.java
@@ -20,8 +20,8 @@ import org.apache.karaf.instance.core.InstanceService;
 import org.apache.karaf.instance.core.internal.InstanceServiceImpl;
 import org.apache.karaf.instance.core.internal.InstancesMBeanImpl;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.ProvideService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.ProvideService;
+import org.apache.karaf.util.tracker.annotation.Services;
 
 @Services(provides = @ProvideService(InstanceService.class))
 public class Activator extends BaseActivator {

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/jaas/command/pom.xml
----------------------------------------------------------------------
diff --git a/jaas/command/pom.xml b/jaas/command/pom.xml
index 9011f27..fdd3532 100644
--- a/jaas/command/pom.xml
+++ b/jaas/command/pom.xml
@@ -92,6 +92,10 @@
         </resources>
         <plugins>
             <plugin>
+                <groupId>org.apache.karaf.tooling</groupId>
+                <artifactId>karaf-services-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
                 <configuration>
@@ -103,9 +107,6 @@
                         <Private-Package>
                             org.apache.karaf.util.jaas,
                         </Private-Package>
-                        <Karaf-Commands>
-                            org.apache.karaf.jaas.command.*
-                        </Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/jaas/modules/pom.xml
----------------------------------------------------------------------
diff --git a/jaas/modules/pom.xml b/jaas/modules/pom.xml
index 81530cd..324d8f8 100644
--- a/jaas/modules/pom.xml
+++ b/jaas/modules/pom.xml
@@ -159,7 +159,6 @@
                             org.apache.karaf.jaas.modules.impl,
                             org.apache.felix.utils.properties,
                             org.apache.karaf.util,
-                            org.apache.karaf.util.tracker,
                             org.apache.http*,
                             org.apache.commons.codec*
                         </Private-Package>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/impl/Activator.java
----------------------------------------------------------------------
diff --git a/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/impl/Activator.java b/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/impl/Activator.java
index cd190fa..1299b18 100644
--- a/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/impl/Activator.java
+++ b/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/impl/Activator.java
@@ -28,9 +28,9 @@ import org.apache.karaf.jaas.modules.properties.PropertiesBackingEngineFactory;
 import org.apache.karaf.jaas.modules.publickey.PublickeyBackingEngineFactory;
 import org.apache.karaf.util.StreamUtils;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.Managed;
-import org.apache.karaf.util.tracker.ProvideService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.Managed;
+import org.apache.karaf.util.tracker.annotation.ProvideService;
+import org.apache.karaf.util.tracker.annotation.Services;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 import org.osgi.service.cm.ManagedService;

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 5ab594b..d0eecb7 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -99,9 +99,7 @@
                             org.apache.karaf.jdbc.internal,
                             org.apache.karaf.jdbc.internal.osgi,
                             org.apache.karaf.util,
-                            org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Karaf-Commands>*</Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/jdbc/src/main/java/org/apache/karaf/jdbc/internal/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/jdbc/src/main/java/org/apache/karaf/jdbc/internal/osgi/Activator.java b/jdbc/src/main/java/org/apache/karaf/jdbc/internal/osgi/Activator.java
index f05058b..9978714 100644
--- a/jdbc/src/main/java/org/apache/karaf/jdbc/internal/osgi/Activator.java
+++ b/jdbc/src/main/java/org/apache/karaf/jdbc/internal/osgi/Activator.java
@@ -20,9 +20,9 @@ import org.apache.karaf.jdbc.JdbcService;
 import org.apache.karaf.jdbc.internal.JdbcMBeanImpl;
 import org.apache.karaf.jdbc.internal.JdbcServiceImpl;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.ProvideService;
-import org.apache.karaf.util.tracker.RequireService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.ProvideService;
+import org.apache.karaf.util.tracker.annotation.RequireService;
+import org.apache.karaf.util.tracker.annotation.Services;
 import org.osgi.service.cm.ConfigurationAdmin;
 
 @Services(

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/jms/pom.xml
----------------------------------------------------------------------
diff --git a/jms/pom.xml b/jms/pom.xml
index c1719db..ea0d220 100644
--- a/jms/pom.xml
+++ b/jms/pom.xml
@@ -84,6 +84,10 @@
         </resources>
         <plugins>
             <plugin>
+                <groupId>org.apache.karaf.tooling</groupId>
+                <artifactId>karaf-services-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
                 <configuration>
@@ -102,7 +106,6 @@
                             org.apache.karaf.util
                         </Private-Package>
                         <DynamicImport-Package>*</DynamicImport-Package>
-                        <Karaf-Commands>*</Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/jndi/pom.xml
----------------------------------------------------------------------
diff --git a/jndi/pom.xml b/jndi/pom.xml
index a6d517e..ae9bab1 100644
--- a/jndi/pom.xml
+++ b/jndi/pom.xml
@@ -97,9 +97,7 @@
                             org.apache.karaf.jndi.command.completers,
                             org.apache.karaf.jndi.internal,
                             org.apache.karaf.jndi.internal.osgi,
-                            org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Karaf-Commands>*</Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/jndi/src/main/java/org/apache/karaf/jndi/internal/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/jndi/src/main/java/org/apache/karaf/jndi/internal/osgi/Activator.java b/jndi/src/main/java/org/apache/karaf/jndi/internal/osgi/Activator.java
index bc6baa8..c830018 100644
--- a/jndi/src/main/java/org/apache/karaf/jndi/internal/osgi/Activator.java
+++ b/jndi/src/main/java/org/apache/karaf/jndi/internal/osgi/Activator.java
@@ -26,9 +26,9 @@ import org.apache.karaf.jndi.KarafInitialContextFactory;
 import org.apache.karaf.jndi.internal.JndiMBeanImpl;
 import org.apache.karaf.jndi.internal.JndiServiceImpl;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.ProvideService;
-import org.apache.karaf.util.tracker.RequireService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.ProvideService;
+import org.apache.karaf.util.tracker.annotation.RequireService;
+import org.apache.karaf.util.tracker.annotation.Services;
 
 @Services(
         requires = @RequireService(ProxyManager.class),

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/kar/pom.xml
----------------------------------------------------------------------
diff --git a/kar/pom.xml b/kar/pom.xml
index 7409c05..5ae09fe 100644
--- a/kar/pom.xml
+++ b/kar/pom.xml
@@ -113,10 +113,8 @@
                             org.apache.karaf.kar.internal.osgi,
                             org.apache.karaf.util,
                             org.apache.karaf.util.maven,
-                            org.apache.karaf.util.tracker,
                             org.apache.felix.utils.properties
                         </Private-Package>
-                        <Karaf-Commands>org.apache.karaf.kar.command.*</Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/kar/src/main/java/org/apache/karaf/kar/internal/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/kar/src/main/java/org/apache/karaf/kar/internal/osgi/Activator.java b/kar/src/main/java/org/apache/karaf/kar/internal/osgi/Activator.java
index 5db2141..70c1f13 100644
--- a/kar/src/main/java/org/apache/karaf/kar/internal/osgi/Activator.java
+++ b/kar/src/main/java/org/apache/karaf/kar/internal/osgi/Activator.java
@@ -21,10 +21,10 @@ import org.apache.karaf.kar.KarService;
 import org.apache.karaf.kar.internal.KarServiceImpl;
 import org.apache.karaf.kar.internal.KarsMBeanImpl;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.Managed;
-import org.apache.karaf.util.tracker.ProvideService;
-import org.apache.karaf.util.tracker.RequireService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.Managed;
+import org.apache.karaf.util.tracker.annotation.ProvideService;
+import org.apache.karaf.util.tracker.annotation.RequireService;
+import org.apache.karaf.util.tracker.annotation.Services;
 import org.osgi.service.cm.ManagedService;
 
 @Services(

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/log/pom.xml
----------------------------------------------------------------------
diff --git a/log/pom.xml b/log/pom.xml
index 5daab0b..8aa1787 100644
--- a/log/pom.xml
+++ b/log/pom.xml
@@ -109,11 +109,7 @@
                             org.apache.karaf.log.core.internal,
                             org.apache.karaf.log.core.internal.layout,
                             org.apache.karaf.log.core.internal.osgi,
-                            org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Karaf-Commands>
-                            org.apache.karaf.log.command*
-                        </Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/log/src/main/java/org/apache/karaf/log/core/internal/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/log/src/main/java/org/apache/karaf/log/core/internal/osgi/Activator.java b/log/src/main/java/org/apache/karaf/log/core/internal/osgi/Activator.java
index 8540ff0..c0a6a23 100644
--- a/log/src/main/java/org/apache/karaf/log/core/internal/osgi/Activator.java
+++ b/log/src/main/java/org/apache/karaf/log/core/internal/osgi/Activator.java
@@ -25,10 +25,10 @@ import org.apache.karaf.log.core.internal.LogMBeanImpl;
 import org.apache.karaf.log.core.internal.LogServiceImpl;
 import org.apache.karaf.log.core.internal.LruList;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.Managed;
-import org.apache.karaf.util.tracker.ProvideService;
-import org.apache.karaf.util.tracker.RequireService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.Managed;
+import org.apache.karaf.util.tracker.annotation.ProvideService;
+import org.apache.karaf.util.tracker.annotation.RequireService;
+import org.apache.karaf.util.tracker.annotation.Services;
 import org.ops4j.pax.logging.spi.PaxAppender;
 import org.osgi.service.cm.ConfigurationAdmin;
 import org.osgi.service.cm.ManagedService;

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/management/server/pom.xml
----------------------------------------------------------------------
diff --git a/management/server/pom.xml b/management/server/pom.xml
index f698ffc..02778d3 100644
--- a/management/server/pom.xml
+++ b/management/server/pom.xml
@@ -120,7 +120,6 @@
                             org.apache.karaf.management.internal,
                             org.apache.karaf.service.guard.tools,
                             org.apache.karaf.util.jaas,
-                            org.apache.karaf.util.tracker
                         </Private-Package>
                     </instructions>
                 </configuration>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/management/server/src/main/java/org/apache/karaf/management/internal/Activator.java
----------------------------------------------------------------------
diff --git a/management/server/src/main/java/org/apache/karaf/management/internal/Activator.java b/management/server/src/main/java/org/apache/karaf/management/internal/Activator.java
index 6484d33..bf9ea9e 100644
--- a/management/server/src/main/java/org/apache/karaf/management/internal/Activator.java
+++ b/management/server/src/main/java/org/apache/karaf/management/internal/Activator.java
@@ -30,10 +30,10 @@ import org.apache.karaf.management.KarafMBeanServerGuard;
 import org.apache.karaf.management.MBeanServerFactory;
 import org.apache.karaf.management.RmiRegistryFactory;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.Managed;
-import org.apache.karaf.util.tracker.ProvideService;
-import org.apache.karaf.util.tracker.RequireService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.Managed;
+import org.apache.karaf.util.tracker.annotation.ProvideService;
+import org.apache.karaf.util.tracker.annotation.RequireService;
+import org.apache.karaf.util.tracker.annotation.Services;
 import org.osgi.framework.ServiceReference;
 import org.osgi.service.cm.ConfigurationAdmin;
 import org.osgi.service.cm.ManagedService;

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/obr/pom.xml
----------------------------------------------------------------------
diff --git a/obr/pom.xml b/obr/pom.xml
index dd2362d..33a195a 100644
--- a/obr/pom.xml
+++ b/obr/pom.xml
@@ -95,9 +95,7 @@
                             org.apache.karaf.obr.command.util,
                             org.apache.karaf.obr.core.internal,
                             org.apache.karaf.obr.core.internal.osgi,
-                            org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Karaf-Commands>*</Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/obr/src/main/java/org/apache/karaf/obr/core/internal/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/obr/src/main/java/org/apache/karaf/obr/core/internal/osgi/Activator.java b/obr/src/main/java/org/apache/karaf/obr/core/internal/osgi/Activator.java
index 70f3f23..fb73f18 100644
--- a/obr/src/main/java/org/apache/karaf/obr/core/internal/osgi/Activator.java
+++ b/obr/src/main/java/org/apache/karaf/obr/core/internal/osgi/Activator.java
@@ -19,8 +19,8 @@ package org.apache.karaf.obr.core.internal.osgi;
 import org.apache.felix.bundlerepository.RepositoryAdmin;
 import org.apache.karaf.obr.core.internal.ObrMBeanImpl;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.RequireService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.RequireService;
+import org.apache.karaf.util.tracker.annotation.Services;
 
 @Services(
         requires = @RequireService(RepositoryAdmin.class)

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/package/pom.xml
----------------------------------------------------------------------
diff --git a/package/pom.xml b/package/pom.xml
index fba9279..9f7875b 100644
--- a/package/pom.xml
+++ b/package/pom.xml
@@ -116,13 +116,9 @@
                             org.apache.karaf.packages.core.internal.filter,
                             org.apache.karaf.packages.core.internal,
                             org.apache.karaf.packages.core.internal.osgi,
-                            org.apache.karaf.util.tracker,
                             org.apache.felix.utils.version,
                             org.apache.felix.utils.manifest
                         </Private-Package>
-                        <Karaf-Commands>
-                            org.apache.karaf.packages.command
-                        </Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/package/src/main/java/org/apache/karaf/packages/core/internal/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/package/src/main/java/org/apache/karaf/packages/core/internal/osgi/Activator.java b/package/src/main/java/org/apache/karaf/packages/core/internal/osgi/Activator.java
index bf5f526..817715a 100644
--- a/package/src/main/java/org/apache/karaf/packages/core/internal/osgi/Activator.java
+++ b/package/src/main/java/org/apache/karaf/packages/core/internal/osgi/Activator.java
@@ -20,8 +20,8 @@ import org.apache.karaf.packages.core.PackageService;
 import org.apache.karaf.packages.core.internal.PackageServiceImpl;
 import org.apache.karaf.packages.core.internal.PackagesMBeanImpl;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.ProvideService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.ProvideService;
+import org.apache.karaf.util.tracker.annotation.Services;
 
 @Services(provides = @ProvideService(PackageService.class))
 public class Activator extends BaseActivator {

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index b2dda1b..408c932 100644
--- a/pom.xml
+++ b/pom.xml
@@ -167,7 +167,7 @@
         <felix.framework.version>4.7.0-SNAPSHOT</felix.framework.version>
         <felix.framework.security.version>2.4.0</felix.framework.security.version>
         <felix.gogo.version>0.14.1-SNAPSHOT</felix.gogo.version>
-        <felix.plugin.version>2.5.3</felix.plugin.version>
+        <felix.plugin.version>2.5.4-SNAPSHOT</felix.plugin.version>
         <felix.utils.version>1.6.1-SNAPSHOT</felix.utils.version>
         <felix.webconsole.version>4.2.2</felix.webconsole.version>
         <felix.webconsole.api.version>3.1.2</felix.webconsole.api.version>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/profile/pom.xml
----------------------------------------------------------------------
diff --git a/profile/pom.xml b/profile/pom.xml
index 1bde1b7..c7927b0 100644
--- a/profile/pom.xml
+++ b/profile/pom.xml
@@ -184,13 +184,9 @@
                             org.apache.karaf.profile.impl.osgi,
                             org.apache.karaf.util.config,
                             org.apache.karaf.util.maven,
-                            org.apache.karaf.util.tracker,
                             org.apache.felix.utils.version,
                             org.apache.felix.utils.properties,
                         </Private-Package>
-                        <Karaf-Commands>
-                            org.apache.karaf.profile.command.*
-                        </Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/profile/src/main/java/org/apache/karaf/profile/impl/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/profile/src/main/java/org/apache/karaf/profile/impl/osgi/Activator.java b/profile/src/main/java/org/apache/karaf/profile/impl/osgi/Activator.java
index 9d0bae2..33a9403 100644
--- a/profile/src/main/java/org/apache/karaf/profile/impl/osgi/Activator.java
+++ b/profile/src/main/java/org/apache/karaf/profile/impl/osgi/Activator.java
@@ -16,16 +16,15 @@
  */
 package org.apache.karaf.profile.impl.osgi;
 
-import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 
 import org.apache.karaf.profile.ProfileService;
 import org.apache.karaf.profile.impl.ProfileServiceImpl;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.Managed;
-import org.apache.karaf.util.tracker.ProvideService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.Managed;
+import org.apache.karaf.util.tracker.annotation.ProvideService;
+import org.apache.karaf.util.tracker.annotation.Services;
 import org.osgi.service.cm.ManagedService;
 
 @Services(

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/scheduler/pom.xml
----------------------------------------------------------------------
diff --git a/scheduler/pom.xml b/scheduler/pom.xml
index 66ffa69..d3c45f8 100644
--- a/scheduler/pom.xml
+++ b/scheduler/pom.xml
@@ -74,7 +74,6 @@
                         <Private-Package>
                             org.apache.karaf.scheduler.core,
                             org.apache.karaf.scheduler.command.*,
-                            org.apache.karaf.util.tracker,
                             org.quartz,
                             org.quartz.core.*,
                             org.quartz.listeners.*,
@@ -83,9 +82,6 @@
                             org.quartz.simpl.*,
                             org.quartz.utils.*,
                         </Private-Package>
-                        <Karaf-Commands>
-                            org.apache.karaf.scheduler.command
-                        </Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/scheduler/src/main/java/org/apache/karaf/scheduler/core/Activator.java
----------------------------------------------------------------------
diff --git a/scheduler/src/main/java/org/apache/karaf/scheduler/core/Activator.java b/scheduler/src/main/java/org/apache/karaf/scheduler/core/Activator.java
index 81f6ede..f3ef634 100644
--- a/scheduler/src/main/java/org/apache/karaf/scheduler/core/Activator.java
+++ b/scheduler/src/main/java/org/apache/karaf/scheduler/core/Activator.java
@@ -18,8 +18,8 @@ package org.apache.karaf.scheduler.core;
 
 import org.apache.karaf.scheduler.Scheduler;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.ProvideService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.ProvideService;
+import org.apache.karaf.util.tracker.annotation.Services;
 import org.quartz.simpl.SimpleThreadPool;
 import org.quartz.spi.ThreadPool;
 

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/scr/command/pom.xml
----------------------------------------------------------------------
diff --git a/scr/command/pom.xml b/scr/command/pom.xml
index dd38102..f48c4e2 100644
--- a/scr/command/pom.xml
+++ b/scr/command/pom.xml
@@ -84,11 +84,14 @@
         </resources>
         <plugins>
             <plugin>
+                <groupId>org.apache.karaf.tooling</groupId>
+                <artifactId>karaf-services-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
                 <configuration>
                     <instructions>
-                        <Karaf-Commands>*</Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/service/core/pom.xml
----------------------------------------------------------------------
diff --git a/service/core/pom.xml b/service/core/pom.xml
index 4d10257..07efaeb 100644
--- a/service/core/pom.xml
+++ b/service/core/pom.xml
@@ -74,6 +74,10 @@
         </resources>
         <plugins>
             <plugin>
+                <groupId>org.apache.karaf.tooling</groupId>
+                <artifactId>karaf-services-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
                 <configuration>
@@ -85,12 +89,7 @@
                             org.apache.karaf.service.command,
                             org.apache.karaf.service.core.internal,
                             org.apache.karaf.service.core.internal.osgi,
-                            org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Bundle-Activator>
-                            org.apache.karaf.service.core.internal.osgi.Activator
-                        </Bundle-Activator>
-                        <Karaf-Commands>org.apache.karaf.service.command</Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/service/core/src/main/java/org/apache/karaf/service/core/internal/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/service/core/src/main/java/org/apache/karaf/service/core/internal/osgi/Activator.java b/service/core/src/main/java/org/apache/karaf/service/core/internal/osgi/Activator.java
index 170e8af..ccd1aeb 100644
--- a/service/core/src/main/java/org/apache/karaf/service/core/internal/osgi/Activator.java
+++ b/service/core/src/main/java/org/apache/karaf/service/core/internal/osgi/Activator.java
@@ -18,7 +18,7 @@ package org.apache.karaf.service.core.internal.osgi;
 
 import org.apache.karaf.service.core.internal.ServicesMBeanImpl;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.Services;
 
 @Services
 public class Activator extends BaseActivator {

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/services/maven-proxy/pom.xml
----------------------------------------------------------------------
diff --git a/services/maven-proxy/pom.xml b/services/maven-proxy/pom.xml
index 7976b7d..3ed1902 100644
--- a/services/maven-proxy/pom.xml
+++ b/services/maven-proxy/pom.xml
@@ -45,9 +45,6 @@
                 <artifactId>maven-bundle-plugin</artifactId>
                 <configuration>
                     <instructions>
-                        <Bundle-Activator>
-                            org.apache.karaf.services.mavenproxy.internal.Activator
-                        </Bundle-Activator>
                         <Import-Package>
                             javax.servlet.*;version="[3.0,4)",
                             !shaded.*,
@@ -56,7 +53,6 @@
                         <Private-Package>
                             org.apache.karaf.services.mavenproxy.internal,
                             org.apache.karaf.util,
-                            org.apache.karaf.util.tracker,
                             org.apache.karaf.util.base64
                         </Private-Package>
                     </instructions>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/services/maven-proxy/src/main/java/org/apache/karaf/services/mavenproxy/internal/Activator.java
----------------------------------------------------------------------
diff --git a/services/maven-proxy/src/main/java/org/apache/karaf/services/mavenproxy/internal/Activator.java b/services/maven-proxy/src/main/java/org/apache/karaf/services/mavenproxy/internal/Activator.java
index 040f6ac..c1b744a 100644
--- a/services/maven-proxy/src/main/java/org/apache/karaf/services/mavenproxy/internal/Activator.java
+++ b/services/maven-proxy/src/main/java/org/apache/karaf/services/mavenproxy/internal/Activator.java
@@ -21,9 +21,9 @@ import java.util.Enumeration;
 import java.util.Hashtable;
 
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.Managed;
-import org.apache.karaf.util.tracker.RequireService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.Managed;
+import org.apache.karaf.util.tracker.annotation.RequireService;
+import org.apache.karaf.util.tracker.annotation.Services;
 import org.ops4j.pax.url.mvn.MavenResolver;
 import org.ops4j.pax.url.mvn.MavenResolvers;
 import org.osgi.service.cm.ManagedService;

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/shell/commands/pom.xml
----------------------------------------------------------------------
diff --git a/shell/commands/pom.xml b/shell/commands/pom.xml
index 93505ef..979d7ee 100644
--- a/shell/commands/pom.xml
+++ b/shell/commands/pom.xml
@@ -91,6 +91,10 @@
         </resources>
         <plugins>
             <plugin>
+                <groupId>org.apache.karaf.tooling</groupId>
+                <artifactId>karaf-services-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
                 <configuration>
@@ -109,9 +113,6 @@
                         <Require-Capability>
                             osgi.service;filter:="(objectClass=org.jledit.EditorFactory)";effective:=active
                         </Require-Capability>
-                        <Karaf-Commands>
-                            org.apache.karaf.shell.commands.impl
-                        </Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/shell/core/pom.xml
----------------------------------------------------------------------
diff --git a/shell/core/pom.xml b/shell/core/pom.xml
index c7089b6..75a88c0 100644
--- a/shell/core/pom.xml
+++ b/shell/core/pom.xml
@@ -59,11 +59,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.karaf.jaas</groupId>
-            <artifactId>org.apache.karaf.jaas.modules</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.jaas</groupId>
             <artifactId>org.apache.karaf.jaas.boot</artifactId>
         </dependency>
 

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/shell/ssh/pom.xml
----------------------------------------------------------------------
diff --git a/shell/ssh/pom.xml b/shell/ssh/pom.xml
index 7f4d60b..3e45dde 100644
--- a/shell/ssh/pom.xml
+++ b/shell/ssh/pom.xml
@@ -117,7 +117,6 @@
                         <Private-Package>
                             org.apache.karaf.util,
                             org.apache.karaf.util.jaas,
-                            org.apache.karaf.util.tracker
                         </Private-Package>
                     </instructions>
                 </configuration>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/Activator.java
----------------------------------------------------------------------
diff --git a/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/Activator.java b/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/Activator.java
index cdc981f..ace6bb7 100644
--- a/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/Activator.java
+++ b/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/Activator.java
@@ -25,9 +25,9 @@ import org.apache.karaf.shell.api.action.lifecycle.Manager;
 import org.apache.karaf.shell.api.console.Session;
 import org.apache.karaf.shell.api.console.SessionFactory;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.Managed;
-import org.apache.karaf.util.tracker.RequireService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.Managed;
+import org.apache.karaf.util.tracker.annotation.RequireService;
+import org.apache.karaf.util.tracker.annotation.Services;
 import org.apache.sshd.SshServer;
 import org.apache.sshd.common.NamedFactory;
 import org.apache.sshd.server.command.ScpCommandFactory;

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/subsystem/pom.xml
----------------------------------------------------------------------
diff --git a/subsystem/pom.xml b/subsystem/pom.xml
index 67cf4da..265ab9d 100644
--- a/subsystem/pom.xml
+++ b/subsystem/pom.xml
@@ -104,20 +104,18 @@
         </resources>
         <plugins>
             <plugin>
+                <groupId>org.apache.karaf.tooling</groupId>
+                <artifactId>karaf-services-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
                 <configuration>
                     <instructions>
-                        <!--
-                        <Bundle-Activator>
-                            org.apache.karaf.subsystem.internal.Activator
-                        </Bundle-Activator>
-                        -->
                         <Private-Package>
                             org.apache.karaf.subsystem.commands,
                             org.apache.felix.utils.manifest
                         </Private-Package>
-                        <Karaf-Commands>*</Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/system/pom.xml
----------------------------------------------------------------------
diff --git a/system/pom.xml b/system/pom.xml
index 333899d..0258ee1 100644
--- a/system/pom.xml
+++ b/system/pom.xml
@@ -102,10 +102,8 @@
                             org.apache.karaf.system.internal,
                             org.apache.karaf.system.internal.osgi,
                             org.apache.karaf.system.management.internal,
-                            org.apache.karaf.util.tracker,
                             org.apache.felix.utils.properties
                         </Private-Package>
-                        <Karaf-Commands>*</Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/system/src/main/java/org/apache/karaf/system/internal/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/system/src/main/java/org/apache/karaf/system/internal/osgi/Activator.java b/system/src/main/java/org/apache/karaf/system/internal/osgi/Activator.java
index 3bedd82..1ac27d5 100644
--- a/system/src/main/java/org/apache/karaf/system/internal/osgi/Activator.java
+++ b/system/src/main/java/org/apache/karaf/system/internal/osgi/Activator.java
@@ -20,8 +20,8 @@ import org.apache.karaf.system.SystemService;
 import org.apache.karaf.system.internal.SystemServiceImpl;
 import org.apache.karaf.system.management.internal.SystemMBeanImpl;
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.ProvideService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.ProvideService;
+import org.apache.karaf.util.tracker.annotation.Services;
 
 @Services(provides = @ProvideService(SystemService.class))
 public class Activator extends BaseActivator {

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/tooling/karaf-services-maven-plugin/pom.xml
----------------------------------------------------------------------
diff --git a/tooling/karaf-services-maven-plugin/pom.xml b/tooling/karaf-services-maven-plugin/pom.xml
index b7f9581..63a5a45 100644
--- a/tooling/karaf-services-maven-plugin/pom.xml
+++ b/tooling/karaf-services-maven-plugin/pom.xml
@@ -93,6 +93,14 @@
             <artifactId>org.apache.karaf.util</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.karaf.shell</groupId>
+            <artifactId>org.apache.karaf.shell.core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.configadmin</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
             <scope>compile</scope>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/tooling/karaf-services-maven-plugin/src/main/java/org/apache/karaf/tooling/tracker/GenerateServiceMetadata.java
----------------------------------------------------------------------
diff --git a/tooling/karaf-services-maven-plugin/src/main/java/org/apache/karaf/tooling/tracker/GenerateServiceMetadata.java b/tooling/karaf-services-maven-plugin/src/main/java/org/apache/karaf/tooling/tracker/GenerateServiceMetadata.java
index 10aafc8..4a12121 100644
--- a/tooling/karaf-services-maven-plugin/src/main/java/org/apache/karaf/tooling/tracker/GenerateServiceMetadata.java
+++ b/tooling/karaf-services-maven-plugin/src/main/java/org/apache/karaf/tooling/tracker/GenerateServiceMetadata.java
@@ -24,11 +24,14 @@ import java.net.URLClassLoader;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Properties;
-
-import org.apache.karaf.util.tracker.Managed;
-import org.apache.karaf.util.tracker.ProvideService;
-import org.apache.karaf.util.tracker.RequireService;
-import org.apache.karaf.util.tracker.Services;
+import java.util.Set;
+import java.util.TreeSet;
+
+import org.apache.karaf.shell.api.action.lifecycle.Service;
+import org.apache.karaf.util.tracker.annotation.Managed;
+import org.apache.karaf.util.tracker.annotation.ProvideService;
+import org.apache.karaf.util.tracker.annotation.RequireService;
+import org.apache.karaf.util.tracker.annotation.Services;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.model.Resource;
 import org.apache.maven.plugin.AbstractMojo;
@@ -149,6 +152,24 @@ public class GenerateServiceMetadata extends AbstractMojo {
             if (activators.size() == 1) {
                 project.getProperties().setProperty(activatorProperty, activators.get(0).getName());
             }
+            project.getProperties().setProperty("BNDExtension-Private-Package", "org.apache.karaf.util.tracker");
+            project.getProperties().setProperty("BNDPrependExtension-Import-Package", "!org.apache.karaf.util.tracker.annotation");
+
+            List<Class<?>> services = finder.findAnnotatedClasses(Service.class);
+            Set<String> packages = new TreeSet<>();
+            for (Class<?> clazz : services) {
+                packages.add(clazz.getPackage().getName());
+            }
+            if (!packages.isEmpty()) {
+                StringBuilder sb = new StringBuilder();
+                for (String pkg : packages) {
+                    if (sb.length() > 0) {
+                        sb.append(",");
+                    }
+                    sb.append(pkg);
+                }
+                project.getProperties().setProperty("BNDExtension-Karaf-Commands", sb.toString());
+            }
 
         } catch (Exception e) {
             throw new MojoExecutionException("Error building commands help", e);

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/util/src/main/java/org/apache/karaf/util/tracker/BaseActivator.java
----------------------------------------------------------------------
diff --git a/util/src/main/java/org/apache/karaf/util/tracker/BaseActivator.java b/util/src/main/java/org/apache/karaf/util/tracker/BaseActivator.java
index 9f58fed..e3e39d4 100644
--- a/util/src/main/java/org/apache/karaf/util/tracker/BaseActivator.java
+++ b/util/src/main/java/org/apache/karaf/util/tracker/BaseActivator.java
@@ -39,7 +39,7 @@ import org.osgi.framework.ServiceRegistration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class BaseActivator implements BundleActivator, SingleServiceTracker.SingleServiceListener {
+public class BaseActivator implements BundleActivator, SingleServiceTracker.SingleServiceListener, Runnable {
 
     protected final Logger logger = LoggerFactory.getLogger(getClass());
     protected BundleContext bundleContext;
@@ -97,22 +97,12 @@ public class BaseActivator implements BundleActivator, SingleServiceTracker.Sing
             try (InputStream is = data.openStream()) {
                 props.load(is);
             }
-            for (String key : props.stringPropertyNames())
+            for (String key : props.stringPropertyNames()) {
                 if ("pid".equals(key)) {
                     manage(props.getProperty(key));
                 } else {
                     trackService(key, props.getProperty(key));
                 }
-        } else {
-            Services services = getClass().getAnnotation(Services.class);
-            if (services != null) {
-                for (RequireService require : services.requires()) {
-                    trackService(require.value(), require.filter());
-                }
-            }
-            Managed managed = getClass().getAnnotation(Managed.class);
-            if (managed != null) {
-                manage(managed.value());
             }
         }
     }
@@ -231,19 +221,19 @@ public class BaseActivator implements BundleActivator, SingleServiceTracker.Sing
 
     protected void reconfigure() {
         if (scheduled.compareAndSet(false, true)) {
-            executor.submit(new Runnable() {
-                @Override
-                public void run() {
-                    scheduled.set(false);
-                    doStop();
-                    try {
-                        doStart();
-                    } catch (Exception e) {
-                        logger.warn("Error starting activator", e);
-                        doStop();
-                    }
-                }
-            });
+            executor.submit(this);
+        }
+    }
+
+    @Override
+    public void run() {
+        scheduled.set(false);
+        doStop();
+        try {
+            doStart();
+        } catch (Exception e) {
+            logger.warn("Error starting activator", e);
+            doStop();
         }
     }
 

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/util/src/main/java/org/apache/karaf/util/tracker/Managed.java
----------------------------------------------------------------------
diff --git a/util/src/main/java/org/apache/karaf/util/tracker/Managed.java b/util/src/main/java/org/apache/karaf/util/tracker/Managed.java
deleted file mode 100644
index 4aec385..0000000
--- a/util/src/main/java/org/apache/karaf/util/tracker/Managed.java
+++ /dev/null
@@ -1,30 +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.util.tracker;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.TYPE})
-public @interface Managed {
-
-    String value();
-
-}

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/util/src/main/java/org/apache/karaf/util/tracker/ProvideService.java
----------------------------------------------------------------------
diff --git a/util/src/main/java/org/apache/karaf/util/tracker/ProvideService.java b/util/src/main/java/org/apache/karaf/util/tracker/ProvideService.java
deleted file mode 100644
index 7913746..0000000
--- a/util/src/main/java/org/apache/karaf/util/tracker/ProvideService.java
+++ /dev/null
@@ -1,27 +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.util.tracker;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-@Retention(RetentionPolicy.RUNTIME)
-public @interface ProvideService {
-
-    Class value();
-
-}

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/util/src/main/java/org/apache/karaf/util/tracker/RequireService.java
----------------------------------------------------------------------
diff --git a/util/src/main/java/org/apache/karaf/util/tracker/RequireService.java b/util/src/main/java/org/apache/karaf/util/tracker/RequireService.java
deleted file mode 100644
index da391e2..0000000
--- a/util/src/main/java/org/apache/karaf/util/tracker/RequireService.java
+++ /dev/null
@@ -1,31 +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.util.tracker;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-@Retention(RetentionPolicy.RUNTIME)
-public @interface RequireService {
-
-    Class value();
-
-    String filter() default "";
-
-    boolean optional() default false;
-
-}

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/util/src/main/java/org/apache/karaf/util/tracker/Services.java
----------------------------------------------------------------------
diff --git a/util/src/main/java/org/apache/karaf/util/tracker/Services.java b/util/src/main/java/org/apache/karaf/util/tracker/Services.java
deleted file mode 100644
index 7575138..0000000
--- a/util/src/main/java/org/apache/karaf/util/tracker/Services.java
+++ /dev/null
@@ -1,32 +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.util.tracker;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.TYPE})
-public @interface Services {
-
-    ProvideService[] provides() default {};
-
-    RequireService[] requires() default {};
-
-}

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/util/src/main/java/org/apache/karaf/util/tracker/SingleServiceTracker.java
----------------------------------------------------------------------
diff --git a/util/src/main/java/org/apache/karaf/util/tracker/SingleServiceTracker.java b/util/src/main/java/org/apache/karaf/util/tracker/SingleServiceTracker.java
index 0a0ca54..890d44c 100644
--- a/util/src/main/java/org/apache/karaf/util/tracker/SingleServiceTracker.java
+++ b/util/src/main/java/org/apache/karaf/util/tracker/SingleServiceTracker.java
@@ -33,7 +33,8 @@ import org.osgi.framework.ServiceListener;
 import org.osgi.framework.ServiceReference;
 
 //This is from aries util
-public final class SingleServiceTracker<T> {
+public final class SingleServiceTracker<T> implements ServiceListener {
+
     public static interface SingleServiceListener {
         public void serviceFound();
 
@@ -44,28 +45,13 @@ public final class SingleServiceTracker<T> {
 
     private final BundleContext ctx;
     private final String className;
-    private final AtomicReference<T> service = new AtomicReference<T>();
-    private final AtomicReference<ServiceReference> ref = new AtomicReference<ServiceReference>();
+    private final AtomicReference<T> service = new AtomicReference<>();
+    private final AtomicReference<ServiceReference> ref = new AtomicReference<>();
     private final AtomicBoolean open = new AtomicBoolean(false);
     private final SingleServiceListener serviceListener;
     private final String filterString;
     private final Filter filter;
 
-    private final ServiceListener listener = new ServiceListener() {
-        public void serviceChanged(ServiceEvent event) {
-            if (open.get()) {
-                if (event.getType() == ServiceEvent.UNREGISTERING) {
-                    ServiceReference deadRef = event.getServiceReference();
-                    if (deadRef.equals(ref.get())) {
-                        findMatchingReference(deadRef);
-                    }
-                } else if (event.getType() == ServiceEvent.REGISTERED && ref.get() == null) {
-                    findMatchingReference(null);
-                }
-            }
-        }
-    };
-
     public SingleServiceTracker(BundleContext context, Class<T> clazz, SingleServiceListener sl) throws InvalidSyntaxException {
         this(context, clazz, null, sl);
     }
@@ -100,7 +86,7 @@ public final class SingleServiceTracker<T> {
             try {
                 String filterString = '(' + Constants.OBJECTCLASS + '=' + className + ')';
                 if (filter != null) filterString = "(&" + filterString + filter + ')';
-                ctx.addServiceListener(listener, filterString);
+                ctx.addServiceListener(this, filterString);
                 findMatchingReference(null);
             } catch (InvalidSyntaxException e) {
                 // this can never happen. (famous last words :)
@@ -108,6 +94,19 @@ public final class SingleServiceTracker<T> {
         }
     }
 
+    public void serviceChanged(ServiceEvent event) {
+        if (open.get()) {
+            if (event.getType() == ServiceEvent.UNREGISTERING) {
+                ServiceReference deadRef = event.getServiceReference();
+                if (deadRef.equals(ref.get())) {
+                    findMatchingReference(deadRef);
+                }
+            } else if (event.getType() == ServiceEvent.REGISTERED && ref.get() == null) {
+                findMatchingReference(null);
+            }
+        }
+    }
+
     private void findMatchingReference(ServiceReference original) {
         try {
             boolean clear = true;
@@ -176,7 +175,7 @@ public final class SingleServiceTracker<T> {
 
     public void close() {
         if (open.compareAndSet(true, false)) {
-            ctx.removeServiceListener(listener);
+            ctx.removeServiceListener(this);
 
             ServiceReference deadRef;
             synchronized (this) {

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/util/src/main/java/org/apache/karaf/util/tracker/annotation/Managed.java
----------------------------------------------------------------------
diff --git a/util/src/main/java/org/apache/karaf/util/tracker/annotation/Managed.java b/util/src/main/java/org/apache/karaf/util/tracker/annotation/Managed.java
new file mode 100644
index 0000000..7d912da
--- /dev/null
+++ b/util/src/main/java/org/apache/karaf/util/tracker/annotation/Managed.java
@@ -0,0 +1,30 @@
+/*
+ * 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.util.tracker.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.TYPE})
+public @interface Managed {
+
+    String value();
+
+}

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/util/src/main/java/org/apache/karaf/util/tracker/annotation/ProvideService.java
----------------------------------------------------------------------
diff --git a/util/src/main/java/org/apache/karaf/util/tracker/annotation/ProvideService.java b/util/src/main/java/org/apache/karaf/util/tracker/annotation/ProvideService.java
new file mode 100644
index 0000000..47d70ae
--- /dev/null
+++ b/util/src/main/java/org/apache/karaf/util/tracker/annotation/ProvideService.java
@@ -0,0 +1,27 @@
+/*
+ * 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.util.tracker.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface ProvideService {
+
+    Class value();
+
+}

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/util/src/main/java/org/apache/karaf/util/tracker/annotation/RequireService.java
----------------------------------------------------------------------
diff --git a/util/src/main/java/org/apache/karaf/util/tracker/annotation/RequireService.java b/util/src/main/java/org/apache/karaf/util/tracker/annotation/RequireService.java
new file mode 100644
index 0000000..a91089e
--- /dev/null
+++ b/util/src/main/java/org/apache/karaf/util/tracker/annotation/RequireService.java
@@ -0,0 +1,31 @@
+/*
+ * 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.util.tracker.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface RequireService {
+
+    Class value();
+
+    String filter() default "";
+
+    boolean optional() default false;
+
+}

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/util/src/main/java/org/apache/karaf/util/tracker/annotation/Services.java
----------------------------------------------------------------------
diff --git a/util/src/main/java/org/apache/karaf/util/tracker/annotation/Services.java b/util/src/main/java/org/apache/karaf/util/tracker/annotation/Services.java
new file mode 100644
index 0000000..0773c15
--- /dev/null
+++ b/util/src/main/java/org/apache/karaf/util/tracker/annotation/Services.java
@@ -0,0 +1,32 @@
+/*
+ * 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.util.tracker.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.TYPE})
+public @interface Services {
+
+    ProvideService[] provides() default {};
+
+    RequireService[] requires() default {};
+
+}

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/web/pom.xml
----------------------------------------------------------------------
diff --git a/web/pom.xml b/web/pom.xml
index b9fb6be..a178433 100644
--- a/web/pom.xml
+++ b/web/pom.xml
@@ -103,9 +103,7 @@
                             org.apache.karaf.web.internal,
                             org.apache.karaf.web.internal.osgi,
                             org.apache.karaf.web.management.internal,
-                            org.apache.karaf.util.tracker
                         </Private-Package>
-                        <Karaf-Commands>*</Karaf-Commands>
                     </instructions>
                 </configuration>
             </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/026d3d99/web/src/main/java/org/apache/karaf/web/internal/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/web/src/main/java/org/apache/karaf/web/internal/osgi/Activator.java b/web/src/main/java/org/apache/karaf/web/internal/osgi/Activator.java
index 7a1681c..266ab25 100644
--- a/web/src/main/java/org/apache/karaf/web/internal/osgi/Activator.java
+++ b/web/src/main/java/org/apache/karaf/web/internal/osgi/Activator.java
@@ -17,10 +17,9 @@
 package org.apache.karaf.web.internal.osgi;
 
 import org.apache.karaf.util.tracker.BaseActivator;
-import org.apache.karaf.util.tracker.Managed;
-import org.apache.karaf.util.tracker.ProvideService;
-import org.apache.karaf.util.tracker.RequireService;
-import org.apache.karaf.util.tracker.Services;
+import org.apache.karaf.util.tracker.annotation.ProvideService;
+import org.apache.karaf.util.tracker.annotation.RequireService;
+import org.apache.karaf.util.tracker.annotation.Services;
 import org.apache.karaf.web.WebContainerService;
 import org.apache.karaf.web.internal.WebContainerServiceImpl;
 import org.apache.karaf.web.internal.WebEventHandler;