diff --git a/ipojo/annotations/DEPENDENCIES b/ipojo/annotations/DEPENDENCIES
new file mode 100644
index 0000000..c20d6f7
--- /dev/null
+++ b/ipojo/annotations/DEPENDENCIES
@@ -0,0 +1,13 @@
+Apache Felix iPOJO Annotations
+Copyright 2008-2010 The Apache Software Foundation
+
+I. Included Software
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+II. Used Software
+
+III. License Summary
+- Apache License 2.0
diff --git a/ipojo/annotations/NOTICE b/ipojo/annotations/NOTICE
index c20d6f7..8c8ea0f 100644
--- a/ipojo/annotations/NOTICE
+++ b/ipojo/annotations/NOTICE
@@ -1,13 +1,7 @@
 Apache Felix iPOJO Annotations
 Copyright 2008-2010 The Apache Software Foundation
 
-I. Included Software
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
 
-II. Used Software
-
-III. License Summary
-- Apache License 2.0
diff --git a/ipojo/annotations/pom.xml b/ipojo/annotations/pom.xml
index 82a90be..ad1b0f5 100644
--- a/ipojo/annotations/pom.xml
+++ b/ipojo/annotations/pom.xml
@@ -68,8 +68,11 @@
               org.apache.felix.ipojo.handlers.event,
               org.apache.felix.ipojo.transaction
              </Export-Package>
-            <Include-Resource> META-INF/LICENSE=LICENSE,
-              META-INF/NOTICE=NOTICE </Include-Resource>
+            <Include-Resource> 
+              META-INF/LICENSE=LICENSE,
+              META-INF/NOTICE=NOTICE,
+              META-INF/DEPENDENCIES=DEPENDENCIES
+             </Include-Resource>
           </instructions>
           <obrRepository>NONE</obrRepository>
         </configuration>
diff --git a/ipojo/ant/DEPENDENCIES b/ipojo/ant/DEPENDENCIES
new file mode 100644
index 0000000..a715222
--- /dev/null
+++ b/ipojo/ant/DEPENDENCIES
@@ -0,0 +1,22 @@
+Apache Felix iPOJO Ant Task
+Copyright 2008-2010 The Apache Software Foundation
+
+I. Included Software
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+This product includes software developed at
+Copyright (c) 2000-2005 INRIA, France Telecom
+Licensed under BSD License.
+
+II. Used Software
+
+This product uses software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+III. License Summary
+- Apache License 2.0
+- BSD License
diff --git a/ipojo/ant/NOTICE b/ipojo/ant/NOTICE
index a715222..1814e70 100644
--- a/ipojo/ant/NOTICE
+++ b/ipojo/ant/NOTICE
@@ -1,8 +1,6 @@
 Apache Felix iPOJO Ant Task
 Copyright 2008-2010 The Apache Software Foundation
 
-I. Included Software
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
@@ -10,13 +8,3 @@
 This product includes software developed at
 Copyright (c) 2000-2005 INRIA, France Telecom
 Licensed under BSD License.
-
-II. Used Software
-
-This product uses software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
-
-III. License Summary
-- Apache License 2.0
-- BSD License
diff --git a/ipojo/ant/pom.xml b/ipojo/ant/pom.xml
index db44098..544547b 100644
--- a/ipojo/ant/pom.xml
+++ b/ipojo/ant/pom.xml
@@ -85,8 +85,11 @@
               org.apache.xerces.dom.*, org.apache.xerces.dom3.*
             </Private-Package>
             <Export-Package> org.apache.felix.ipojo.task </Export-Package>
-            <Include-Resource> META-INF/LICENSE=LICENSE,
-              META-INF/NOTICE=NOTICE, META-INF/LICENSE.asm=LICENSE.asm
+            <Include-Resource> 
+                  META-INF/LICENSE=LICENSE,
+                  META-INF/NOTICE=NOTICE, 
+                  META-INF/LICENSE.asm=LICENSE.asm,
+                  META-INF/DEPENDENCIES=DEPENDENCIES
             </Include-Resource>
             <Import-Package>!org.objectweb.asm.signature, !org.objectweb.asm.tree, !org.objectweb.asm.tree.analysis, *</Import-Package>
           </instructions>
