Creating configuration-2.0-RC1 tag.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/tags/CONFIGURATION_2_0_RC1@1735904 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 9b0cf54..d2a30ea 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -39,6 +39,9 @@
 
 Changes:
 ========
+o CONFIGURATION-621:
+  Moved ConfigurationLogger class to io package to avoid cyclic dependencies
+  between packages.
 o CONFIGURATION-619:
   CombinedConfigurationBuilder now supports inheritance of its parameters to
   child configuration sources. This is enabled by default.
diff --git a/pom.xml b/pom.xml
index 42aa7b9..74f6654 100644
--- a/pom.xml
+++ b/pom.xml
@@ -509,19 +509,6 @@
           </configuration>
         </plugin>
         <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-source-plugin</artifactId>
-          <executions>
-            <execution>
-              <id>attach-sources</id>
-              <phase>install</phase>
-              <goals>
-                <goal>jar</goal>
-              </goals>
-            </execution>
-          </executions>
-        </plugin>
-        <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>javacc-maven-plugin</artifactId>
           <version>2.6</version>
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 8a5c6da..2374855 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -27,6 +27,10 @@
   <body>
     <release version="2.0" date="in SVN"
       description="TBD">
+      <action dev="oheger" type="update" issue="CONFIGURATION-621">
+        Moved ConfigurationLogger class to io package to avoid cyclic
+        dependencies between packages.
+      </action>
       <action dev="oheger" type="fix" issue="CONFIGURATION-620" due-to="Mark Vedder">
         Fixed two invalid examples in the user's guide for file-based
         configurations.
diff --git a/src/main/assembly/bin.xml b/src/main/assembly/bin.xml
index 32fbeba..2f13548 100644
--- a/src/main/assembly/bin.xml
+++ b/src/main/assembly/bin.xml
@@ -20,14 +20,13 @@
     <format>tar.gz</format>
     <format>zip</format>
   </formats>
-  <baseDirectory>${artifactId}-${commons.release.2.version}</baseDirectory>
+  <baseDirectory>${artifactId}-${commons.release.version}</baseDirectory>
   <fileSets>
     <fileSet>
       <includes>
         <include>LICENSE*</include>
         <include>NOTICE*</include>
         <include>RELEASE-NOTES*</include>
-        <include>pom.xml</include>
       </includes>
     </fileSet>
     <fileSet>
diff --git a/src/main/assembly/src.xml b/src/main/assembly/src.xml
index b292b35..c47df19 100644
--- a/src/main/assembly/src.xml
+++ b/src/main/assembly/src.xml
@@ -20,7 +20,7 @@
     <format>tar.gz</format>
     <format>zip</format>
   </formats>
-  <baseDirectory>${artifactId}-${commons.release.2.version}-src</baseDirectory>
+  <baseDirectory>${artifactId}-${commons.release.version}-src</baseDirectory>
   <fileSets>
     <fileSet>
       <includes>
diff --git a/src/main/java/org/apache/commons/configuration2/AbstractConfiguration.java b/src/main/java/org/apache/commons/configuration2/AbstractConfiguration.java
index f41d632..9f43c6f 100644
--- a/src/main/java/org/apache/commons/configuration2/AbstractConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/AbstractConfiguration.java
@@ -42,6 +42,7 @@
 import org.apache.commons.configuration2.interpol.ConfigurationInterpolator;
 import org.apache.commons.configuration2.interpol.InterpolatorSpecification;
 import org.apache.commons.configuration2.interpol.Lookup;
+import org.apache.commons.configuration2.io.ConfigurationLogger;
 import org.apache.commons.configuration2.sync.LockMode;
 import org.apache.commons.configuration2.sync.NoOpSynchronizer;
 import org.apache.commons.configuration2.sync.Synchronizer;
diff --git a/src/main/java/org/apache/commons/configuration2/DatabaseConfiguration.java b/src/main/java/org/apache/commons/configuration2/DatabaseConfiguration.java
index 9e6a110..aedc43c 100644
--- a/src/main/java/org/apache/commons/configuration2/DatabaseConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/DatabaseConfiguration.java
@@ -34,6 +34,7 @@
 import org.apache.commons.configuration2.event.ConfigurationErrorEvent;
 import org.apache.commons.configuration2.event.ConfigurationEvent;
 import org.apache.commons.configuration2.event.EventType;
