diff --git a/bootstrap b/bootstrap
index dfa1840..5439604 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,5 +1,24 @@
 #!/bin/sh
 ##
+## 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.
+##
+
+##
 ## $Rev$ $Date$
 ##
 
diff --git a/bootstrap.bat b/bootstrap.bat
index 998cf75..fd817fc 100644
--- a/bootstrap.bat
+++ b/bootstrap.bat
@@ -1,6 +1,28 @@
 @echo off
 rem 
 rem $Rev$ $Date$
+rem @echo off
+rem 
+rem Licensed to the Apache Software Foundation (ASF) under one
+rem or more contributor license agreements.  See the NOTICE file
+rem distributed with this work for additional information
+rem regarding copyright ownership.  The ASF licenses this file
+rem to you under the Apache License, Version 2.0 (the
+rem "License"); you may not use this file except in compliance
+rem with the License.  You may obtain a copy of the License at
+rem 
+rem  http://www.apache.org/licenses/LICENSE-2.0
+rem 
+rem Unless required by applicable law or agreed to in writing,
+rem software distributed under the License is distributed on an
+rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+rem KIND, either express or implied.  See the License for the
+rem specific language governing permissions and limitations
+rem under the License.
+rem 
+
+rem 
+rem $Rev$ $Date$
 rem 
 
 if not "%ECHO%" == "" echo %ECHO%