diff --git a/ipojo/api/DEPENDENCIES b/ipojo/api/DEPENDENCIES
new file mode 100644
index 0000000..a961494
--- /dev/null
+++ b/ipojo/api/DEPENDENCIES
@@ -0,0 +1,27 @@
+Apache Felix iPOJO API
+Copyright 2010 The Apache Software Foundation
+
+I. Included Software
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+This product includes software developed at
+Copyright (c) 2000-2005 INRIA, France Telecom
+Licensed under BSD License.
+
+II. Used Software
+
+This product uses software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+This product includes software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright (c) OSGi Alliance (2000, 2009).
+Licensed under the Apache License 2.0.
+
+III. License Summary
+- Apache License 2.0
+- BSD License
diff --git a/ipojo/api/NOTICE b/ipojo/api/NOTICE
index ecd5ac6..e160b7d 100644
--- a/ipojo/api/NOTICE
+++ b/ipojo/api/NOTICE
@@ -1,8 +1,6 @@
 Apache Felix iPOJO API
 Copyright 2010 The Apache Software Foundation
 
-I. Included Software
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
@@ -10,18 +8,3 @@
 This product includes software developed at
 Copyright (c) 2000-2005 INRIA, France Telecom
 Licensed under BSD License.
-
-II. Used Software
-
-This product uses software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2007).
-Licensed under the Apache License 2.0.
-
-III. License Summary
-- Apache License 2.0
-- BSD License
diff --git a/ipojo/api/pom.xml b/ipojo/api/pom.xml
index d3aec14..31b257e 100644
--- a/ipojo/api/pom.xml
+++ b/ipojo/api/pom.xml
@@ -61,8 +61,11 @@
               org.objectweb.asm.commons;version=3.0, 
               org.objectweb.asm;version=3.0
             </Export-Package>
-            <Include-Resource> META-INF/LICENSE=LICENSE,
-              META-INF/NOTICE=NOTICE, META-INF/LICENSE.asm=LICENSE.asm
+            <Include-Resource> 
+              META-INF/LICENSE=LICENSE,
+              META-INF/NOTICE=NOTICE, 
+              META-INF/LICENSE.asm=LICENSE.asm,
+              META-INF/DEPENDENCIES=DEPENDENCIES
             </Include-Resource>
 
           </instructions>
diff --git a/ipojo/arch-gogo/pom.xml b/ipojo/arch-gogo/pom.xml
index 8175225..149dbe6 100644
--- a/ipojo/arch-gogo/pom.xml
+++ b/ipojo/arch-gogo/pom.xml
@@ -91,8 +91,11 @@
                             http://felix.apache.org/site/ipojo-arch-command.html
                         </Bundle-DocURL>
                         <Private-Package>org.apache.felix.ipojo.arch.gogo</Private-Package>
-                        <Include-Resource> META-INF/LICENSE=LICENSE,
-                            META-INF/NOTICE=NOTICE </Include-Resource>
+                        <Include-Resource> 
+                          META-INF/LICENSE=LICENSE,
+                          META-INF/NOTICE=NOTICE,
+                          META-INF/DEPENDENCIES=DEPENDENCIES
+                         </Include-Resource>
                             <Import-Package>
                                 org.apache.felix.service.command;version=0.6.0, *
                             </Import-Package>
diff --git a/ipojo/arch/DEPENDENCIES b/ipojo/arch/DEPENDENCIES
new file mode 100644
index 0000000..330b30d
--- /dev/null
+++ b/ipojo/arch/DEPENDENCIES
@@ -0,0 +1,22 @@
+Apache Felix iPOJO Arch Command
+Copyright 2008-2010 The Apache Software Foundation
+
+I. Included Software
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+II. Used Software
+
+This product uses software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+This product includes software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright (c) OSGi Alliance (2000, 2009).
+Licensed under the Apache License 2.0.
+
+III. License Summary
+- Apache License 2.0
diff --git a/ipojo/arch/NOTICE b/ipojo/arch/NOTICE
index b9fee34..3f562aa 100644
--- a/ipojo/arch/NOTICE
+++ b/ipojo/arch/NOTICE
@@ -1,22 +1,6 @@
 Apache Felix iPOJO Arch Command
 Copyright 2008-2010 The Apache Software Foundation
 
-I. Included Software
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
-
-II. Used Software
-
-This product uses software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2007).
-Licensed under the Apache License 2.0.
-
-III. License Summary
-- Apache License 2.0
diff --git a/ipojo/arch/pom.xml b/ipojo/arch/pom.xml
index 4fcc4fa..0caef14 100644
--- a/ipojo/arch/pom.xml
+++ b/ipojo/arch/pom.xml
@@ -63,8 +63,11 @@
               http://felix.apache.org/site/ipojo-arch-command.html
             </Bundle-DocURL>
             <Private-Package> org.apache.felix.ipojo.arch </Private-Package>