+import org.apache.commons.configuration2.io.ConfigurationLogger;
 import org.apache.commons.lang3.StringUtils;
 
 /**
diff --git a/src/main/java/org/apache/commons/configuration2/DynamicCombinedConfiguration.java b/src/main/java/org/apache/commons/configuration2/DynamicCombinedConfiguration.java
index a4493c0..98b145f 100644
--- a/src/main/java/org/apache/commons/configuration2/DynamicCombinedConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/DynamicCombinedConfiguration.java
@@ -35,6 +35,7 @@
 import org.apache.commons.configuration2.event.EventType;
 import org.apache.commons.configuration2.interpol.ConfigurationInterpolator;
 import org.apache.commons.configuration2.interpol.Lookup;
+import org.apache.commons.configuration2.io.ConfigurationLogger;
 import org.apache.commons.configuration2.tree.ExpressionEngine;
 import org.apache.commons.configuration2.tree.ImmutableNode;
 import org.apache.commons.configuration2.tree.NodeCombiner;
diff --git a/src/main/java/org/apache/commons/configuration2/JNDIConfiguration.java b/src/main/java/org/apache/commons/configuration2/JNDIConfiguration.java
index f25f061..15e0ace 100644
--- a/src/main/java/org/apache/commons/configuration2/JNDIConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/JNDIConfiguration.java
@@ -32,6 +32,7 @@
 import java.util.Set;
 
 import org.apache.commons.configuration2.event.ConfigurationErrorEvent;
+import org.apache.commons.configuration2.io.ConfigurationLogger;
 import org.apache.commons.lang3.StringUtils;
 
 /**
diff --git a/src/main/java/org/apache/commons/configuration2/XMLConfiguration.java b/src/main/java/org/apache/commons/configuration2/XMLConfiguration.java
index 42d9a6a..72a012e 100644
--- a/src/main/java/org/apache/commons/configuration2/XMLConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/XMLConfiguration.java
@@ -42,6 +42,7 @@
 
 import org.apache.commons.configuration2.convert.ListDelimiterHandler;
 import org.apache.commons.configuration2.ex.ConfigurationException;
+import org.apache.commons.configuration2.io.ConfigurationLogger;
 import org.apache.commons.configuration2.io.FileLocator;
 import org.apache.commons.configuration2.io.FileLocatorAware;
 import org.apache.commons.configuration2.io.InputStreamSupport;
diff --git a/src/main/java/org/apache/commons/configuration2/builder/BasicBuilderParameters.java b/src/main/java/org/apache/commons/configuration2/builder/BasicBuilderParameters.java
index 4eeaea0..254d97a 100644
--- a/src/main/java/org/apache/commons/configuration2/builder/BasicBuilderParameters.java
+++ b/src/main/java/org/apache/commons/configuration2/builder/BasicBuilderParameters.java
@@ -22,7 +22,7 @@
 import java.util.Map;
 
 import org.apache.commons.configuration2.ConfigurationDecoder;
-import org.apache.commons.configuration2.ConfigurationLogger;
+import org.apache.commons.configuration2.io.ConfigurationLogger;
 import org.apache.commons.configuration2.beanutils.BeanHelper;
 import org.apache.commons.configuration2.convert.ConversionHandler;
 import org.apache.commons.configuration2.convert.ListDelimiterHandler;
diff --git a/src/main/java/org/apache/commons/configuration2/builder/BasicBuilderProperties.java b/src/main/java/org/apache/commons/configuration2/builder/BasicBuilderProperties.java
index 2ca0752..c5d8ed5 100644
--- a/src/main/java/org/apache/commons/configuration2/builder/BasicBuilderProperties.java
+++ b/src/main/java/org/apache/commons/configuration2/builder/BasicBuilderProperties.java
@@ -20,7 +20,7 @@
 import java.util.Map;
 
 import org.apache.commons.configuration2.ConfigurationDecoder;
-import org.apache.commons.configuration2.ConfigurationLogger;
+import org.apache.commons.configuration2.io.ConfigurationLogger;
 import org.apache.commons.configuration2.beanutils.BeanHelper;
 import org.apache.commons.configuration2.convert.ConversionHandler;
 import org.apache.commons.configuration2.convert.ListDelimiterHandler;
diff --git a/src/main/java/org/apache/commons/configuration2/interpol/ExprLookup.java b/src/main/java/org/apache/commons/configuration2/interpol/ExprLookup.java
index 40a71e0..dc9a1f5 100644
--- a/src/main/java/org/apache/commons/configuration2/interpol/ExprLookup.java
+++ b/src/main/java/org/apache/commons/configuration2/interpol/ExprLookup.java
@@ -18,7 +18,7 @@
 
 import java.util.ArrayList;
 
-import org.apache.commons.configuration2.ConfigurationLogger;
+import org.apache.commons.configuration2.io.ConfigurationLogger;
 import org.apache.commons.configuration2.ex.ConfigurationRuntimeException;
 import org.apache.commons.jexl2.Expression;
 import org.apache.commons.jexl2.JexlContext;
diff --git a/src/main/java/org/apache/commons/configuration2/ConfigurationLogger.java b/src/main/java/org/apache/commons/configuration2/io/ConfigurationLogger.java
similarity index 97%
rename from src/main/java/org/apache/commons/configuration2/ConfigurationLogger.java
rename to src/main/java/org/apache/commons/configuration2/io/ConfigurationLogger.java
index eebb5f1..a84d4d3 100644
--- a/src/main/java/org/apache/commons/configuration2/ConfigurationLogger.java
+++ b/src/main/java/org/apache/commons/configuration2/io/ConfigurationLogger.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.configuration2;
+package org.apache.commons.configuration2.io;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -30,7 +30,8 @@
  * useful for diagnostic purposes. Therefore, <em>Commons Configuration</em>
  * produces some logging output. As concrete projects have different
  * requirements on the amount and detail of logging, there is a way of
- * configuring logging: All classes derived from {@link AbstractConfiguration}
+ * configuring logging: All classes derived from
+ * {@link org.apache.commons.configuration2.AbstractConfiguration}
  * can be assigned a logger which is then used for all log statements generated.
  * </p>
  * <p>
diff --git a/src/main/java/org/apache/commons/configuration2/io/FileSystem.java b/src/main/java/org/apache/commons/configuration2/io/FileSystem.java
index fa22eba..fc8f59c 100644
--- a/src/main/java/org/apache/commons/configuration2/io/FileSystem.java
+++ b/src/main/java/org/apache/commons/configuration2/io/FileSystem.java
@@ -22,7 +22,6 @@
 import java.net.MalformedURLException;
 import java.net.URL;
 
-import org.apache.commons.configuration2.ConfigurationLogger;
 import org.apache.commons.configuration2.ex.ConfigurationException;
 
 /**
diff --git a/src/main/java/org/apache/commons/configuration2/resolver/CatalogResolver.java b/src/main/java/org/apache/commons/configuration2/resolver/CatalogResolver.java
index 3e600cb..f0353c5 100644
--- a/src/main/java/org/apache/commons/configuration2/resolver/CatalogResolver.java
+++ b/src/main/java/org/apache/commons/configuration2/resolver/CatalogResolver.java
@@ -23,7 +23,7 @@
 import java.net.URLConnection;
 import java.util.Vector;
 
-import org.apache.commons.configuration2.ConfigurationLogger;
+import org.apache.commons.configuration2.io.ConfigurationLogger;
 import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.commons.configuration2.interpol.ConfigurationInterpolator;
 import org.apache.commons.configuration2.io.FileLocator;
diff --git a/src/test/java/org/apache/commons/configuration2/TestAbstractConfiguration.java b/src/test/java/org/apache/commons/configuration2/TestAbstractConfiguration.java
index ff370a6..dde4651 100644
--- a/src/test/java/org/apache/commons/configuration2/TestAbstractConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/TestAbstractConfiguration.java
@@ -32,6 +32,7 @@
 
 import junitx.framework.ListAssert;
 import org.apache.commons.configuration2.ex.ConversionException;
+import org.apache.commons.configuration2.io.ConfigurationLogger;
 import org.junit.Test;
 
 /**
diff --git a/src/test/java/org/apache/commons/configuration2/TestAbstractConfigurationBasicFeatures.java b/src/test/java/org/apache/commons/configuration2/TestAbstractConfigurationBasicFeatures.java
index 3b4b4aa..ac505c4 100644
--- a/src/test/java/org/apache/commons/configuration2/TestAbstractConfigurationBasicFeatures.java
+++ b/src/test/java/org/apache/commons/configuration2/TestAbstractConfigurationBasicFeatures.java
@@ -16,13 +16,10 @@
  */
 package org.apache.commons.configuration2;
 