diff --git a/config/clover-config/src/main/resources/org/apache/geronimo/clover.license b/config/clover-config/src/main/resources/org/apache/geronimo/clover.license
deleted file mode 100644
index dce76f0..0000000
--- a/config/clover-config/src/main/resources/org/apache/geronimo/clover.license
+++ /dev/null
@@ -1,167 +0,0 @@
-Product: Clover
-License: Open Source License, 0.x, 1.x
-Issued: Sun May 14 2006 21:59:13 CDT
-Expiry: Never
-Maintenance Expiry: Never
-Key: 965016739f4031c43d67e61b0
-Name: Jason Dillon
-Org: Apache Geronimo
-Certificate: AAAB8m+Ow8B7/zEbxOMqqKwwrdpP+a1COmJGHco7sCNLjHkHnajPF+dQW
-Ct12PMy0uml0s9xuus5wKngJ9OFk5DFeh01dzQF66bhXH1HsO1TZPnKl85Q9hY8Obs0fxY
-3jhJRbYV9eewtg+KPUM0ZP/Wbb5ulMfvsUoa5QDMxb37PP7IjS6Y7TILtnFKsWjcAJcnyM
-vXutYDtZPvEOMbsyTHE4MzPomVPAGAjH+e37E9Xf7HnRSrmxtrGX+wdaBOlZFUIIcVHKT2
-IaGToLZnx7FvfE3rzyQCYtS+r0E+H61c+dANzySy5PEH2JEyL8M9JrwgTFGTe9XehwbXSw
-3rzyj+Do+A4z6GozKlpUiRgORCIov0TFUSq6wt++NrcqV32Gy0SsCE4DSqOEWMu1SNO6DC
-F8+BHyh4o/psqn6UtttZTkr9KOX8eHcQusTwT8jtcgI6XS6UVJhZw2Jd66PWk0Mhyp9Mi1
-qmEON/sx8i8b0E5YT8A57ClUEYf7rgAO7OaipoErnIrE60wdwc6jnI3eIBoIbgpn/TsS5o
-fLvPWGsTvKKzIE5CuTSdkQjnPNbFwSOk7CYjrnUPpQTwCas/wc/Xvv86MdfjIJdfszTjZ+
-cfU4QADOXEpG/GxthECSbXnVWPukoD6RpUQIQ+3LGIJIo5WKWiEEVLBK8QP6iPMkjQp7Wb
-IcxJc1LFrkQARhwwvCBUEzAjEmJ9aCeL/yTEfQS3qvlAQOTfwcVt1NKZQrWZX9oBpB5OKU
-fjIldlc5N0xGP3DWwWCl2oAarSEDMcO72MmBiLiW0OuDlBCD060e50Vc6ebOp0FGZ0X7bL
-AfBmByN23P/6Z
-License Agreement: CLOVER VERSION 1 (ONE) SOFTWARE LICENSE AGREEMENT
-
-1. Licenses and Software
-
-Cortex eBusiness Pty Ltd, an Australian Proprietary Limited Company
-("CENQUA") hereby grants to the purchaser (the "LICENSEE") a limited,
-revocable, worldwide, non-exclusive, non-transferable,
-non-sublicensable license to use the Clover version 1 (one) software
-(the "Software"), including any minor upgrades thereof during the Term
-(hereinafter defined) up to, but not including the next major version
-of the Software. The licensee shall not, or knowingly allow others to,
-reverse engineer, decompile, disassemble, modify, adapt, create
-derivative works from or otherwise attempt to derive source code from
-the Software provided. And, in accordance with the terms and
-conditions of this Software License Agreement (the "Agreement"), the
-Software shall be used solely by the licensed users in accordance with
-the following edition specific conditions:
-
-a) Server Edition
-
-A Server Edition license entitles the Licensee to execute one instance
-of Clover Server Edition on one (1) machine for the purposes of
-instrumenting source code and generating reports. There are no
-limitations on the use of the instrumented source code or generated
-reports produced by Server Edition.
-
-b) Workstation Edition
-
-A Workstation Edition license entitles the licensee to use Clover
-Workstation Edition on one (1) machine by one (1) individual end
-user. Workstation Edition does not permit the generation of reports
-for distribution.
-
-c) Team Edition
-
-A Team Edition license entitles the licensee to use Clover Team
-edition on any number of machines solely by the licensed number of
-users. Reports generated by Clover Team Edition are strictly for use
-only by the licensed number of individual end users.
-
-2. License Fee
-
-In exchange for the License(s), the Licensee shall pay to Cenqua a
-one-time, up front, non-refundable license fee. At the sole discretion
-of Cenqua this fee will be waived for non-commercial
-projects. Notwithstanding the Licensee's payment of the License Fee,
-Cenqua reserves the right to terminate the License if Cenqua discovers
-that the Licensee and/or the Licensee's use of the Software is in
-breach of this Agreement.
-
-3. Proprietary Rights
-
-Cenqua will retain all right, title and interest in and to the
-Software, all copies thereof, and Cenqua website(s), software, and
-other intellectual property, including, but not limited to, ownership
-of all copyrights, look and feel, trademark rights, design rights,
-trade secret rights and any and all other intellectual property and
-other proprietary rights therein. The Licensee will not directly or
-indirectly obtain or attempt to obtain at any time, any right, title
-or interest by registration or otherwise in or to the trademarks,
-service marks, copyrights, trade names, symbols, logos or designations
-or other intellectual property rights owned or used by Cenqua. All
-technical manuals or other information provided by Cenqua to the
-Licensee shall be the sole property of Cenqua.
-
-4. Term and Termination
-
-Subject to the other provisions hereof, this Agreement shall commence
-upon the Licensee's opting into this Agreement and continue until the
-Licensee discontinues use of the Software or the Agreement terminates
-automatically upon the Licensee's breach of any term or condition of
-this Agreement (the "Term"). Upon any such termination, the Licensee
-will delete the Software immediately.
-
-5. Copying & Transfer
-
-The Licensee may copy the Software for back-up purposes only. The
-Licensee may not assign or otherwise transfer the Software to any
-third party.
-
-6. Specific Disclaimer of Warranty and Limitation of Liability
-
-THE SOFTWARE IS PROVIDED WITHOUT WARRANTY OF ANY KIND. CENQUA
-DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT
-LIMITED TO THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE. CENQUA WILL NOT BE LIABLE FOR ANY DAMAGES
-ASSOCIATED WITH THE SOFTWARE, INCLUDING, WITHOUT LIMITATION, ORDINARY,
-INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES OF ANY KIND, INCLUDING
-BUT NOT LIMITED TO DAMAGES RELATING TO LOST DATA OR LOST PROFITS, EVEN
-IF CENQUA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-7. Warranties and Representations
-
-Licensee Indemnification. CENQUA agrees to indemnify, defend and hold
-the Licensee harmless from and against any and all liabilities, 
-damages, losses, claims, costs, and expenses (including reasonable 
-legal fees) arising out of or resulting from the Software or the use 
-thereof infringing upon, misappropriating or violating any patents, 
-copyrights, trademarks, or trade secret rights or other proprietary 
-rights of persons, firms or entities who are not parties to this 
-Agreement.
-
-CENQUA Indemnification. The Licensee warrants and represents that the 
-Licensee's actions with regard to the Software will be in compliance 
-with all applicable  laws; and the Licensee agrees to indemnify, 
-defend, and hold CENQUA harmless  from and against any and all 
-liabilities, damages, losses, claims, costs,  and expenses (including 
-reasonable legal fees) arising out of or resulting  from the 
-Licensee's failure to observe the use restrictions set forth herein.
-
-8. Publicity
-
-The Licensee grants permission for CENQUA to use Licensee's name 
-solely in customer lists. CENQUA shall not, without prior consent in 
-writing, use the Licensee's name, or that of its affiliates, in any 
-form with the specific  exception of customer lists. CENQUA agrees to 
-remove Licensee's name from  any and all materials within 7 days if 
-notified by the Licensee in writing.
-
-9. Governing Law
-
-This Agreement shall be governed by the laws of New South Wales, 
-Australia.
-
-10. Independent Contractors
-
-The parties are independent contractors with respect to each  other, 
-and nothing in this Agreement shall be construed as creating an 
-employer-employee  relationship, a partnership, agency relationship or 
-a joint venture between  the parties.
-
-11. Assignment
-
-This Agreement is not assignable or transferable by the Licensee. 
-CENQUA  in its sole discretion may transfer a license to a third party 
-at the written  request of the Licensee.
-
-12. Entire Agreement
-
-This Agreement constitutes the entire agreement between the parties 
-concerning  the Licensee's use of the Software. This Agreement 
-supersedes any prior verbal understanding between the parties and any 
-Licensee purchase order or other  ordering document, regardless of 
-whether such document is received by CENQUA  before or after execution 
-of this Agreement. This Agreement may be amended  only in writing by 
-CENQUA.
diff --git a/config/project-config/pom.xml b/config/project-config/pom.xml
index 2f48b3b..84e7f98 100644
--- a/config/project-config/pom.xml
+++ b/config/project-config/pom.xml
@@ -181,12 +181,6 @@
         <extensions>
             <extension>
                 <groupId>org.apache.geronimo.genesis.config</groupId>