-            <Include-Resource> META-INF/LICENSE=LICENSE,
-              META-INF/NOTICE=NOTICE </Include-Resource>
+            <Include-Resource> 
+              META-INF/LICENSE=LICENSE,
+              META-INF/NOTICE=NOTICE,
+              META-INF/DEPENDENCIES=DEPENDENCIES
+             </Include-Resource>
           </instructions>
         </configuration>
       </plugin>
diff --git a/ipojo/composite/DEPENDENCIES b/ipojo/composite/DEPENDENCIES
new file mode 100644
index 0000000..0346e51
--- /dev/null
+++ b/ipojo/composite/DEPENDENCIES
@@ -0,0 +1,27 @@
+Apache Felix iPOJO Composite
+Copyright 2008-2010 The Apache Software Foundation
+
+I. Included Software
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+This product includes software developed at
+Copyright (c) 2000-2005 INRIA, France Telecom
+Licensed under BSD License.
+
+II. Used Software
+
+This product includes software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright (c) OSGi Alliance (2000, 2009).
+Licensed under the Apache License 2.0.
+
+This product uses software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+III. License Summary
+- Apache License 2.0
+- BSD License
diff --git a/ipojo/composite/NOTICE b/ipojo/composite/NOTICE
index b8b1f7d..81972a5 100644
--- a/ipojo/composite/NOTICE
+++ b/ipojo/composite/NOTICE
@@ -1,8 +1,6 @@
 Apache Felix iPOJO Composite
 Copyright 2008-2010 The Apache Software Foundation
 
-I. Included Software
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
@@ -11,17 +9,3 @@
 Copyright (c) 2000-2005 INRIA, France Telecom
 Licensed under BSD License.
 
-II. Used Software
-
-This product uses software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2007).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
-
-III. License Summary
-- Apache License 2.0
-- BSD License
diff --git a/ipojo/composite/pom.xml b/ipojo/composite/pom.xml
index ee5bac3..7a1298c 100644
--- a/ipojo/composite/pom.xml
+++ b/ipojo/composite/pom.xml
@@ -94,8 +94,11 @@
               org.objectweb.asm*;version=3.0;-split-package:=merge-first ,
               org.apache.felix.ipojo.manipulation
             </Export-Package>
-            <Include-Resource> META-INF/LICENSE=LICENSE,
-              META-INF/NOTICE=NOTICE, META-INF/LICENSE.asm=LICENSE.asm
+            <Include-Resource> 
+              META-INF/LICENSE=LICENSE,
+              META-INF/NOTICE=NOTICE, 
+              META-INF/LICENSE.asm=LICENSE.asm,
+              META-INF/DEPENDENCIES=DEPENDENCIES
             </Include-Resource>
             <IPOJO-Extension>
               composite:org.apache.felix.ipojo.composite.CompositeFactory
diff --git a/ipojo/core/DEPENDENCIES b/ipojo/core/DEPENDENCIES
new file mode 100644
index 0000000..b28d3f5
--- /dev/null
+++ b/ipojo/core/DEPENDENCIES
@@ -0,0 +1,28 @@
+Apache Felix iPOJO Runtime
+Copyright 2008-2010 The Apache Software Foundation
+
+I. Included Software
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+This product includes software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright (c) OSGi Alliance (2000, 2007).
+Licensed under the Apache License 2.0.
+
+This product includes software developed at
+Copyright (c) 2000-2005 INRIA, France Telecom
+Licensed under BSD License.
+
+II. Used Software
+
+This product uses software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright (c) OSGi Alliance (2000, 2007).
+Licensed under the Apache License 2.0.
+
+III. License Summary
+- Apache License 2.0
+- BSD License
diff --git a/ipojo/core/NOTICE b/ipojo/core/NOTICE
index b28d3f5..6831d31 100644
--- a/ipojo/core/NOTICE
+++ b/ipojo/core/NOTICE
@@ -1,28 +1,15 @@
 Apache Felix iPOJO Runtime
 Copyright 2008-2010 The Apache Software Foundation
 
-I. Included Software
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
 
 This product includes software developed at
 The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2007).
+Copyright (c) OSGi Alliance (2000, 2009).
 Licensed under the Apache License 2.0.
 
 This product includes software developed at
 Copyright (c) 2000-2005 INRIA, France Telecom
 Licensed under BSD License.