-import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.hamcrest.CoreMatchers.sameInstance;
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 
 import java.util.ArrayList;
@@ -44,7 +41,6 @@
 import org.apache.commons.configuration2.event.EventType;
 import org.apache.commons.configuration2.interpol.ConfigurationInterpolator;
 import org.apache.commons.configuration2.interpol.Lookup;
-import org.apache.commons.logging.impl.NoOpLog;
 import org.easymock.EasyMock;
 import org.junit.Test;
 
@@ -66,42 +62,6 @@
     private static final int PROP_COUNT = 12;
 
     /**
-     * Tests the logger set per default.
-     */
-    @Test
-    public void testDefaultLogger()
-    {
-        AbstractConfiguration config = new BaseConfiguration();
-        assertThat("Wrong default logger", config.getLogger().getLog(), instanceOf(NoOpLog.class));
-    }
-
-    /**
-     * Tests whether the logger can be set.
-     */
-    @Test
-    public void testSetLogger()
-    {
-        ConfigurationLogger logger = new ConfigurationLogger(getClass());
-        AbstractConfiguration config = new BaseConfiguration();
-
-        config.setLogger(logger);
-        assertThat("Logger not set", config.getLogger(), sameInstance(logger));
-    }
-
-    /**
-     * Tests that the logger can be disabled by setting it to null.
-     */
-    @Test
-    public void testSetLoggerNull()
-    {
-        AbstractConfiguration config = new BaseConfiguration();
-        config.setLogger(new ConfigurationLogger(getClass()));
-
-        config.setLogger(null);
-        assertThat("Logger not disabled", config.getLogger().getLog(), instanceOf(NoOpLog.class));
-    }
-
-    /**
      * Tests the clear() implementation of AbstractConfiguration if the iterator
      * returned by getKeys() does not support the remove() operation.
      */