-                <artifactId>clover-config</artifactId>
-                <version>1.0</version>
-            </extension>
-            
-            <extension>
-                <groupId>org.apache.geronimo.genesis.config</groupId>
                 <artifactId>checkstyle-config</artifactId>
                 <version>1.0</version>
             </extension>
@@ -240,18 +234,6 @@
                 
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-clover-plugin</artifactId>
-                    <version>2.2</version>
-                    <configuration>
-                        <generateHtml>true</generateHtml>
-                        <jdk>1.4</jdk>
-                        <!-- Pulled as resource from clover-config plugin -->
-                        <licenseLocation>org/apache/geronimo/clover.license</licenseLocation>
-                    </configuration>
-                </plugin>
-                
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-one-plugin</artifactId>
                     <version>1.0</version>
                 </plugin>
@@ -322,19 +304,6 @@
         </pluginManagement>
         
         <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-clover-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <phase>pre-site</phase>
-                        <goals>
-                            <goal>instrument</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            
             <!--
             NOTE: Project pom should define:
             
@@ -554,12 +523,6 @@
             
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-clover-plugin</artifactId>
-                <version>2.2</version>
-            </plugin>
-            
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-checkstyle-plugin</artifactId>
                 <version>2.1</version>
                 <configuration>
diff --git a/plugins/pom.xml b/plugins/pom.xml
index 5e43b39..549627a 100644
--- a/plugins/pom.xml
+++ b/plugins/pom.xml
@@ -89,12 +89,6 @@
         <extensions>
             <extension>
                 <groupId>org.apache.geronimo.genesis.config</groupId>
-                <artifactId>clover-config</artifactId>
-                <version>1.0</version>
-            </extension>
-            
-            <extension>
-                <groupId>org.apache.geronimo.genesis.config</groupId>
                 <artifactId>checkstyle-config</artifactId>
                 <version>1.0</version>
             </extension>
@@ -183,12 +177,6 @@
             
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-clover-plugin</artifactId>
-                <version>2.2</version>
-            </plugin>
-            
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-checkstyle-plugin</artifactId>
                 <version>2.1</version>
                 <configuration>
diff --git a/pom.xml b/pom.xml
index 90325b5..ab77a4f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -144,10 +144,26 @@
             </activation>
             
             <modules>
-                <module>config/clover-config</module>
                 <module>config/checkstyle-config</module>
             </modules>
         </profile>
+        
+        <profile>
+            <id>pre-release</id>
+            <activation>
+                <property>
+                    <name>env</name>
+                    <value>pre-release</value>
+                </property>
+            </activation>
+            
+            <distributionManagement>
+                <repository>
+                    <id>apache-releases</id>
+                    <url>scp://people.apache.org//home/jdillon/public_html/repository</url>
+                </repository>
+            </distributionManagement>
+        </profile>
     </profiles>
     
 </project>