-
-II. Used Software
-
-This product uses software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2007).
-Licensed under the Apache License 2.0.
-
-III. License Summary
-- Apache License 2.0
-- BSD License
diff --git a/ipojo/core/pom.xml b/ipojo/core/pom.xml
index 0d8fce2..a47db9e 100644
--- a/ipojo/core/pom.xml
+++ b/ipojo/core/pom.xml
@@ -118,7 +118,8 @@
             </Export-Package>
             <Include-Resource>
               META-INF/LICENSE=LICENSE,
-              META-INF/NOTICE=NOTICE, META-INF/LICENSE.asm=LICENSE.asm
+              META-INF/NOTICE=NOTICE, META-INF/LICENSE.asm=LICENSE.asm,
+              META-INF/DEPENDENCIES=DEPENDENCIES
             </Include-Resource>
             <_donotcopy> (CVS|.svn|.+.bak|~.+|metadata.xml) </_donotcopy>
           </instructions>
diff --git a/ipojo/handler/eventadmin/DEPENDENCIES b/ipojo/handler/eventadmin/DEPENDENCIES
new file mode 100644
index 0000000..b32d9f9
--- /dev/null
+++ b/ipojo/handler/eventadmin/DEPENDENCIES
@@ -0,0 +1,22 @@
+Apache Felix iPOJO Event Admin Handler
+Copyright 2008-2010 The Apache Software Foundation
+
+I. Included Software
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+II. Used Software
+
+This product includes software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright (c) OSGi Alliance (2000, 2009).
+Licensed under the Apache License 2.0.
+
+This product uses software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+III. License Summary
+- Apache License 2.0
diff --git a/ipojo/handler/eventadmin/NOTICE b/ipojo/handler/eventadmin/NOTICE
index 1949814..ffbc6fe 100644
--- a/ipojo/handler/eventadmin/NOTICE
+++ b/ipojo/handler/eventadmin/NOTICE
@@ -1,22 +1,6 @@
 Apache Felix iPOJO Event Admin Handler
 Copyright 2008-2010 The Apache Software Foundation
 
-I. Included Software
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
-
-II. Used Software
-
-This product uses software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2007).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
-
-III. License Summary
-- Apache License 2.0
diff --git a/ipojo/handler/eventadmin/pom.xml b/ipojo/handler/eventadmin/pom.xml
index 06cdf8c..9d5094f 100644
--- a/ipojo/handler/eventadmin/pom.xml
+++ b/ipojo/handler/eventadmin/pom.xml
@@ -70,8 +70,11 @@
              http://felix.apache.org/site/event-admin-handlers.html
             </Bundle-DocURL>
             <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor>
-            <Include-Resource> META-INF/LICENSE=LICENSE,
-              META-INF/NOTICE=NOTICE </Include-Resource>
+            <Include-Resource> 
+              META-INF/LICENSE=LICENSE,
+              META-INF/NOTICE=NOTICE,
+              META-INF/DEPENDENCIES=DEPENDENCIES 
+            </Include-Resource>
           </instructions>
         </configuration>
       </plugin>
diff --git a/ipojo/handler/extender/DEPENDENCIES b/ipojo/handler/extender/DEPENDENCIES
new file mode 100644
index 0000000..b290f6f
--- /dev/null
+++ b/ipojo/handler/extender/DEPENDENCIES
@@ -0,0 +1,22 @@
+Apache Felix iPOJO Extender Pattern Handler
+Copyright 2008-2010 The Apache Software Foundation
+
+I. Included Software
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+II. Used Software
+
+This product includes software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright (c) OSGi Alliance (2000, 2009).
+Licensed under the Apache License 2.0.
+
+This product uses software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+III. License Summary
+- Apache License 2.0
diff --git a/ipojo/handler/extender/NOTICE b/ipojo/handler/extender/NOTICE
index 2a4804e..145fced 100644
--- a/ipojo/handler/extender/NOTICE
+++ b/ipojo/handler/extender/NOTICE
@@ -6,17 +6,3 @@
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
-
-II. Used Software
-
-This product uses software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2007).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
-
-III. License Summary
-- Apache License 2.0
diff --git a/ipojo/handler/extender/pom.xml b/ipojo/handler/extender/pom.xml
index 05eab3a..50a62c3 100644
--- a/ipojo/handler/extender/pom.xml
+++ b/ipojo/handler/extender/pom.xml
@@ -65,8 +65,11 @@
             </Private-Package>
             <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
             <Bundle-Name>${project.name}</Bundle-Name>