diff --git a/src/test/java/org/apache/commons/configuration2/TestCatalogResolver.java b/src/test/java/org/apache/commons/configuration2/TestCatalogResolver.java
index 864688c..c9595c7 100644
--- a/src/test/java/org/apache/commons/configuration2/TestCatalogResolver.java
+++ b/src/test/java/org/apache/commons/configuration2/TestCatalogResolver.java
@@ -21,6 +21,7 @@
 import static org.junit.Assert.assertSame;
 
 import org.apache.commons.configuration2.ex.ConfigurationException;
+import org.apache.commons.configuration2.io.ConfigurationLogger;
 import org.apache.commons.configuration2.io.FileHandler;
 import org.apache.commons.configuration2.resolver.CatalogResolver;
 import org.junit.After;
diff --git a/src/test/java/org/apache/commons/configuration2/builder/TestBasicBuilderParameters.java b/src/test/java/org/apache/commons/configuration2/builder/TestBasicBuilderParameters.java
index 6df28ed..25e2942 100644
--- a/src/test/java/org/apache/commons/configuration2/builder/TestBasicBuilderParameters.java
+++ b/src/test/java/org/apache/commons/configuration2/builder/TestBasicBuilderParameters.java
@@ -30,7 +30,7 @@
 import java.util.Map;
 
 import org.apache.commons.configuration2.ConfigurationDecoder;
