diff --git a/sigil/common/core/DEPENDENCIES b/sigil/common/core/DEPENDENCIES
new file mode 100644
index 0000000..dc158c9
--- /dev/null
+++ b/sigil/common/core/DEPENDENCIES
@@ -0,0 +1,28 @@
+Apache Felix Sigil Common Core
+Copyright 2010 The Apache Software Foundation
+
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
+
+I. Included Third-Party Software
+
+This product includes software developed by Peter Kriens
+(http://www.aqute.biz/Code/Bnd)
+Copyright 2006-2009 aQute, All rights reserved
+Licensed under the Apache License 2.0.
+
+II. Used Third-Party Software
+
+This product uses software developed by Peter Kriens
+(http://www.aqute.biz/Code/Bnd)
+Copyright 2006-2009 aQute, All rights reserved
+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, 2009).
+Licensed under the Apache License 2.0.
+
+III. License Summary
+- Apache License 2.0
diff --git a/sigil/common/core/NOTICE b/sigil/common/core/NOTICE
index d723de2..caf3ce7 100644
--- a/sigil/common/core/NOTICE
+++ b/sigil/common/core/NOTICE
@@ -1,31 +1,6 @@
 Apache Felix Sigil Common Core
-Copyright 2009-2010 The Apache Software Foundation
-
-
-I. Included Software
+Copyright 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.
-
-This product includes software developed by Peter Kriens
-(http://www.aqute.biz/Code/Bnd)
-Copyright 2006-2009 aQute, All rights reserved
-Licensed under the Apache License 2.0.
-
-
-II. Used Software
-
-This product uses software developed by Peter Kriens
-(http://www.aqute.biz/Code/Bnd)
-Copyright 2006-2009 aQute, All rights reserved
-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/sigil/common/obr/DEPENDENCIES b/sigil/common/obr/DEPENDENCIES
new file mode 100644
index 0000000..e9ecd0b
--- /dev/null
+++ b/sigil/common/obr/DEPENDENCIES
@@ -0,0 +1,20 @@
+Apache Felix Sigil Common OBR
+Copyright 2010 The Apache Software Foundation
+
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
+
+I. Included Third-Party Software
+
+n/a
+
+II. Used Third-Party Software
+
+This product uses 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/sigil/common/obr/NOTICE b/sigil/common/obr/NOTICE
index 2a103af..caf3ce7 100644
--- a/sigil/common/obr/NOTICE
+++ b/sigil/common/obr/NOTICE
@@ -1,21 +1,6 @@
-Apache Felix Sigil Common OBR
-Copyright 2009-2010 The Apache Software Foundation
-
-
-I. Included Software
+Apache Felix Sigil Common Core
+Copyright 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.
-
-
-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
diff --git a/sigil/common/osgi/DEPENDENCIES b/sigil/common/osgi/DEPENDENCIES
new file mode 100644
index 0000000..6e85a6c
--- /dev/null
+++ b/sigil/common/osgi/DEPENDENCIES
@@ -0,0 +1,20 @@
+Apache Felix Sigil Common OSGi
+Copyright 2010 The Apache Software Foundation
+
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
+
+I. Included Third-Party Software
+
+n/a
+
+II. Used Third-Party Software
+
+This product uses 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/sigil/common/osgi/NOTICE b/sigil/common/osgi/NOTICE
index caace2b..ea0a322 100644
--- a/sigil/common/osgi/NOTICE
+++ b/sigil/common/osgi/NOTICE
@@ -1,20 +1,6 @@
 Apache Felix Sigil Common OSGi
-Copyright 2009-2010 The Apache Software Foundation
-
-
-I. Included Software
+Copyright 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.
-
-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
diff --git a/sigil/common/runtime/DEPENDENCIES b/sigil/common/runtime/DEPENDENCIES
new file mode 100644
index 0000000..5717b0c
--- /dev/null
+++ b/sigil/common/runtime/DEPENDENCIES
@@ -0,0 +1,20 @@
+Apache Felix Sigil Common Runtime
+Copyright 2010 The Apache Software Foundation
+
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
+
+I. Included Third-Party Software
+
+n/a
+
+II. Used Third-Party Software
+
+This product uses 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/sigil/common/runtime/NOTICE b/sigil/common/runtime/NOTICE
index c520f12..8601917 100644
--- a/sigil/common/runtime/NOTICE
+++ b/sigil/common/runtime/NOTICE
@@ -1,20 +1,6 @@
 Apache Felix Sigil Common Runtime
-Copyright 2009-2010 The Apache Software Foundation
-
-
-I. Included Software
+Copyright 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.
-
-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
diff --git a/sigil/eclipse/core/DEPENDENCIES b/sigil/eclipse/core/DEPENDENCIES
new file mode 100644
index 0000000..e9ad596
--- /dev/null
+++ b/sigil/eclipse/core/DEPENDENCIES
@@ -0,0 +1,26 @@
+Apache Felix Sigil Eclipse Core
+Copyright 2010 The Apache Software Foundation
+
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
+
+I. Included Third-Party Software
+
+n/a
+
+II. Used Third-Party Software
+
+This product uses software developed by the The Eclipse Foundation
+(http://www.eclipse.org)
+Copyright © 2010 The Eclipse Foundation. All Rights Reserved.
+Licensed under the Eclipse Public License - v 1.0.
+
+This product uses 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
+- Eclipse Public License - v 1.0
diff --git a/sigil/eclipse/core/NOTICE b/sigil/eclipse/core/NOTICE
new file mode 100644
index 0000000..7080eb2
--- /dev/null
+++ b/sigil/eclipse/core/NOTICE
@@ -0,0 +1,6 @@
+Apache Felix Sigil Eclipse Core
+Copyright 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/sigil/eclipse/help/DEPENDENCIES b/sigil/eclipse/help/DEPENDENCIES
new file mode 100644
index 0000000..2691511
--- /dev/null
+++ b/sigil/eclipse/help/DEPENDENCIES
@@ -0,0 +1,26 @@
+Apache Felix Sigil Eclipse Help
+Copyright 2010 The Apache Software Foundation
+
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
+
+I. Included Third-Party Software
+
+n/a
+
+II. Used Third-Party Software
+
+This product uses software developed by the The Eclipse Foundation
+(http://www.eclipse.org)
+Copyright © 2010 The Eclipse Foundation. All Rights Reserved.
+Licensed under the Eclipse Public License - v 1.0.
+
+This product uses 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
+- Eclipse Public License - v 1.0
diff --git a/sigil/eclipse/help/NOTICE b/sigil/eclipse/help/NOTICE
new file mode 100644
index 0000000..64a02ed
--- /dev/null
+++ b/sigil/eclipse/help/NOTICE
@@ -0,0 +1,6 @@
+Apache Felix Sigil Eclipse Help
+Copyright 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/sigil/eclipse/obr/DEPENDENCIES b/sigil/eclipse/obr/DEPENDENCIES
new file mode 100644
index 0000000..ccf383e
--- /dev/null
+++ b/sigil/eclipse/obr/DEPENDENCIES
@@ -0,0 +1,26 @@
+Apache Felix Sigil Eclipse OBR
+Copyright 2010 The Apache Software Foundation
+
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
+
+I. Included Third-Party Software
+
+n/a
+
+II. Used Third-Party Software
+
+This product uses software developed by the The Eclipse Foundation
+(http://www.eclipse.org)
+Copyright © 2010 The Eclipse Foundation. All Rights Reserved.
+Licensed under the Eclipse Public License - v 1.0.
+
+This product uses 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
+- Eclipse Public License - v 1.0
diff --git a/sigil/eclipse/obr/NOTICE b/sigil/eclipse/obr/NOTICE
new file mode 100644
index 0000000..20c985b
--- /dev/null
+++ b/sigil/eclipse/obr/NOTICE
@@ -0,0 +1,6 @@
+Apache Felix Sigil Eclipse OBR
+Copyright 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/sigil/eclipse/runtime/DEPENDENCIES b/sigil/eclipse/runtime/DEPENDENCIES
new file mode 100644
index 0000000..0159f80
--- /dev/null
+++ b/sigil/eclipse/runtime/DEPENDENCIES
@@ -0,0 +1,26 @@
+Apache Felix Sigil Eclipse Runtime
+Copyright 2010 The Apache Software Foundation
+
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
+
+I. Included Third-Party Software
+
+n/a
+
+II. Used Third-Party Software
+
+This product uses software developed by the The Eclipse Foundation
+(http://www.eclipse.org)
+Copyright © 2010 The Eclipse Foundation. All Rights Reserved.
+Licensed under the Eclipse Public License - v 1.0.
+
+This product uses 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
+- Eclipse Public License - v 1.0
diff --git a/sigil/eclipse/runtime/NOTICE b/sigil/eclipse/runtime/NOTICE
new file mode 100644
index 0000000..b6758b9
--- /dev/null
+++ b/sigil/eclipse/runtime/NOTICE
@@ -0,0 +1,6 @@
+Apache Felix Sigil Eclipse Runtime
+Copyright 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/sigil/eclipse/search/DEPENDENCIES b/sigil/eclipse/search/DEPENDENCIES
new file mode 100644
index 0000000..54f2b58
--- /dev/null
+++ b/sigil/eclipse/search/DEPENDENCIES
@@ -0,0 +1,26 @@
+Apache Felix Sigil Eclipse Search
+Copyright 2010 The Apache Software Foundation
+
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
+
+I. Included Third-Party Software
+
+n/a
+
+II. Used Third-Party Software
+
+This product uses software developed by the The Eclipse Foundation
+(http://www.eclipse.org)
+Copyright © 2010 The Eclipse Foundation. All Rights Reserved.
+Licensed under the Eclipse Public License - v 1.0.
+
+This product uses 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
+- Eclipse Public License - v 1.0
diff --git a/sigil/eclipse/search/NOTICE b/sigil/eclipse/search/NOTICE
new file mode 100644
index 0000000..bdd75e9
--- /dev/null
+++ b/sigil/eclipse/search/NOTICE
@@ -0,0 +1,6 @@
+Apache Felix Sigil Eclipse Search
+Copyright 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/sigil/eclipse/ui/DEPENDENCIES b/sigil/eclipse/ui/DEPENDENCIES
new file mode 100644
index 0000000..a3ed667
--- /dev/null
+++ b/sigil/eclipse/ui/DEPENDENCIES
@@ -0,0 +1,26 @@
+Apache Felix Sigil Eclipse UI
+Copyright 2010 The Apache Software Foundation
+
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
+
+I. Included Third-Party Software
+
+n/a
+
+II. Used Third-Party Software
+
+This product uses software developed by the The Eclipse Foundation
+(http://www.eclipse.org)
+Copyright © 2010 The Eclipse Foundation. All Rights Reserved.
+Licensed under the Eclipse Public License - v 1.0.
+
+This product uses 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
+- Eclipse Public License - v 1.0
diff --git a/sigil/eclipse/ui/NOTICE b/sigil/eclipse/ui/NOTICE
new file mode 100644
index 0000000..6328fd0
--- /dev/null
+++ b/sigil/eclipse/ui/NOTICE
@@ -0,0 +1,6 @@
+Apache Felix Sigil Eclipse UI
+Copyright 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/sigil/eclipse/utils/DEPENDENCIES b/sigil/eclipse/utils/DEPENDENCIES
new file mode 100644
index 0000000..049cc85
--- /dev/null
+++ b/sigil/eclipse/utils/DEPENDENCIES
@@ -0,0 +1,21 @@
+Apache Felix Sigil Eclipse Util
+Copyright 2010 The Apache Software Foundation
+
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
+
+I. Included Third-Party Software
+
+n/a
+
+II. Used Third-Party Software
+
+This product uses software developed by the The Eclipse Foundation
+(http://www.eclipse.org)
+Copyright © 2010 The Eclipse Foundation. All Rights Reserved.
+Licensed under the Eclipse Public License - v 1.0.
+
+III. License Summary
+- Apache License 2.0
+- Eclipse Public License - v 1.0
diff --git a/sigil/eclipse/utils/NOTICE b/sigil/eclipse/utils/NOTICE
new file mode 100644
index 0000000..9ac591a
--- /dev/null
+++ b/sigil/eclipse/utils/NOTICE
@@ -0,0 +1,6 @@
+Apache Felix Sigil Eclipse Util
+Copyright 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/sigil/gogo/junit/DEPENDENCIES b/sigil/gogo/junit/DEPENDENCIES
new file mode 100644
index 0000000..bcc3ee2
--- /dev/null
+++ b/sigil/gogo/junit/DEPENDENCIES
@@ -0,0 +1,20 @@
+Apache Felix Sigil Gogo JUnit
+Copyright 2010 The Apache Software Foundation
+
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
+
+I. Included Third-Party Software
+
+n/a
+
+II. Used Third-Party Software
+
+This product uses 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/sigil/gogo/junit/NOTICE b/sigil/gogo/junit/NOTICE
new file mode 100644
index 0000000..4fc7c00
--- /dev/null
+++ b/sigil/gogo/junit/NOTICE
@@ -0,0 +1,6 @@
+Apache Felix Sigil Gogo JUnit
+Copyright 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/sigil/ivy/resolver/DEPENDENCIES b/sigil/ivy/resolver/DEPENDENCIES
new file mode 100644
index 0000000..0c03e3b
--- /dev/null
+++ b/sigil/ivy/resolver/DEPENDENCIES
@@ -0,0 +1,25 @@
+Apache Felix Sigil Common Core
+Copyright 2010 The Apache Software Foundation
+
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
+
+I. Included Third-Party Software
+
+This product includes software developed by Peter Kriens
+(http://www.aqute.biz/Code/Bnd)
+Copyright 2006-2009 aQute, All rights reserved
+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.
+
+II. Used Third-Party Software
+
+n/a
+
+III. License Summary
+- Apache License 2.0
diff --git a/sigil/ivy/resolver/NOTICE b/sigil/ivy/resolver/NOTICE
new file mode 100644
index 0000000..00d694d
--- /dev/null
+++ b/sigil/ivy/resolver/NOTICE
@@ -0,0 +1,6 @@
+Apache Felix Sigil Ivy Resolver
+Copyright 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.