-            <Include-Resource> META-INF/LICENSE=LICENSE,
-              META-INF/NOTICE=NOTICE </Include-Resource>
+            <Include-Resource> 
+              META-INF/LICENSE=LICENSE,
+              META-INF/NOTICE=NOTICE,
+              META-INF/DEPENDENCIES=DEPENDENCIES 
+            </Include-Resource>
           </instructions>
         </configuration>
       </plugin>
diff --git a/ipojo/handler/jmx/DEPENDENCIES b/ipojo/handler/jmx/DEPENDENCIES
new file mode 100644
index 0000000..170da69
--- /dev/null
+++ b/ipojo/handler/jmx/DEPENDENCIES
@@ -0,0 +1,22 @@
+Apache Felix iPOJO JMX Handler
+Copyright 2008-2010 The Apache Software Foundation
+
+I. Included Software
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+II. Used Software
+
+This product includes software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright (c) OSGi Alliance (2000, 2009).
+Licensed under the Apache License 2.0.
+
+This product uses software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+III. License Summary
+- Apache License 2.0
diff --git a/ipojo/handler/jmx/NOTICE b/ipojo/handler/jmx/NOTICE
index 40c1cd1..246955c 100644
--- a/ipojo/handler/jmx/NOTICE
+++ b/ipojo/handler/jmx/NOTICE
@@ -1,22 +1,7 @@
 Apache Felix iPOJO JMX Handler
 Copyright 2008-2010 The Apache Software Foundation
 
-I. Included Software
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
 
-II. Used Software
-
-This product uses software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2007).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
-
-III. License Summary
-- Apache License 2.0
diff --git a/ipojo/handler/jmx/pom.xml b/ipojo/handler/jmx/pom.xml
index 4df40aa..67e8e07 100644
--- a/ipojo/handler/jmx/pom.xml
+++ b/ipojo/handler/jmx/pom.xml
@@ -64,8 +64,11 @@
             <Bundle-DocURL>
               http://felix.apache.org/site/ipojo-jmx-handler.html
             </Bundle-DocURL>
-            <Include-Resource> META-INF/LICENSE=LICENSE,
-              META-INF/NOTICE=NOTICE </Include-Resource>
+            <Include-Resource> 
+              META-INF/LICENSE=LICENSE,
+              META-INF/NOTICE=NOTICE,
+              META-INF/DEPENDENCIES=DEPENDENCIES
+            </Include-Resource>
           </instructions>
         </configuration>
       </plugin>
diff --git a/ipojo/handler/temporal/DEPENDENCIES b/ipojo/handler/temporal/DEPENDENCIES
new file mode 100644
index 0000000..0c4a72a
--- /dev/null
+++ b/ipojo/handler/temporal/DEPENDENCIES
@@ -0,0 +1,28 @@
+Apache Felix iPOJO Temporal Dependency Handler
+Copyright 2008-2010 The Apache Software Foundation
+
+I. Included Software
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+This product includes software developed at
+Copyright (c) 2000-2005 INRIA, France Telecom
+Licensed under BSD License.
+
+II. Used Software
+
+This product includes software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright (c) OSGi Alliance (2000, 2009).
+Licensed under the Apache License 2.0.
+
+This product uses software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+III. License Summary
+- Apache License 2.0
+- BSD License
+
diff --git a/ipojo/handler/temporal/NOTICE b/ipojo/handler/temporal/NOTICE
index 2157c2d..3e8e54f 100644
--- a/ipojo/handler/temporal/NOTICE
+++ b/ipojo/handler/temporal/NOTICE
@@ -1,8 +1,6 @@
 Apache Felix iPOJO Temporal Dependency Handler
 Copyright 2008-2010 The Apache Software Foundation
 
-I. Included Software
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
@@ -11,18 +9,3 @@
 Copyright (c) 2000-2005 INRIA, France Telecom
 Licensed under BSD License.
 
-II. Used Software
-
-This product uses software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2007).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
-
-III. License Summary
-- Apache License 2.0
-- BSD License
-
diff --git a/ipojo/handler/temporal/pom.xml b/ipojo/handler/temporal/pom.xml
index 30d1d13..a9fe5dc 100644
--- a/ipojo/handler/temporal/pom.xml
+++ b/ipojo/handler/temporal/pom.xml
@@ -80,10 +80,12 @@
             <Bundle-DocURL>
               http://felix.apache.org/site/temporal-service-dependency.html
             </Bundle-DocURL>