-import org.apache.commons.configuration2.ConfigurationLogger;
+import org.apache.commons.configuration2.io.ConfigurationLogger;
 import org.apache.commons.configuration2.beanutils.BeanHelper;
 import org.apache.commons.configuration2.convert.ConversionHandler;
 import org.apache.commons.configuration2.convert.DefaultConversionHandler;
diff --git a/src/test/java/org/apache/commons/configuration2/interpol/TestExprLookup.java b/src/test/java/org/apache/commons/configuration2/interpol/TestExprLookup.java
index 654d79c..d417046 100644
--- a/src/test/java/org/apache/commons/configuration2/interpol/TestExprLookup.java
+++ b/src/test/java/org/apache/commons/configuration2/interpol/TestExprLookup.java
@@ -22,7 +22,7 @@
 import java.io.File;
 
 import org.apache.commons.configuration2.ConfigurationAssert;
-import org.apache.commons.configuration2.ConfigurationLogger;
+import org.apache.commons.configuration2.io.ConfigurationLogger;
 import org.apache.commons.configuration2.XMLConfiguration;
 import org.apache.commons.configuration2.io.FileHandler;
 import org.apache.commons.logging.Log;
diff --git a/src/test/java/org/apache/commons/configuration2/TestConfigurationLogger.java b/src/test/java/org/apache/commons/configuration2/io/TestConfigurationLogger.java
similarity index 82%
rename from src/test/java/org/apache/commons/configuration2/TestConfigurationLogger.java
rename to src/test/java/org/apache/commons/configuration2/io/TestConfigurationLogger.java
index 059d4b6..20382c4 100644
--- a/src/test/java/org/apache/commons/configuration2/TestConfigurationLogger.java
+++ b/src/test/java/org/apache/commons/configuration2/io/TestConfigurationLogger.java
@@ -15,9 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.commons.configuration2;
+package org.apache.commons.configuration2.io;
 
 import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.hamcrest.CoreMatchers.sameInstance;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
@@ -25,6 +26,8 @@
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 
+import org.apache.commons.configuration2.AbstractConfiguration;
+import org.apache.commons.configuration2.BaseConfiguration;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.impl.NoOpLog;
 import org.easymock.EasyMock;
@@ -227,4 +230,40 @@
         logger.info(MSG);
         assertEquals("Message not logged", MSG, buf.toString());
     }
+
+    /**
+     * Tests the logger set per default.
+     */
+    @Test
+    public void testAbstractConfigurationDefaultLogger()
+    {
+        AbstractConfiguration config = new BaseConfiguration();
+        assertThat("Wrong default logger", config.getLogger().getLog(), instanceOf(NoOpLog.class));
+    }
+
+    /**
+     * Tests whether the logger can be set.
+     */
+    @Test
+    public void testAbstractConfigurationSetLogger()
+    {
+        ConfigurationLogger logger = new ConfigurationLogger(getClass());
+        AbstractConfiguration config = new BaseConfiguration();
+
+        config.setLogger(logger);
+        assertThat("Logger not set", config.getLogger(), sameInstance(logger));
+    }
+
+    /**
+     * Tests that the logger can be disabled by setting it to null.
+     */
+    @Test
+    public void testAbstractConfigurationSetLoggerNull()
+    {
+        AbstractConfiguration config = new BaseConfiguration();
+        config.setLogger(new ConfigurationLogger(getClass()));
+
+        config.setLogger(null);
+        assertThat("Logger not disabled", config.getLogger().getLog(), instanceOf(NoOpLog.class));
+    }
 }
diff --git a/src/test/java/org/apache/commons/configuration2/io/TestDefaultFileSystem.java b/src/test/java/org/apache/commons/configuration2/io/TestDefaultFileSystem.java
index e46703a..01c90ed 100644
--- a/src/test/java/org/apache/commons/configuration2/io/TestDefaultFileSystem.java
+++ b/src/test/java/org/apache/commons/configuration2/io/TestDefaultFileSystem.java
@@ -21,7 +21,6 @@
 
 import java.io.File;
 
-import org.apache.commons.configuration2.ConfigurationLogger;
 import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.junit.Before;
 import org.junit.Test;