-            <Include-Resource> META-INF/LICENSE=LICENSE,
+            <Include-Resource> 
+              META-INF/LICENSE=LICENSE,
               META-INF/LICENSE.asm=LICENSE.asm,
-              META-INF/NOTICE=NOTICE
-             </Include-Resource>
+              META-INF/NOTICE=NOTICE,
+              META-INF/DEPENDENCIES=DEPENDENCIES
+            </Include-Resource>
           </instructions>
         </configuration>
       </plugin>
diff --git a/ipojo/handler/whiteboard/DEPENDENCIES b/ipojo/handler/whiteboard/DEPENDENCIES
new file mode 100644
index 0000000..029037a
--- /dev/null
+++ b/ipojo/handler/whiteboard/DEPENDENCIES
@@ -0,0 +1,22 @@
+Apache Felix iPOJO Whiteboard Pattern Handler
+Copyright 2008-2010 The Apache Software Foundation
+
+I. Included Software
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+II. Used Software
+
+This product includes software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright (c) OSGi Alliance (2000, 2009).
+Licensed under the Apache License 2.0.
+
+This product uses software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+III. License Summary
+- Apache License 2.0
diff --git a/ipojo/handler/whiteboard/NOTICE b/ipojo/handler/whiteboard/NOTICE
index 86ba95d..c607b10 100644
--- a/ipojo/handler/whiteboard/NOTICE
+++ b/ipojo/handler/whiteboard/NOTICE
@@ -1,22 +1,6 @@
 Apache Felix iPOJO Whiteboard Pattern Handler
 Copyright 2008-2010 The Apache Software Foundation
 
-I. Included Software
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
-
-II. Used Software
-
-This product uses software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2007).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
-
-III. License Summary
-- Apache License 2.0
diff --git a/ipojo/handler/whiteboard/pom.xml b/ipojo/handler/whiteboard/pom.xml
index 0275e66..8628924 100644
--- a/ipojo/handler/whiteboard/pom.xml
+++ b/ipojo/handler/whiteboard/pom.xml
@@ -68,8 +68,11 @@
             <Private-Package> org.apache.felix.ipojo.handler.wbp
             </Private-Package>
             <Bundle-Name>${project.name}</Bundle-Name>
-            <Include-Resource> META-INF/LICENSE=LICENSE,
-              META-INF/NOTICE=NOTICE </Include-Resource>
+            <Include-Resource> 
+              META-INF/LICENSE=LICENSE,
+              META-INF/NOTICE=NOTICE,
+              META-INF/DEPENDENCIES=DEPENDENCIES
+            </Include-Resource>
           </instructions>
         </configuration>
       </plugin>
diff --git a/ipojo/manipulator/DEPENDENCIES b/ipojo/manipulator/DEPENDENCIES
new file mode 100644
index 0000000..3a843d3
--- /dev/null
+++ b/ipojo/manipulator/DEPENDENCIES
@@ -0,0 +1,22 @@
+Apache Felix iPOJO Manipulator
+Copyright 2008-2010 The Apache Software Foundation
+
+I. Included Software
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+This product includes software developed at
+Copyright (c) 2000-2005 INRIA, France Telecom
+Licensed under BSD License.
+
+II. Used Software
+
+This product uses software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+III. License Summary
+- Apache License 2.0
+- BSD License
diff --git a/ipojo/manipulator/NOTICE b/ipojo/manipulator/NOTICE
index 3a843d3..90128d7 100644
--- a/ipojo/manipulator/NOTICE
+++ b/ipojo/manipulator/NOTICE
@@ -1,8 +1,6 @@
 Apache Felix iPOJO Manipulator
 Copyright 2008-2010 The Apache Software Foundation
 
-I. Included Software
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
@@ -10,13 +8,3 @@
 This product includes software developed at
 Copyright (c) 2000-2005 INRIA, France Telecom
 Licensed under BSD License.
-
-II. Used Software
-
-This product uses software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
-
-III. License Summary
-- Apache License 2.0
-- BSD License
diff --git a/ipojo/manipulator/pom.xml b/ipojo/manipulator/pom.xml
index 2a09e61..83473d5 100644
--- a/ipojo/manipulator/pom.xml
+++ b/ipojo/manipulator/pom.xml
@@ -71,9 +71,13 @@
               org.apache.felix.ipojo.manipulation.annotations,
               org.apache.felix.ipojo.xml.parser, org.objectweb.asm,
               org.objectweb.asm.commons </Private-Package>
-            <Include-Resource> META-INF/LICENSE=LICENSE,
-              META-INF/LICENSE.asm=LICENSE.asm, META-INF/NOTICE=NOTICE,
-              xsd=src/main/resources </Include-Resource>
+            <Include-Resource> 
+              META-INF/LICENSE=LICENSE,
+              META-INF/LICENSE.asm=LICENSE.asm, 
+              META-INF/NOTICE=NOTICE,
+              xsd=src/main/resources, 
+              META-INF/DEPENDENCIES=DEPENDENCIES
+            </Include-Resource>
             <Import-Package>!org.objectweb.asm.tree, *</Import-Package>
           </instructions>
           <obrRepository>NONE</obrRepository>
diff --git a/ipojo/metadata/DEPENDENCIES b/ipojo/metadata/DEPENDENCIES
new file mode 100644
index 0000000..7ffbe6f
--- /dev/null
+++ b/ipojo/metadata/DEPENDENCIES
@@ -0,0 +1,13 @@
+Apache Felix iPOJO Metadata
+Copyright 2008-2010 The Apache Software Foundation
+
+I. Included Software
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+II. Used Software
+
+III. License Summary
+- Apache License 2.0
diff --git a/ipojo/metadata/NOTICE b/ipojo/metadata/NOTICE
index 7ffbe6f..8ba11f8 100644
--- a/ipojo/metadata/NOTICE
+++ b/ipojo/metadata/NOTICE
@@ -1,13 +1,7 @@
 Apache Felix iPOJO Metadata
 Copyright 2008-2010 The Apache Software Foundation
 
-I. Included Software
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
 
-II. Used Software
-
-III. License Summary
-- Apache License 2.0
diff --git a/ipojo/metadata/pom.xml b/ipojo/metadata/pom.xml
index 71ba27c..ed7b692 100644
--- a/ipojo/metadata/pom.xml
+++ b/ipojo/metadata/pom.xml
@@ -48,8 +48,11 @@
             <Bundle-Vendor> The Apache Software Foundation </Bundle-Vendor>
             <Bundle-Description> iPOJO Metadata </Bundle-Description>
             <Export-Package> org.apache.felix.ipojo.metadata </Export-Package>
-            <Include-Resource> META-INF/LICENSE=LICENSE,
-              META-INF/NOTICE=NOTICE </Include-Resource>
+            <Include-Resource> 
+              META-INF/LICENSE=LICENSE,
+              META-INF/NOTICE=NOTICE,
+              META-INF/DEPENDENCIES=DEPENDENCIES
+            </Include-Resource>
           </instructions>
           <obrRepository>NONE</obrRepository>
         </configuration>
diff --git a/ipojo/online-manipulator/DEPENDENCIES b/ipojo/online-manipulator/DEPENDENCIES
new file mode 100644
index 0000000..153bb30
--- /dev/null
+++ b/ipojo/online-manipulator/DEPENDENCIES
@@ -0,0 +1,28 @@
+Apache Felix iPOJO Online Manipulator
+Copyright 2008-2010 The Apache Software Foundation
+
+I. Included Software
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+This product includes software developed at
+Copyright (c) 2000-2005 INRIA, France Telecom
+Licensed under BSD License.
+
+II. Used Software
+
+This product uses software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+This product includes software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright (c) OSGi Alliance (2000, 2009).
+Licensed under the Apache License 2.0.
+
+III. License Summary
+- Apache License 2.0
+- BSD License
+
diff --git a/ipojo/online-manipulator/NOTICE b/ipojo/online-manipulator/NOTICE
index 7ab786d..ea61ae3 100644
--- a/ipojo/online-manipulator/NOTICE
+++ b/ipojo/online-manipulator/NOTICE
@@ -1,8 +1,6 @@
 Apache Felix iPOJO Online Manipulator
 Copyright 2008-2010 The Apache Software Foundation
 
-I. Included Software
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
@@ -11,18 +9,3 @@
 Copyright (c) 2000-2005 INRIA, France Telecom
 Licensed under BSD License.
 
-II. Used Software
-
-This product uses software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2007).
-Licensed under the Apache License 2.0.
-
-III. License Summary
-- Apache License 2.0
-- BSD License
-
diff --git a/ipojo/online-manipulator/pom.xml b/ipojo/online-manipulator/pom.xml
index 7d00924..0c1023e 100644
--- a/ipojo/online-manipulator/pom.xml
+++ b/ipojo/online-manipulator/pom.xml
@@ -55,9 +55,11 @@
               org.objectweb.asm.commons, org.objectweb.asm </Export-Package>
             <Import-Package> !org.objectweb.asm.tree, !sun.io, org.osgi.framework;version=1.3, *
             </Import-Package>
-            <Include-Resource> META-INF/LICENSE=LICENSE,
+            <Include-Resource> 
+              META-INF/LICENSE=LICENSE,
               META-INF/LICENSE.asm=LICENSE.asm,
-              META-INF/NOTICE=NOTICE
+              META-INF/NOTICE=NOTICE,
+              META-INF/DEPENDENCIES=DEPENDENCIES
              </Include-Resource>
             <!-- <Embed-Dependency>xercesImpl|xml-resolver</Embed-Dependency> -->
           </instructions>
diff --git a/ipojo/plugin/DEPENDENCIES b/ipojo/plugin/DEPENDENCIES
new file mode 100644
index 0000000..9f8b48f
--- /dev/null
+++ b/ipojo/plugin/DEPENDENCIES
@@ -0,0 +1,7 @@
+Apache Felix iPOJO Maven Plugin
+Copyright 2008-2010 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
diff --git a/ipojo/plugin/pom.xml b/ipojo/plugin/pom.xml
index 65b220e..021a369 100644
--- a/ipojo/plugin/pom.xml
+++ b/ipojo/plugin/pom.xml
@@ -76,6 +76,20 @@
     </dependency>
   </dependencies>
   <build>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+      </resource>
+      <resource>
+      <directory>.</directory>
+      <targetPath>META-INF</targetPath>
+      <includes>
+        <include>LICENSE*</include>
+        <include>NOTICE*</include>
+        <include>DEPENDENCIES*</include>
+      </includes>
+    </resource>
+    </resources>
     <plugins>
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
diff --git a/ipojo/webconsole-plugin/DEPENDENCIES b/ipojo/webconsole-plugin/DEPENDENCIES
new file mode 100644
index 0000000..2b2770d
--- /dev/null
+++ b/ipojo/webconsole-plugin/DEPENDENCIES
@@ -0,0 +1,28 @@
+Apache Felix iPOJO Webconsole Plugins
+Copyright 2008-2010 The Apache Software Foundation
+
+I. Included Software
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+This product includes software from http://www.json.org.
+Copyright (c) 2002 JSON.org
+Licensed under the JSON License
+
+II. Used Software
+
+This product includes software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright (c) OSGi Alliance (2000, 2009).
+Licensed under the Apache License 2.0.
+
+This product uses software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+III. License Summary
+- Apache License 2.0
+- JSON License
+
diff --git a/ipojo/webconsole-plugin/NOTICE b/ipojo/webconsole-plugin/NOTICE
index 098b175..226fefe 100644
--- a/ipojo/webconsole-plugin/NOTICE
+++ b/ipojo/webconsole-plugin/NOTICE
@@ -1,8 +1,6 @@
 Apache Felix iPOJO Webconsole Plugins
 Copyright 2008-2010 The Apache Software Foundation
 
-I. Included Software
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
@@ -11,18 +9,3 @@
 Copyright (c) 2002 JSON.org
 Licensed under the JSON License
 
-II. Used Software
-
-This product uses software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2007).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
-
-III. License Summary
-- Apache License 2.0
-- JSON License
-
diff --git a/ipojo/webconsole-plugin/pom.xml b/ipojo/webconsole-plugin/pom.xml
index 89de678..83a6e56 100644
--- a/ipojo/webconsole-plugin/pom.xml
+++ b/ipojo/webconsole-plugin/pom.xml
@@ -61,8 +61,12 @@
               org.apache.felix.ipojo.webconsole
             </Private-Package>
             <Import-Package>*</Import-Package>
-            <Include-Resource> META-INF/LICENSE=LICENSE,
-              META-INF/NOTICE=NOTICE, res=src/main/resources/res
+            <Include-Resource> 
+              META-INF/LICENSE=LICENSE,
+              META-INF/LICENSE.json=LICENSE.json,
+              META-INF/NOTICE=NOTICE,
+              META-INF/DEPENDENCIES=DEPENDENCIES,
+              res=src/main/resources/res
              </Include-Resource>
              <Embed-Dependency>
                 <!-- Required for JSON data transfer -->
